Generador de UUID
Cómo funciona
Elige una versión, indica cuántos identificadores necesitas (de 1 a 1000) y la lista se genera al instante: un UUID por línea, listo para copiar en código, en un script de datos de prueba o en una hoja de cálculo. Activa Mayúsculas o quita los Guiones si tu sistema de destino espera otro formato, y pulsa Regenerar para obtener un lote nuevo.
Un UUID (Universally Unique Identifier, que en el mundo Microsoft se llama GUID) es un valor de 128 bits escrito con 36 caracteres: ocho-cuatro-cuatro-cuatro-doce dígitos hexadecimales, como `3f2b8a4e-9c1d-4e7a-b2f6-8d1c9a0e5b3d`. El primer dígito del tercer grupo es la versión; el grupo siguiente empieza siempre por 8, 9, a o b (los bits de variante de la RFC 9562).
Están las cuatro versiones prácticas: • v4 (aleatorio): 122 bits aleatorios del generador criptográfico del navegador. La opción universal para tokens, identificadores y nombres de archivo. • v7 (ordenado por tiempo): una marca de tiempo Unix de 48 bits en milisegundos seguida de bits aleatorios, así que los identificadores se ordenan por fecha de creación. La mejor elección para claves primarias de bases de datos: las filas nuevas caen al final del índice en lugar de dispersarse por él, lo que mantiene compactos los árboles B y rápidas las inserciones. • v1 (marca de tiempo + nodo): el diseño clásico de los años 90, una marca de tiempo de 60 bits contada en intervalos de 100 nanosegundos desde el 15 de octubre de 1582 más un identificador de nodo. Históricamente el nodo era la dirección MAC de la máquina, que es justo la razón por la que v1 filtraba la identidad del hardware. Un navegador no puede leer la MAC, así que esta herramienta usa un nodo aleatorio con el bit multicast activado, la sustitución que prescribe expresamente la RFC 9562 §6.10. Para sistemas nuevos prefiere v7; v1 está aquí por interoperabilidad con esquemas antiguos. • v5 (basado en un nombre, SHA-1): determinista. Calcula el hash de un UUID de espacio de nombres junto con un nombre, así que las mismas entradas dan *siempre* el mismo UUID, en cualquier máquina, para siempre. Úsalo para derivar identificadores estables de algo que ya tienes (una URL, un dominio, una ruta de archivo, el nombre de un inquilino) sin tabla de consulta. Elige uno de los cuatro espacios de nombres estándar (DNS, URL, OID, X500) o pega el tuyo. Como el resultado depende solo de las entradas, el selector de cantidad se oculta en v5: hay exactamente una respuesta.
(v3 es la misma idea que v5 pero con MD5; no se ofrece porque MD5 no está en la API criptográfica del navegador y v5 lo sustituye. v2 es una variante de seguridad DCE que casi nadie usa, y v6 y v8 son de nicho.)
Todo se ejecuta en tu navegador: los identificadores salen de la propia API criptográfica del navegador y nunca pasan por un servidor, y eso es lo que los hace seguros tanto para secretos como para identificadores internos.
Preguntas frecuentes
¿Qué diferencia hay entre UUID v4 y v7?
- v4 son 122 bits de aleatoriedad criptográfica pura; v7 empieza con una marca de tiempo Unix de 48 bits en milisegundos seguida de bits aleatorios, así que los identificadores v7 se ordenan cronológicamente. Usa v7 para claves primarias de bases de datos (mejor localidad en el índice, inserciones más rápidas) y v4 cuando los identificadores no deban revelar cuándo se crearon.
¿Por qué v1 no usa mi dirección MAC?
- Porque un navegador no tiene acceso a ella, y eso es una virtud y no una carencia. Filtrar la dirección MAC fue el célebre defecto de v1 (así se rastreó al autor del virus Melissa en 1999). La RFC 9562 §6.10 permite sustituir la MAC por un identificador de nodo aleatorio con el bit multicast activado, que es lo que hace esta herramienta y lo que hace cualquier implementación en JavaScript. Los UUID son v1 válidos e interoperan con normalidad.
¿Cuándo debo usar v5 en lugar de v4?
- Cuando quieres que la misma entrada dé siempre el mismo identificador. Derivar un UUID estable para una URL, un dominio, una ruta de archivo o el nombre de un inquilino significa que cualquier servicio puede calcular el mismo identificador por su cuenta, sin base de datos compartida ni tabla de consulta. Usa v4 cuando quieras imprevisibilidad: v5 lo reproduce trivialmente cualquiera que conozca el espacio de nombres y el nombre, así que nunca debe usarse como secreto ni como token.
¿Cuáles son los espacios de nombres estándar de v5?
- La RFC 9562 define cuatro: DNS (6ba7b810-…) para nombres de host, URL (6ba7b811-…) para URL, OID (6ba7b812-…) para identificadores de objeto ISO y X500 (6ba7b814-…) para nombres distinguidos X.500. También puedes indicar cualquier UUID tuyo como espacio de nombres privado, que es lo habitual dentro de una aplicación.
¿Pueden colisionar dos UUID generados?
- En teoría sí, en la práctica no. En v4 habría que generar unos 2,7×10¹⁸ UUID para llegar a un 50% de probabilidad de una sola colisión. Todos los identificadores de aquí se producen con el generador aleatorio criptográficamente seguro del navegador, la misma calidad que usaría una librería de backend.
¿Un GUID es lo mismo que un UUID?
- Sí. GUID (Globally Unique Identifier) es el nombre que da Microsoft a la misma estructura de 128 bits de la RFC 9562. .NET, SQL Server y las API de Windows dicen GUID; casi todos los demás dicen UUID. Los formatos son idénticos byte a byte.
¿Por qué querría quitar los guiones?
- Porque algunos sistemas guardan o comparan los UUID como una cadena hexadecimal simple de 32 caracteres: columnas RAW(16) de Oracle, algunas API REST, slugs de URL donde los guiones estorban. La opción sin guiones da los mismos 128 bits sin separadores, y cualquier analizador estándar puede volver a insertarlos.
¿Se envían los UUID generados a un servidor?
- No. La generación usa la Web Crypto API dentro de la pestaña de tu navegador, y la página no hace ninguna petición de red al generar o copiar. Puedes comprobarlo en la pestaña Red de las herramientas para desarrolladores. Eso significa que los identificadores son seguros para usarlos como secretos, sufijos de claves de API o seeds de bases de datos.
¿Qué versión produce crypto.randomUUID()?
- Solo v4. Esta herramienta usa esa API integrada para v4 e implementa v7 de la RFC 9562 sobre crypto.getRandomValues: la misma fuente de aleatoriedad, con el prefijo de marca de tiempo añadido.
Las versiones de UUID de un vistazo
Las versiones que te vas a encontrar de verdad y cuándo conviene cada una. Una ✓ marca las versiones que genera esta herramienta.
| Versión | Se construye con | Ordenable por tiempo | Uso típico |
|---|---|---|---|
| v1 ✓ | Marca de tiempo (desde 1582) + id de nodo | Sí | Esquemas antiguos. Clásicamente filtraba la MAC; aquí el nodo es aleatorio según la RFC 9562 §6.10 |
| v3 | Hash MD5 de espacio de nombres + nombre | No | Sustituida por v5. No se ofrece: MD5 no está en la API criptográfica del navegador |
| v4 ✓ | 122 bits aleatorios | No | La opción universal: tokens, identificadores, nombres de archivo |
| v5 ✓ | Hash SHA-1 de espacio de nombres + nombre | No | Identificadores deterministas: las mismas entradas dan siempre el mismo UUID. Nunca como secreto |
| v7 ✓ | Marca de tiempo Unix en ms + bits aleatorios | Sí | Claves primarias de bases de datos, registros de eventos, todo lo que se indexa |
Versiones definidas por la RFC 9562 (mayo de 2024), que sustituye a la RFC 4122.