Generador de UUID

Genera identificadores UUID v4 (aleatorios) en lote, directamente en tu navegador. Admite varios formatos de visualización: estándar, mayúsculas, sin guiones, con llaves y URN.

Versiones de UUID de un vistazo

Versión Basado en Descripción
UUID v1 Marca de tiempo + dirección MAC Se genera a partir del momento de creación y la dirección MAC de la tarjeta de red. Puede revelar el dispositivo de origen, lo que plantea problemas de privacidad, por lo que hoy se elige poco para sistemas nuevos.
UUID v3 Espacio de nombres + hash MD5 Se genera aplicando MD5 a un espacio de nombres y una cadena. Es determinista: la misma entrada siempre produce el mismo UUID. Se recomienda v5 para usos nuevos debido a las debilidades de colisión conocidas de MD5.
UUID v4 Completamente aleatorio Se genera a partir de una fuente aleatoria criptográficamente segura. No revela información sobre su origen y es fácil de implementar, por lo que es la variante más utilizada. Es el formato que genera esta herramienta.
UUID v5 Espacio de nombres + hash SHA-1 Mismo enfoque de espacio de nombres que v3, pero usando SHA-1. Se recomienda cuando necesitas una generación determinista, es decir, reproducir el mismo ID a partir de los mismos datos.
UUID v6 Marca de tiempo reordenada + aleatorio Estandarizado en el RFC 9562 (2024). Reordena los campos de marca de tiempo de v1 para que el orden lexicográfico de bytes coincida con el orden cronológico, mejorando la eficiencia de los índices de base de datos.
UUID v7 Marca de tiempo Unix + aleatorio Estandarizado en el RFC 9562 (2024). Comienza con una marca de tiempo Unix con precisión de milisegundos, por lo que los ID se ordenan según el momento de creación. Cada vez más adoptado como sustituto de v4 en proyectos nuevos.

Consejos

  • Cada UUID se genera íntegramente en tu navegador mediante la Web Crypto API; nada se envía nunca a los servidores de toolbase.cc.
  • UUID v4 es la opción habitual cuando necesitas unicidad sin IDs secuenciales o adivinables: claves primarias de bases de datos, ID de solicitudes de API, etc.
  • Como 122 de los 128 bits de UUID v4 son aleatorios, la probabilidad de colisión es astronómicamente baja: harían falta unos 2,7×10¹⁸ UUID generados para que dicha probabilidad llegara siquiera al 50%.
  • El formato "sin guiones" resulta útil para segmentos de ruta en URL o nombres de archivo. El formato "con llaves" coincide con la notación GUID usada en COM/registro de Windows.
  • Aumenta la cantidad y usa "Copiar todo" para generar rápidamente datos de prueba o semillas en lote.

Preguntas frecuentes

En teoría no es imposible, pero con 122 bits de aleatoriedad, el riesgo de colisión de UUID v4 es insignificante para cualquier propósito práctico. Incluso generando mil millones de UUID por segundo durante cien años seguidos, la probabilidad de una sola colisión rondaría apenas el 50%.

Sí, son básicamente el mismo concepto. GUID (Globally Unique Identifier) es el nombre que usa Microsoft para su propia implementación, compatible con el formato UUID de 128 bits. La notación con llaves {xxxxxxxx-xxxx-...} es el estilo GUID habitual en COM y el registro de Windows.

Como UUID v4 es aleatorio, tiende a generar índices más grandes y inserciones más lentas que los enteros secuenciales (AUTO_INCREMENT). Si necesitas que las inserciones mantengan el orden de creación, considera UUID v7 (que incorpora una marca de tiempo) o ULID como alternativa.

Si solo necesitas unicidad, UUID v4 es la opción más simple y segura. Usa v5 cuando necesites reproducir el mismo ID a partir de la misma entrada cada vez. Para proyectos nuevos que priorizan el orden o la eficiencia de inserción en bases de datos, v7 es una opción sólida. v1 y v3 apenas se adoptan hoy en proyectos nuevos.
ツールくん

A propósito — Por qué 128 bits

El UUID fue concebido en los años 80 por Apollo Computer para sistemas distribuidos, y más tarde estandarizado por la OSF (Open Software Foundation) como parte de DCE (Distributed Computing Environment). La especificación actual figura en el RFC 4122 del IETF (2005), con una versión ampliada, el RFC 9562, publicada en 2024.

128 bits puede parecer excesivo, pero esa longitud es lo que permite que varios servidores o dispositivos generen ID de forma completamente independiente, sin ninguna coordinación, y sigan evitando colisiones en la práctica. Un servidor central que emita números secuenciales evita esa aleatoriedad, pero se convierte en un punto único de fallo y exige una comunicación por cada ID. Los UUID eliminan por completo ese coste de coordinación, a cambio de suficiente aleatoriedad para que la probabilidad de colisión sea insignificante.

Esa misma aleatoriedad es el punto débil de UUID v4: insertar valores aleatorios en un índice de base de datos de tipo B-tree dispersa los puntos de inserción, provoca divisiones de página frecuentes y perjudica el rendimiento. UUID v7 se diseñó justo para resolver esto: al comenzar con una marca de tiempo Unix, mantiene el orden por fecha de creación conservando suficiente aleatoriedad para evitar la previsibilidad, lo que da a las inserciones mucha mejor localidad.