Generador de UUID

Crea UUID aleatorios de versión 4 o UUID de versión 7 ordenados por tiempo, uno o mil a la vez, en el formato que espera tu código. Pega cualquier UUID más abajo para leer su versión, su variante y su timestamp.

Versión

122 bits aleatorios del generador criptográfico de tu navegador. La opción habitual.

Formato

Generando en tu navegador…

¿Estás creando una aplicación que necesita identificadores como estos? También necesita un servidor. Desde 3,02 € al mes hoy, entre 2226 servidores.

Comprobar un UUID

Pega un UUID para ver qué contiene.

Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.

Cómo se crean los UUID

Un UUID son 128 bits escritos como 32 dígitos hexadecimales en cinco grupos. Cuatro bits indican la versión y dos o tres bits la variante; el resto depende de la versión. La RFC 9562, publicada en 2024, sustituyó a la antigua RFC 4122 y añadió las versiones 6, 7 y 8.

v4  xxxxxxxx-xxxx-4xxx-Vxxx-xxxxxxxxxxxx
v7  tttttttt-tttt-7ccc-Vxxx-xxxxxxxxxxxx

t = Unix time in ms (48 bits)
c = counter or random (12 bits)
x = random, V = 8, 9, a or b

La versión 4 rellena los otros 122 bits con datos aleatorios; esta página se los pide al generador de números aleatorios criptográfico de tu navegador. La versión 7 empieza con el tiempo Unix en milisegundos (48 bits), de modo que los UUID creados más tarde se ordenan después de los anteriores, y rellena el resto con bits aleatorios. Cuando se crean muchos en el mismo milisegundo, los 12 bits posteriores a la versión funcionan como un contador, como permite la RFC 9562, así que una lista de 1000 sigue en orden.

El comprobador lee los bits de versión y de variante de cualquier UUID y, en las versiones 1, 6 y 7, la hora que lleva guardada. Un UUID v4 no contiene ninguna hora, así que de él solo se puede leer su versión.

Ejemplo

El ejemplo de la RFC 9562 es 017f22e2-79b0-7cc3-98c4-dc0c0c07398f. Los primeros 12 dígitos hexadecimales, 017f22e279b0, son 1 645 557 742 000 milisegundos desde 1970: el 22 de febrero de 2022, 19:22:22 UTC. El 7 después del segundo guion es la versión, y el 9 después del tercero marca la variante estándar.

Preguntas

UUID v4 o v7: ¿cuál debería usar?

Usa v7 para las claves primarias de las bases de datos: las filas nuevas reciben ID mayores, así que van al final del índice en lugar de a sitios aleatorios, lo que mantiene rápidas las inserciones y compactos los índices. Usa v4 cuando el ID no deba revelar cuándo se creó, por ejemplo en un enlace público. Ambos son suficientemente únicos para cualquier fin práctico.

¿Pueden dos UUID ser iguales alguna vez?

En teoría sí, en la práctica no. Un UUID v4 tiene 122 bits aleatorios: tendrías que crear unos 2,7 trillones (2,7 × 10^18) para tener un 50 % de probabilidad de un solo duplicado. Un UUID v7 tiene entre 62 y 74 bits aleatorios tras su timestamp en milisegundos, según cómo se cree, así que una colisión exigiría cantidades enormes creadas en el mismo milisegundo. Los duplicados los causan los malos generadores de números aleatorios, no el formato.

¿Un GUID es lo mismo que un UUID?

Sí. GUID es el nombre que da Microsoft al mismo identificador de 128 bits, y Guid.NewGuid() en .NET crea un UUID de versión 4. Las herramientas de Microsoft suelen escribir los GUID en mayúsculas y entre llaves: usa las opciones de arriba para obtener esa forma.

¿Un UUID v7 revela cuándo se creó?

Sí, con precisión de milisegundo: pega uno en el comprobador de arriba y verás la hora. Eso es lo que hace que se ordenen bien, pero también le dice a cualquiera que vea el ID cuándo se creó el registro. Si eso importa, usa v4 para los ID que muestres en público.

¿Cómo creo un UUID en la línea de comandos?

En Linux: cat /proc/sys/kernel/random/uuid o uuidgen. En macOS: uuidgen (en mayúsculas). En PostgreSQL: gen_random_uuid() para v4 y uuidv7() desde la versión 18. En Python: import uuid; uuid.uuid4() y uuid.uuid7() desde Python 3.14. En JavaScript: crypto.randomUUID().