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.