Cómo usar el generador de UUID
- Elige Generar versión 4 para UUID aleatorios o Generar versión 7 para UUID que quedan en orden de creación.
- Indica la Cantidad (hasta 1,000) y el formato: minúsculas con guiones, 32 dígitos sin guiones, entre {llaves} como escriben los GUID Windows y .NET, o como URN (
urn:uuid:…). Marca Letras mayúsculas si tu sistema las espera. - Pulsa Copiar para llevarte toda la lista, un UUID por línea, o Generar para un lote nuevo.
- Para revisar un UUID que ya tienes, elige Inspeccionar o validar un UUID y pégalo en cualquier formato habitual. Verás si es válido, su versión, su variante y, en las versiones 1, 6 y 7, la fecha y la hora en que se creó, también en tu zona horaria.
Qué es un UUID
Un UUID (universally unique identifier, identificador único universal) —el GUID de los productos de Microsoft— es un número de 128 bits escrito como 32 dígitos hexadecimales en grupos de 8, 4, 4, 4 y 12. Cualquier sistema puede crear uno sin consultar un registro central, y la probabilidad de que dos coincidan es tan pequeña que bases de datos, API, aplicaciones y sistemas operativos los usan como claves. El estándar vigente es la RFC 9562, de mayo de 2024, que sustituyó a la RFC 4122.
Dos posiciones son fijas en todo UUID. El dígito 13 es la versión, que dice cómo se generó el resto, y el 17 lleva la variante: 8, 9, a o b en los UUID del estándar RFC. Por eso todo UUID versión 4 tiene la forma xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, donde y es 8, 9, a o b.
| Versión | Se genera a partir de | Se ordena por tiempo |
|---|---|---|
| 1 | Hora en pasos de 100 ns desde 1582, secuencia de reloj e ID de nodo (a menudo la dirección MAC) | No |
| 3 y 5 | Hash MD5 o SHA-1 de un espacio de nombres y un nombre: el mismo nombre siempre da el mismo UUID | No |
| 4 | 122 bits aleatorios | No |
| 6 | Los campos de la versión 1, reordenados con la hora al principio | Sí |
| 7 | Tiempo Unix de 48 bits en milisegundos y luego 74 bits aleatorios | Sí |
| 8 | Un formato libre que decide el software que lo crea | — |
¿Versión 4 o versión 7?
La versión 4 es la opción clásica: totalmente aleatoria, no revela nada de cuándo ni dónde se creó. Su punto débil es el índice de la base de datos. Las claves aleatorias caen en cualquier parte del árbol B, cada inserción toca una página distinta y las tablas grandes se vuelven más lentas y fragmentadas. La versión 7 empieza con la hora actual, así que las filas nuevas van al final del índice, casi como un número autoincremental, y siguen siendo únicas entre servidores que nunca se comunican. La RFC 9562 recomienda la versión 7 para sistemas nuevos que necesitan identificadores ordenados por tiempo.
A cambio, un UUID versión 7 le dice a quien lo ve cuándo se creó, al milisegundo. Para la mayoría de los registros da igual, pero elige la versión 4 cuando la fecha de creación es en sí un dato privado, por ejemplo en un enlace público que no debería revelar cuándo se abrió una cuenta. Dentro de un mismo milisegundo, este generador trata los 74 bits aleatorios como un contador que avanza un paso aleatorio (RFC 9562 §6.2, método 2), así que un lote de 1,000 queda en estricto orden de creación y sigue siendo imposible de adivinar.
Ejemplo: leer la fecha de un UUID
El UUID versión 7 de ejemplo de la RFC 9562 es 017F22E2-79B0-7CC3-98C4-DC0C0C07398F. Su dígito 13, el 7, es la versión; el 17, un 9, lo sitúa en la variante RFC. Los primeros 12 dígitos, 017F22E279B0, son en hexadecimal 1,645,557,742,000 milisegundos desde el 1 de enero de 1970: 2022-02-22T19:22:22Z, es decir, el 22 de febrero de 2022 a las 13:22:22 en la Ciudad de México (entonces UTC−6) y a las 20:22:22 en Madrid (UTC+1). Los ejemplos de las versiones 1 y 6 de la misma RFC guardan el mismo instante como 138,648,505,420,000,000 intervalos de 100 nanosegundos desde el 15 de octubre de 1582, el primer día del calendario gregoriano:
| UUID | Versión | Creado (UTC) |
|---|---|---|
017f22e2-79b0-7cc3-98c4-dc0c0c07398f | Versión 7 | 2022-02-22T19:22:22Z |
c232ab00-9414-11ec-b3c8-9f6bdeced846 | Versión 1 | 2022-02-22T19:22:22Z |
1ec9414c-232a-6b00-b3c8-9f6bdeced846 | Versión 6 | 2022-02-22T19:22:22Z |
En la versión 1 la hora se reparte en tres trozos con los bits más bajos primero, por eso los UUID versión 1 no se ordenan por tiempo; la versión 6 pone esos mismos bits en orden.
¿Qué tan probable es un UUID repetido?
Un UUID versión 4 tiene 122 bits aleatorios, es decir, 2122 —unos 5.3 × 1036— valores posibles. Por la paradoja del cumpleaños, hacen falta unos 2.7 × 1018 UUID para que la probabilidad de un solo duplicado llegue al 50%. Generando mil millones por segundo, eso tomaría unos 86 años. Los duplicados reales vienen de generadores de números aleatorios defectuosos —una biblioteca antigua, máquinas virtuales clonadas con el mismo estado aleatorio—, no de las matemáticas. Esta página usa crypto.getRandomValues, el generador criptográficamente seguro del navegador.
Formatos y consejos para tu base de datos
- Mayúsculas o minúsculas: la RFC 9562 recomienda generarlos en minúsculas, y el software debe compararlos sin distinguir mayúsculas de minúsculas.
- Las llaves son como escriben los GUID el registro de Windows, COM y
Guid.ToString("B")de .NET. Las URN (urn:uuid:…) aparecen en XML y RDF. - Almacenamiento: guarda los UUID en 16 bytes —el tipo
uuidde PostgreSQL,BINARY(16)en MySQL,uniqueidentifieren SQL Server— y no como 36 caracteres de texto. - SQL Server y la versión 7:
uniqueidentifiercompara los bytes en un orden propio que empieza por los seis últimos, así que un UUID versión 7 no queda ordenado por tiempo en ese tipo de columna. Para claves secuenciales ahí, la opción nativa esNEWSEQUENTIALID(). - En código: JavaScript
crypto.randomUUID(); Pythonuuid.uuid4(), yuuid.uuid7()desde Python 3.14; PostgreSQLgen_random_uuid(), yuuidv7()desde la versión 18; JavaUUID.randomUUID(); .NETGuid.NewGuid(), yGuid.CreateVersion7()desde .NET 9; SQL ServerNEWID(). - Folio fiscal del CFDI: en México, el folio fiscal que recibe cada factura electrónica al timbrarla es un UUID con este mismo formato de 36 caracteres. Lo asigna el proveedor de certificación (PAC) en el timbrado; un UUID creado aquí no es un folio fiscal.
- Para un secreto, y no un identificador, usa el generador de contraseñas. Para pasar a una hoja de cálculo un JSON con UUID, el conversor de JSON a CSV.
Los UUID se generan en tu navegador y nunca se envían a ningún sitio; la página no guarda ninguna lista.
Preguntas frecuentes
¿Qué diferencia hay entre un UUID y un GUID?
En la práctica, ninguna. GUID (globally unique identifier) es el nombre que Microsoft da al mismo identificador de 128 bits. Los GUID que generan hoy Windows y .NET son UUID versión 4, a menudo escritos en mayúsculas y entre llaves, como {0F8FAD5B-D9CB-469F-A165-70867728950E}.
¿Un UUID versión 4 es realmente único?
No está garantizado, pero basta para cualquier sistema real: con 122 bits aleatorios harían falta unos 2.7 × 1018 UUID para tener un 50% de probabilidad de un solo duplicado. Aun así conviene poner una restricción UNIQUE en la columna: no cuesta nada y detecta el raro fallo de un generador aleatorio.
¿Puedo usar un UUID como contraseña o token secreto?
Mejor no. La RFC 9562 dice que no hay que suponer que los UUID son difíciles de adivinar; un UUID versión 7 solo tiene 74 bits aleatorios y una hora legible, y algunas bibliotecas usan números aleatorios débiles. Para secretos usa un token pensado para ello, como 32 bytes aleatorios en Base64, o el generador de contraseñas.
¿Cómo valido que un texto sea un UUID?
Pégalo en Inspeccionar o validar un UUID. En código, la expresión regular ^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ (sin distinguir mayúsculas) acepta UUID de las versiones 1 a 8 en la variante estándar; el UUID nulo y el máximo necesitan su propia comprobación.
¿Debo usar UUID como clave primaria?
Funcionan bien cuando los identificadores se crean en muchos sitios —varios servidores, apps que trabajan sin conexión— o no deben revelar cuántos registros hay. Prefiere la versión 7 para claves primarias, porque los valores ordenados por tiempo mantienen compacto el índice, y guárdalos en una columna nativa de UUID o binaria de 16 bytes.
Última actualización: 16 de octubre de 2026