UUID
Generador de UUID
Genera UUID aleatorios versión 4.
Acerca de los UUID
Un UUID (identificador único universal) es un valor de 128 bits, casi siempre mostrado como 32 dígitos hexadecimales en cinco grupos separados por guiones. Un UUID versión 4 se genera a partir de bits aleatorios, por lo que dos UUID generados de forma independiente nunca son, en la práctica, iguales.
La versión 4, generada aquí, es solo una de varias versiones de UUID en uso activo. La versión 1 codifica la dirección MAC de la máquina generadora y una marca de tiempo —útil para ordenar, pero filtra información que un ID aleatorio no revela. Las versiones 3 y 5 son hashes deterministas de un espacio de nombres y un nombre, así que las mismas entradas siempre producen el mismo UUID, lo cual es útil para identificadores direccionados por contenido. La más reciente versión 7 empaqueta una marca de tiempo en milisegundos en los bits iniciales precisamente para que los UUID se ordenen cronológicamente, algo que la pura aleatoriedad de la versión 4 nunca puede ofrecer.
Dónde te lo encontrarás
- Claves primarias para filas de base de datos que no necesitan ser secuenciales
- Claves de idempotencia para solicitudes de API
- Identificadores únicos para sesiones, solicitudes o eventos de sistemas distribuidos
- Identificadores anónimos que, a diferencia de los ID autoincrementales, no revelan el orden de creación
Preguntas frecuentes
¿Pueden colisionar dos UUID generados?
En teoría sí, en la práctica no — los UUID versión 4 tienen 122 bits aleatorios, por lo que la probabilidad de una colisión es insignificante incluso con miles de millones de ID.
¿Se pueden ordenar los UUID por fecha de creación?
La versión 4 no. Si necesitas ID que se puedan ordenar por tiempo, consulta alternativas ordenadas temporalmente como UUIDv7 o ULID.
¿Hay algo secreto codificado en un UUID?
No, un UUID v4 son solo bits aleatorios — no codifica el servidor, el usuario ni el momento que lo generó.
¿Por qué no usar simplemente UUIDv1 o el más reciente UUIDv7?
Las distintas versiones intercambian propiedades distintas. UUIDv4, que genera esta herramienta, es pura aleatoriedad sin orden ni información incorporada —la elección correcta cuando específicamente no quieres que un ID revele cuándo o dónde se creó. UUIDv1 incorpora una marca de tiempo y una dirección MAC; UUIDv7 solo incorpora una marca de tiempo, dando ID que se ordenan por momento de creación, algo que las bases de datos indexan mucho más eficientemente que los valores v4 aleatorios. Elige v7 si el rendimiento del orden de inserción importa y no hay problema en revelar el momento de creación.