Comparativas Desarrollo

UUID v4 vs UUID v7 vs ULID

UUID aleatorios, UUID ordenados por tiempo y ULID comparados: disposición de bits, longitud del texto, ordenación, comportamiento en índices de bases de datos y cuándo usar cada uno, con valores de ejemplo decodificados y comprobados.

Última revisión:

AdSense Placeholder
Slot: header_reference_page
En esta página

Los tres producen identificadores de 128 bits que se generan sin consultar a un servidor central. Se diferencian en cómo usan los bits. Genere e inspeccione los valores con Generador de UUID y Decodificador de UUID y ULID; el trasfondo está en Cómo funcionan los UUID.

Valores de ejemplo

  • UUID v4 de ejemplo: f47ac10b-58cc-4372-a567-0e02b2c3d479
  • UUID v7 de ejemplo: 01a17fce-7800-7abc-8123-456789abcdef (sus primeros 48 bits son la hora Unix en milisegundos: 2026-10-28 00:00:00 UTC)
  • ULID de ejemplo: 01M5ZWWY0004HMASW9NF6YY093 (los 10 primeros caracteres son esa misma hora)

De un vistazo

UUID v4 UUID v7 ULID
Bits 122 aleatorios + 6 fijos 48 de tiempo + 74 casi aleatorios + 6 fijos 48 de tiempo + 80 aleatorios
Forma de texto 36 caracteres, hexadecimal con guiones 36 caracteres, hexadecimal con guiones 26 caracteres, Base32 de Crockford
Ordenado por hora de creación No Sí Sí (también como texto)
Revela la hora de creación No Sí, al milisegundo Sí, al milisegundo
Estándar RFC 9562 RFC 9562 Especificación de la comunidad
Localidad en un índice de base de datos Mala (inserciones aleatorias) Buena Buena

Qué significa en la práctica

  • Las claves v4 aleatorias dispersan las inserciones por un índice B-tree, lo que provoca divisiones de página y fallos de caché en tablas grandes. Las v7 y ULID, ordenadas por tiempo, se añaden cerca del final.
  • Los identificadores ordenados por tiempo revelan cuándo se creó un registro. No los use donde eso sea delicado, como en tokens de restablecimiento de contraseña (para esos use v4 o un token aleatorio seguro).
  • Dentro del mismo milisegundo, v7 y ULID necesitan cuidado para seguir siendo monótonos; las bibliotecas añaden un contador o incrementan la parte aleatoria.
  • Ambos formatos no distinguen mayúsculas en texto, pero el ULID evita las letras I, L, O y U para que sea más fácil de leer en voz alta.

Cuál elegir

  • Claves primarias nuevas de bases de datos: UUID v7.
  • Identificadores que no deben revelar nada: UUID v4.
  • Identificadores cortos, ordenables y aptos para URL donde la forma de 26 caracteres es bienvenida: ULID.

Pruebe estas herramientas

Véase también

  • Guía Cómo funcionan los UUID
    La estructura de un UUID (bits de versión y de variante), qué significa cada versión.
  • Glosario UUID
    Un UUID (identificador único universal) es un valor de 128 bits, escrito con 36 caracteres.
  • Glosario Marca de tiempo Unix (Unix timestamp)
    Una marca de tiempo Unix es el número de segundos desde el 1 de enero de 1970 a las 00:00:00 UTC (la «época Unix»).
  • Glosario Base32
    Base32 es una codificación que representa datos binarios con 32 caracteres seguros, las letras A a Z y los dígitos 2 a 7.
  • Glosario Hash
    Un hash es la huella de longitud fija que una función hash calcula de cualquier entrada.

Preguntas frecuentes

Para claves primarias de bases de datos, en la mayoría de los casos sí: los valores v7 creados más tarde se ordenan después, de modo que las inserciones caen al final del índice y no en lugares aleatorios. Use v4 cuando el identificador no deba revelar nada, ni siquiera cuándo se creó.

No, aunque ambos tienen 128 bits. Un ULID se escribe con 26 caracteres Base32 de Crockford y tiene su propia disposición, por lo que no es una cadena UUID válida, aunque puede convertirse en una.

AdSense Placeholder
Slot: footer_leaderboard