Calculateur SemVer

Saisissez une version pour voir ses parties, sa place par rapport à une autre version, sa prochaine incrémentation et si elle satisfait une plage npm. La page suit les règles de SemVer 2.0.0 et la syntaxe des plages de node-semver.

Gratuit Fonctionne dans votre navigateur Vérifié le mardi 10 novembre 2026

Une version comme 1.4.0, avec une partie facultative de préversion (-) et de build (+).

Une autre version à situer par rapport à la première. Laissez vide pour ne pas comparer.

La partie à augmenter de un. Les parties situées en dessous reviennent à 0.

Une plage npm comme ^1.3.0, ~1.2 ou >=1.2.0 <2.0.0. Laissez vide pour ne pas vérifier.

Résultat

Version incrémentée — La version après l'incrémentation choisie.
Ordre — Laquelle des deux versions vient en premier selon la priorité SemVer.
Vérification de la plage — Indique si la version satisfait la plage.
Parties de la version

Lecture de la plage

Cet outil fonctionne dans votre navigateur. Ce que vous saisissez ne nous est pas envoyé.

Mode d'emploi

  1. Saisissez une Version, comme 1.4.0, et si vous voulez, une version à Comparer avec pour la situer.
  2. Choisissez une Incrémentation pour voir la version suivante. Pour une incrémentation Préversion, nommez-la dans Nom de la préversion.
  3. Saisissez une Plage pour vérifier si la version la satisfait, et lisez Lecture de la plage pour voir ce que représente chaque partie.
  4. Lisez Version incrémentée, Ordre et Vérification de la plage pour la réponse voulue.

Comment les versions sont ordonnées

SemVer 2.0.0 compare les numéros majeur, mineur et correctif comme des nombres. Une version avec une étiquette de préversion vient avant la même version sans étiquette. Les identifiants de préversion se comparent un à un : les nombres comme des nombres, le texte dans l'ordre ASCII, et un nombre avant un texte. Les métadonnées de build, la partie après +, ne comptent pas.

  • L'ordre des exemples de la spécification : 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-alpha.beta, 1.0.0-beta, 1.0.0-beta.2, 1.0.0-beta.11, 1.0.0-rc.1, 1.0.0.
  • Un v initial, comme dans v1.4.0, est accepté et ne fait pas partie de la version.

Comment fonctionne une incrémentation

Une incrémentation majeure augmente le premier nombre et met les deux autres à 0. Une incrémentation mineure ou correctif fait de même pour sa partie. Une version qui est encore une préversion perd son étiquette lorsque l'incrémentation ferait de toute façon une version finale : 1.0.0-alpha devient 1.0.0 avec une incrémentation majeure, comme le fait node-semver. Une incrémentation de préversion démarre le correctif suivant avec le nom que vous donnez, comme 1.4.1-beta.0, ou compte le dernier nombre d'une préversion existante, comme beta.1 vers beta.2.

Comment les plages sont lues

La syntaxe des plages suit node-semver, le paquet qu'utilise npm, et sa grammaire décrite dans le README. Chaque forme représente des comparateurs : ^1.3.0 signifie >=1.3.0 <2.0.0-0, ~1.2.3 signifie >=1.2.3 <1.3.0-0, et 1.2.x signifie >=1.2.0 <1.3.0-0. Les comparateurs d'un même ensemble doivent tous être vrais. Les ensembles reliés par || sont des solutions de rechange, et un ensemble vide accepte toute version, comme le fait *.

Préversions et plages

Une préversion comme 1.5.0-beta.1 ne satisfait une plage que lorsqu'un des comparateurs de son ensemble porte le même 1.5.0 avec une étiquette de préversion. Les versions inachevées restent donc hors des plages par défaut, comme l'explique le README de node-semver. La vérification de cette page suit cette règle.

Exemple détaillé : 1.4.0 avec une incrémentation mineure et ^1.3.0 || 2.x

La version 1.4.0 est supérieure à 1.4.0-beta.2, car une version finale est supérieure à sa préversion. Une incrémentation mineure donne 1.5.0. La plage ^1.3.0 || 2.x se lit >=1.3.0 <2.0.0-0 ou >=2.0.0 <3.0.0-0, et 1.4.0 satisfait le premier ensemble.

Saisie Résultat
1.4.0 comparée à 1.4.0-beta.2 1.4.0 est supérieure à 1.4.0-beta.2.
Incrémentation mineure de 1.4.0 1.5.0
1.4.0 dans ^1.3.0 || 2.x 1.4.0 satisfait ^1.3.0 || 2.x.

Questions fréquentes

1.0.0+build.1 est-elle la même version que 1.0.0 ?

Pour l'ordre et les plages, oui. Les métadonnées de build après + ne comptent pas dans la priorité SemVer : les deux versions ont donc la même place dans un ordre. La page affiche tout de même le texte de build, pour que vous puissiez le voir.

Pourquoi 1.4.0-beta.2 est-elle inférieure à 1.4.0 ?

Une préversion est instable et peut ne pas tenir la compatibilité que promet son numéro : SemVer la place donc avant la version finale de mêmes numéros. Ainsi, 1.4.0-beta.2 vient avant 1.4.0, et 1.4.0 avant 1.4.1.

^1.3.0 accepte-t-il 2.0.0 ?

Non. Une plage en accent circonflexe garde le premier nombre non nul à gauche : ^1.3.0 signifie au moins 1.3.0 et inférieur à 2.0.0. Ajoutez || 2.x si la seconde majeure doit être acceptée, comme dans l'exemple.

Quelle est la différence entre ~1.2 et ^1.2 ?

La plage au tilde ~1.2 signifie >=1.2.0 <1.3.0-0 : elle accepte les changements de correctif comme 1.2.9 et refuse 1.3.0. La plage à l'accent circonflexe ^1.2 signifie >=1.2.0 <2.0.0-0 : elle accepte aussi 1.3.0 et 1.9.9, mais pas 2.0.0.

Pourquoi une plage refuse-t-elle 1.5.0-beta.1 ?

Les préversions sont exclues, sauf si un comparateur nomme la même version avec une étiquette de préversion, comme >=1.5.0-beta.0. node-semver fait ce choix, car les préversions changent vite et peuvent casser des choses.

Mes versions sont-elles envoyées à un serveur ?

Non. La version, la plage et la comparaison sont lues et vérifiées dans votre navigateur, et rien de ce que vous saisissez n'est stocké.

Sources

Chiffres et texte vérifiés pour la dernière fois le mardi 10 novembre 2026.

Nous utilisons des cookies nécessaires au fonctionnement du site. Avec votre accord, Google utilise aussi des cookies publicitaires pour afficher des annonces personnalisées. Si vous les refusez, vous voyez toujours des annonces, mais elles ne sont pas personnalisées.