Generador de UUID

Genera UUIDs aleatorios v4 al instante.

Qué es un UUID v4

Un UUID (identificador único universal) es un valor de 128 bits escrito como 32 dígitos hex en un patrón 8-4-4-4-12, como f47ac10b-58cc-4372-a567-0e02b2c3d479. Los UUID de versión 4 son aleatorios: de los 128 bits, 122 se extraen de una fuente aleatoria criptográficamente segura, mientras que 6 los fija la especificación; el 4 que inicia el tercer grupo marca la versión, y el primer carácter del cuarto grupo siempre es 8, 9, a o b (los bits de variante). Eso deja 2¹²² ≈ 5,3 × 10³⁶ valores posibles, y por eso nadie coordina los UUID y aun así las colisiones nunca ocurren en la práctica.

Generación en lote, correctamente aleatoria

Fija una cantidad de 1 a 50 y pulsa Generar; Copiar todo pone el lote en tu portapapeles, un UUID por línea, listo para pegar en un script SQL de semillas, un archivo de fixtures o una columna de hoja de cálculo. Cada UUID viene del crypto.randomUUID() nativo del navegador: una API respaldada por un CSPRNG, no Math.random(). Esa distinción importa: Math.random() es lo bastante predecible como para que los "UUID" construidos con él puedan colisionar o adivinarse; la fuente Web Crypto no.

Dónde los UUID ganan a los IDs autoincrementales

  • Sistemas distribuidos: cualquier cliente o servicio puede acuñar un ID con cero coordinación; sin contador central, sin ida y vuelta a la base de datos.
  • Fusionar datos: las filas creadas sin conexión o en bases de datos separadas se pueden combinar sin conflictos de ID.
  • Referencias no adivinables: los IDs secuenciales filtran información (/invoice/1041 invita a probar /invoice/1042); los UUID aleatorios no se enumeran. Son inadivinables, eso sí, no un sustituto de comprobaciones de autorización reales.
  • Generados antes de la inserción: tu código conoce el ID antes de que exista la fila, lo que simplifica enlazar registros relacionados en una sola transacción.

Notas prácticas y trampas

  • Almacenamiento: un UUID ocupa 16 bytes como columna nativa UUID/binaria, pero 36 bytes como texto; prefiere el tipo nativo en Postgres o MySQL 8.
  • Localidad de índice: los valores v4 aleatorios se dispersan por un índice de árbol B, lo que puede ralentizar tablas enormes con muchas inserciones. El UUID v7 (ordenado por tiempo) lo aborda; v4 sigue siendo el valor por defecto correcto para uso general.
  • Mayúsculas: la forma canónica es en minúscula, y las comparaciones deberían no distinguir mayúsculas.
  • UUID = GUID: el término de Microsoft para el mismo formato de 128 bits.

La generación corre por completo en tu navegador: ningún servidor ve ni registra los identificadores, así que es seguro usarlos directamente en datos de producción. ¿Necesitas secretos aleatorios en lugar de IDs? Usa el generador de contraseñas. ¿Huellas de contenido existente? Ese es el generador de hash.

Preguntas frecuentes

¿Qué es un UUID?
Un identificador de 128 bits escrito como 32 dígitos hex (patrón 8-4-4-4-12). Los UUID de versión 4 contienen 122 bits aleatorios, lo que da unos 5,3 × 10³⁶ valores posibles: únicos en la práctica sin ninguna coordinación central.
¿Estos UUID son de verdad únicos?
Estadísticamente, sí. Tendrías que generar unos mil millones de UUID por segundo durante 85 años para alcanzar siquiera un 50 % de probabilidad de una colisión. Cada ID de aquí viene de una fuente aleatoria criptográficamente segura.
¿Puedo generar varios UUID a la vez?
Sí: fija la cantidad (1 a 50), pulsa Generar y usa Copiar todo para llevarte el lote entero, un UUID por línea, para scripts de semillas u hojas de cálculo.
¿Por qué el tercer grupo siempre empieza por 4?
Ese dígito es el campo de versión: 4 significa "generado aleatoriamente". El primer carácter del cuarto grupo siempre es 8, 9, a o b, que codifica la variante del UUID. Los 122 bits restantes son aleatorios.
¿Debería usar UUID como claves primarias de base de datos?
Son excelentes para sistemas distribuidos y referencias no adivinables. Guárdalos en una columna nativa UUID/binaria (16 bytes, no texto de 36 bytes), y para tablas con muchísimas inserciones considera el UUID v7 ordenado por tiempo para mejor localidad de índice.