Semver 검사기 & 버전 비교기
유의적 버전을 major, minor, patch, 프리릴리스, 빌드 부분으로 분해하고 두 버전을 우선순위로 비교합니다 — 100% 브라우저에서 실행되며 업로드되지 않습니다.
major: 1 minor: 2 patch: 0 prerelease: (없음) build: (없음)
major: 1 minor: 10 patch: 0 prerelease: (없음) build: (없음)
1.2.0 < 1.10.0버전 A가 버전 B보다 낮습니다
변경 유형: minor — 하위 호환 기능 추가
🔒 모든 파싱과 비교는 브라우저에서 처리되며 업로드되지 않습니다.
유의적 버전 파싱 및 비교
1.2.0과 1.10.0 같은 두 버전을 입력하면 각각을 major, minor, patch, 프리릴리스(prerelease), 빌드 메타데이터로 즉시 분해하고, 어느 쪽이 우선순위가 높은지 알려주며, 둘 사이의 변경 유형 — major(호환성 파괴)·minor(기능 추가)·patch(수정)·프리릴리스 태그·빌드 메타데이터만 다름 — 도 함께 알려주어 업그레이드가 호환성을 깨는지 한눈에 볼 수 있습니다. 공식 SemVer 2.0.0 문법을 따르므로 v1.2.3, 1.2, 또는 01.2.3처럼 앞에 0이 붙은 버전은 조용히 통과시키지 않고 유효하지 않은 것으로 표시합니다.
우선순위 판단 방식
major, minor, patch 숫자는 숫자로서 비교됩니다. 그래서 텍스트로는 '2'가 커 보여도 1.10.0이 1.2.0보다 높습니다. 이 값들이 같으면 프리릴리스 버전(예: 1.0.0-alpha)이 일반 릴리스(1.0.0)보다 낮게 평가됩니다. 이후 프리릴리스 식별자는 필드별로 비교되어, 모두 숫자인 필드는 숫자로, 나머지는 ASCII 순서로 비교하며, 숫자 필드가 비숫자 필드보다 낮고, 다른 조건이 같으면 필드가 더 많은 쪽이 이깁니다. + 뒤의 빌드 메타데이터는 표시를 위해 파싱하지만 우선순위 판단에서는 사양 그대로 무시됩니다.
자주 묻는 질문
왜 1.2.0이 1.10.0보다 낮나요?
유의적 버전은 각 부분을 텍스트가 아니라 숫자로 비교하기 때문입니다. 숫자로 10은 2보다 크므로, 문자열로는 '2'가 '1' 뒤에 정렬되더라도 1.10.0이 1.2.0보다 우선순위가 높습니다.
프리릴리스 버전은 어떻게 순위가 정해지나요?
프리릴리스 태그가 있는 버전은 태그가 없는 같은 버전보다 항상 낮습니다. 따라서 1.0.0-alpha는 1.0.0보다 아래입니다. 두 프리릴리스 태그는 식별자별로 비교되며, 숫자 필드는 숫자로, 나머지는 ASCII 순서로 비교하고, 숫자가 영숫자보다 낮으며, 나머지가 모두 같으면 식별자가 더 많은 쪽이 이깁니다.
입력한 내용이 업로드되나요?
아니요. 파싱과 비교는 브라우저 안에서 JavaScript로 전부 처리됩니다. 입력한 버전은 기기를 벗어나지 않고 서버로 전송되지 않으며, 오프라인에서도 도구가 정상 작동합니다.