Semantic Version Parser

Updated: 2026-07-12
Ad Space - Top (728x90)

Version Number Parsing

Enter a semantic version number (SemVer) to parse its components. Format: MAJOR.MINOR.PATCH[-pre-release][+build metadata]

Quick:
--
MAJOR
--
MINOR
--
PATCH
--
Pre-release
--
Build Metadata

Version Comparison

Compare two semantic version numbers to see which is newer.

Ad Space - Bottom (728x90)

📖 Version Specification

格式:MAJOR.MINOR.PATCH[-预发布][+Build Metadata]

MAJOR: Incompatible API changes (e.g., 1.0→2.0 means breaking changes).

MINOR: Backward-compatible new features (e.g., 1.2→1.3 adds features without breaking existing APIs).

PATCH: Backward-compatible bug fixes (e.g., 1.2.3→1.2.4 fixes a bug).

^ caret: Allows MINOR and PATCH updates (^1.2.3 = >=1.2.3 <2.0.0).

~ tilde: Allows only PATCH updates (~1.2.3 = >=1.2.3 <1.3.0).

❓ FAQ

什么是语义化版本(SemVer)?

语义化版本(Semantic Versioning,简称SemVer)是一种版本号命名规范,格式为 MAJOR.MINOR.PATCH。MAJOR:不兼容的API修改;MINOR:向下兼容的功能新增;PATCH:向下兼容的问题修正。可选后缀包括Pre-release(如-alpha.1)和Build Metadata(如+build.2024)。

^和~符号代表什么?

在npm中,^(caret)允许更新到不改变最左边非零数字的版本。例如^1.2.3表示>=1.2.3 <2.0.0。~(tilde)只允许修订号更新,例如~1.2.3表示>=1.2.3 <1.3.0。这是npm package.json中最常用的版本范围符号。

如何比较两个语义版本?

比较规则:先比较主版本号,大的版本更新;如果相同就比较次版本号;再相同比较修订号。有预发布后缀的版本通常小于正式版本(如1.0.0-alpha < 1.0.0)。Build Metadata不影响版本优先级。本工具的Version Comparison功能可以直观显示哪个版本更新。