Calculadora de versiones SemVer

Escriba una versión para ver sus partes, cómo se ordena frente a otra versión, su siguiente subida y si cumple un rango de npm. La página sigue las reglas de SemVer 2.0.0 y la sintaxis de rangos de node-semver.

Gratuita Funciona en su navegador Revisada: martes, 10 de noviembre de 2026

Una versión como 1.4.0, con una parte opcional de prelanzamiento (-…) y de compilación (+…).

Otra versión para ordenarla frente a la primera. Déjelo vacío para no comparar.

La parte que se sube una unidad. Las partes inferiores vuelven a 0.

Un rango de npm, como ^1.3.0, ~1.2 o >=1.2.0 <2.0.0. Déjelo vacío para no hacer la comprobación.

Resultado

Versión tras la subida — La versión después de la subida que eligió.
Orden — Cuál de las dos versiones va primero según la precedencia de SemVer.
Comprobación del rango — Si la versión cumple el rango.
Partes de la versión

Cómo se lee el rango

Esta herramienta funciona en su navegador. Lo que escribe no se envía a nosotros.

Cómo se usa

  1. Escriba una Versión, como 1.4.0, y, si quiere, una versión en Comparar con para ordenarla frente a ella.
  2. Elija una Subida para ver la siguiente versión. Para una subida de Prelanzamiento, dé nombre al prelanzamiento en Nombre del prelanzamiento.
  3. Escriba un Rango para comprobar si la versión lo cumple, y lea Cómo se lee el rango para ver qué significa cada parte.
  4. Lea Versión tras la subida, Orden y Comprobación del rango para la respuesta que necesite.

Cómo se ordenan las versiones

SemVer 2.0.0 compara los números de versión mayor, menor y de parche como números. Una versión con etiqueta de prelanzamiento va antes que la misma versión sin ella. Los identificadores de prelanzamiento se comparan uno a uno: los números como números, el texto en orden ASCII, y un número antes que un texto. Los metadatos de compilación, la parte posterior a +, no cuentan.

  • El orden de los ejemplos de la especificación: 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.
  • Una v inicial, como en v1.4.0, se acepta y no forma parte de la versión.

Cómo funciona una subida

Una subida mayor aumenta el primer número y pone los otros dos a 0. Una subida menor o de parche hace lo mismo con su parte. Una versión que todavía es un prelanzamiento pierde su etiqueta cuando la subida ya la convertiría en versión final: 1.0.0-alpha pasa a 1.0.0 con una subida mayor, como hace node-semver. Una subida de prelanzamiento inicia el siguiente parche con el nombre que dé, como 1.4.1-beta.0, o suma uno al último número de un prelanzamiento existente, como beta.1 a beta.2.

Cómo se leen los rangos

La sintaxis de rangos sigue a node-semver, el paquete que usa npm, y su gramática del README. Cada forma representa comparadores: ^1.3.0 significa >=1.3.0 <2.0.0-0, ~1.2.3 significa >=1.2.3 <1.3.0-0, y 1.2.x significa >=1.2.0 <1.3.0-0. Los comparadores de un mismo conjunto deben cumplirse todos. Los conjuntos unidos por || son alternativas, y un conjunto vacío acepta cualquier versión, como hace *.

Prelanzamientos y rangos

Una versión de prelanzamiento, como 1.5.0-beta.1, cumple un rango solo cuando uno de los comparadores de su conjunto tiene la misma 1.5.0 con una etiqueta de prelanzamiento. Las versiones no terminadas quedan fuera de los rangos por defecto, como explica el README de node-semver. La comprobación de esta página sigue esa regla.

Ejemplo resuelto: 1.4.0 con una subida menor y ^1.3.0 || 2.x

La versión 1.4.0 es mayor que 1.4.0-beta.2, porque una versión final es mayor que su prelanzamiento. Una subida menor da 1.5.0. El rango ^1.3.0 || 2.x se lee como >=1.3.0 <2.0.0-0 o >=2.0.0 <3.0.0-0, y 1.4.0 cumple el primer conjunto.

Dato Resultado
1.4.0 comparada con 1.4.0-beta.2 1.4.0 es mayor que 1.4.0-beta.2.
Subida menor de 1.4.0 1.5.0
1.4.0 en ^1.3.0 || 2.x 1.4.0 cumple ^1.3.0 || 2.x.

Preguntas frecuentes

¿Es 1.0.0+build.1 la misma versión que 1.0.0?

Para ordenar y para los rangos, sí. Los metadatos de compilación posteriores a + no cuentan en la precedencia de SemVer, así que las dos versiones ocupan el mismo lugar en un orden. La página muestra igualmente el texto de compilación para que pueda verlo.

¿Por qué 1.4.0-beta.2 es menor que 1.4.0?

Un prelanzamiento es inestable y puede no cumplir la compatibilidad que promete su número, así que SemVer lo coloca antes de la versión con los mismos números. Por eso 1.4.0-beta.2 va antes que 1.4.0, y 1.4.0 va antes que 1.4.1.

¿Acepta ^1.3.0 la versión 2.0.0?

No. Un rango con circunflejo mantiene el primer número distinto de cero, así que ^1.3.0 significa desde 1.3.0 y menor que 2.0.0. Escriba también || 2.x si quiere aceptar la segunda versión mayor, como hace el ejemplo.

¿Cuál es la diferencia entre ~1.2 y ^1.2?

El rango con virgulilla ~1.2 significa >=1.2.0 <1.3.0-0, así que acepta cambios de parche como 1.2.9 y rechaza 1.3.0. El rango con circunflejo ^1.2 significa >=1.2.0 <2.0.0-0, así que acepta también 1.3.0 y 1.9.9, pero no 2.0.0.

¿Por qué un rango rechaza 1.5.0-beta.1?

Los prelanzamientos quedan fuera salvo que un comparador nombre la misma versión con una etiqueta de prelanzamiento, como >=1.5.0-beta.0. node-semver toma esta decisión porque los prelanzamientos cambian deprisa y pueden romper cosas.

¿Se envían mis versiones a un servidor?

No. La versión, el rango y la comparación se leen y comprueban en su navegador, y no se guarda nada de lo que escribe.

Fuentes

Cifras y texto revisados por última vez el martes, 10 de noviembre de 2026.

Usamos cookies necesarias para que el sitio funcione. Si usted lo acepta, Google también usa cookies publicitarias para mostrar anuncios personalizados. Si las rechaza, seguirá viendo anuncios, pero no estarán personalizados.