Ir al contenido principal

Generador de UUID

Generador online y gratuito de UUID e IDs únicos. Genera UUIDs criptográficamente seguros (v4, v1, v7), ULIDs, NanoIDs, CUID2s, Short IDs e IDs con formato personalizado en lotes de hasta 1000. Exporta como texto plano, JSON, CSV, SQL, XML, TypeScript o Python. Incluye un analizador/validador de UUID con extracción de marca de tiempo y desglose de segmentos por colores, una prueba de colisiones y un creador de plantillas personalizadas con persistencia en localStorage.

5 versiones de UUID
v1, v3, v4, v5 y v7: todas compatibles
Generar en masa
Genera hasta 1,000 UUIDs a la vez
100% en el navegador
Generado localmente en tu navegador — nunca se transmite
UUID v4 rápido
Insertar token:
Vista previa:
Aún no se han generado IDs
Clic Generar para crear tus IDs

Cómo usar

1
Elige el tipo de ID

Elige entre 8 formatos de ID: UUID v4 (aleatorio), v1 (marca de tiempo), v7 (ordenable), ULID, NanoID, CUID2, Short ID, o crea una plantilla personalizada. El panel Quick UUID muestra un UUID v4 en vivo para copiarlo al instante.

2
Define la cantidad y el formato

Introduce una cantidad de 1 a 1000, o toca un valor predefinido. Elige tu formato de salida: texto plano, array JSON, objetos JSON, CSV, SQL INSERT, XML, TypeScript o Python.

3
Genera y copia

Haz clic en Generate para crear todos los IDs al instante. En modo texto plano, cada ID se puede pulsar individualmente para copiarlo. Usa Copy All para copiar todo de una vez, o Download para guardarlo como archivo.

4
Analiza y compara

Cambia a la pestaña UUID Parser para validar e inspeccionar cualquier UUID: consulta su versión, variante, marca de tiempo incluida y 7 formatos alternativos. Usa Compare Types para elegir el mejor formato de ID para tu proyecto.

¿Qué son los UUID y por qué son importantes?

Un UUID (Universally Unique Identifier), también llamado GUID (Globally Unique Identifier), es un identificador de 128 bits estandarizado en la RFC 4122. La garantía fundamental es que un UUID generado de forma independiente en cualquier máquina nunca coincidirá con otro UUID, sin necesidad de coordinación entre sistemas. Esto hace que los UUID sean esenciales para bases de datos distribuidas, microservicios, event sourcing y cualquier escenario en el que necesites un ID antes de insertarlo en una base de datos o de coordinarte con un servidor central.

Versiones de UUID explicadas

  • UUID v4 (aleatorio) — 122 bits de aleatoriedad criptográfica. Sin componente de marca de tiempo. Es la versión más utilizada porque no revela nada sobre el momento o el lugar de creación. Úsala cuando la unicidad y la privacidad importen más que la ordenabilidad.
  • UUID v1 (marca de tiempo + MAC) — Codifica una marca de tiempo gregoriana de 60 bits (intervalos de 100 nanosegundos desde el 15 de octubre de 1582) más un ID de nodo. Esta implementación usa un nodo aleatorio (bit de multicast activado) para proteger la privacidad. Es ordenable cronológicamente dentro del mismo nodo.
  • UUID v7 (época Unix, RFC 9562) — Marca de tiempo Unix de 48 bits en milisegundos en los primeros 6 bytes, seguida de 74 bits de aleatoriedad. Se ordena de forma natural en los índices B-tree de las bases de datos. Es el reemplazo recomendado de v1 en aplicaciones nuevas.

Formatos de ID alternativos

  • ULID (Universally Unique Lexicographically Sortable Identifier) — Marca de tiempo de 10 caracteres en Crockford Base32 (48 ms) + componente aleatorio de 16 caracteres = 26 caracteres en total. Ordenable lexicográficamente, no distingue mayúsculas y minúsculas, y es un 30% más corto que un UUID con guiones.
  • NanoID — Seguro para URL, compacto y de longitud configurable. Usa muestreo por rechazo para eliminar el sesgo de módulo. Por defecto, con 21 caracteres y alfabeto alfanumérico, alcanza aproximadamente 126 bits de resistencia a colisiones.
  • CUID2 — Resistente a colisiones y a la huella digital (fingerprinting). Siempre empieza con una letra, solo en minúsculas, apto para IDs de HTML y nombres de clases CSS. Buena opción por defecto para aplicaciones JavaScript.
  • Short ID — IDs legibles por humanos, de longitud configurable, generados a partir de varios conjuntos de caracteres. Útil para números de pedido, códigos de referido y referencias de cara al usuario.
  • Plantilla personalizada — Combina cualquiera de los generadores anteriores con texto estático, marcas de tiempo y números de secuencia usando una sintaxis sencilla de {token}.

Formatos de salida

Los IDs generados se pueden exportar en 8 formatos listos para pegar directamente en tu código: texto plano (uno por línea, clic para copiar), array JSON, array de objetos JSON (con clave configurable), CSV (con encabezado), instrucción SQL INSERT (tabla y columna configurables), XML, array const de TypeScript y lista de Python.

Analizador y validador de UUID

La pestaña del analizador acepta cualquier cadena UUID, con o sin guiones, en formato URN (urn:uuid:…) o entre llaves. Extrae la versión y la variante, decodifica la marca de tiempo incluida en los UUID v1 y v7, muestra un desglose de segmentos con código de colores y ofrece 7 representaciones alternativas, incluidas Base64 y codificación como entero.

Probador de colisiones

El test de colisiones genera hasta 1 millón de UUID y comprueba cada uno contra un Set en busca de duplicados. La prueba se ejecuta en bloques de 5000 IDs sin bloquear el navegador, para que este siga respondiendo con normalidad. Al finalizar, muestra la probabilidad de colisión teórica junto con el resultado empírico.

Aleatoriedad criptográfica

Todos los generadores de esta herramienta usan crypto.getRandomValues(), el generador de números pseudoaleatorios criptográficamente seguro (CSPRNG) del navegador. Nunca se utiliza Math.random(). NanoID usa muestreo por rechazo para eliminar el sesgo de módulo. Esto significa que cada ID es tan aleatorio como lo permite el pool de entropía de tu navegador.

Privacidad

Toda la generación ocurre localmente en tu navegador. No se envía ningún ID, plantilla ni formato personalizado a ningún servidor. Las plantillas guardadas se almacenan únicamente en el localStorage de tu navegador y nunca salen de tu dispositivo.

Preguntas frecuentes

Un UUID (Universally Unique Identifier) es un número de 128 bits que se puede generar de forma independiente en cualquier máquina sin necesidad de coordinación. UUID v4 tiene 122 bits de aleatoriedad, lo que significa que la probabilidad de que dos UUID generados aleatoriamente colisionen es de aproximadamente 1 entre 5,3 × 10³⁶, algo prácticamente imposible. En el Collision Test puedes comprobarlo de forma empírica generando hasta 1 millón de UUID y comprobando que no hay ningún duplicado.

UUID v4 es puramente aleatorio: 122 bits de aleatoriedad criptográfica sin ninguna marca de tiempo. UUID v7 incorpora una marca de tiempo Unix de 48 bits en milisegundos en los primeros 6 bytes, de modo que los UUID generados más tarde se ordenan después de los generados antes. Esto es clave para el rendimiento de la base de datos: con UUID v4 como clave primaria, las filas se insertan en posiciones aleatorias del índice B-tree, provocando divisiones de página y fragmentación. UUID v7, en cambio, se inserta al final del índice, igual que un entero autoincremental, preservando la localidad.

UUID (Universally Unique Identifier) y GUID (Globally Unique Identifier) se refieren al mismo identificador de 128 bits. "GUID" es el término de Microsoft, usado en .NET, SQL Server y COM. "UUID" es el término del estándar del IETF (RFC 4122). Son intercambiables y tienen el mismo formato.

ULID tiene 26 caracteres frente a los 36 de un UUID con guiones, es decir, un 28% más corto. Es ordenable lexicográficamente (los IDs más nuevos se ordenan después de los más antiguos), no distingue mayúsculas y minúsculas, y utiliza el Base32 de Crockford, que elimina los caracteres ambiguos (sin O, I, L). Los ULID son ideales para sistemas de logs distribuidos, flujos de eventos, o cualquier caso en el que necesites un ID más corto, ordenable y además seguro para URLs y nombres de archivo.

Sí, con algunas salvedades. UUID v4 provoca fragmentación de índices en bases de datos B-tree como PostgreSQL, MySQL y SQL Server, porque los IDs aleatorios se insertan en posiciones aleatorias. Para claves primarias, es mejor optar por UUID v7 o ULID: ambos incorporan una marca de tiempo, de modo que las filas nuevas siempre se insertan al final del índice, igual que con el autoincremento. Si necesitas usar v4 sí o sí, guárdalo como tipo binary(16) en lugar de varchar(36) para un rendimiento de índice mucho mejor.

Para UUID v1, el analizador extrae la marca de tiempo gregoriana de 60 bits (intervalos de 100 nanosegundos desde el 15 de octubre de 1582) y la convierte en una fecha y hora UTC legibles. Para UUID v7, extrae la marca de tiempo Unix de 48 bits en milisegundos. También identifica el byte de variante según la RFC 4122, muestra un desglose de segmentos con código de colores (time-low, time-mid, version, variant, node/random) y ofrece 7 representaciones alternativas: estándar, sin guiones, mayúsculas, URN, con llaves, Base64 y entero.

Sí. Toda la aleatoriedad proviene de crypto.getRandomValues(), el generador de números aleatorios criptográficamente seguro del navegador. Nada se genera en el servidor y nada se transmite por la red: toda la generación ocurre en el motor de JavaScript de tu navegador. Los IDs generados son adecuados para usarse como claves primarias de base de datos, tokens de sesión, IDs de correlación y otros usos en producción. Para tokens sensibles desde el punto de vista de seguridad (claves de API, cookies de sesión), asegúrate de usar también HTTPS y políticas de rotación adecuadas.

La plantilla personalizada utiliza tokens entre llaves que puedes combinar con texto estático: {v4} inserta un UUID v4, {v7} inserta un UUID v7, {ulid} inserta un ULID, {nano} inserta un NanoID de 21 caracteres, {random:N} inserta N caracteres alfanuméricos aleatorios, {ts} inserta la marca de tiempo Unix actual en milisegundos, {date} inserta la fecha de hoy en formato YYYYMMDD, y {seq} inserta un contador secuencial. Por ejemplo, ORDER-{date}-{random:6} genera IDs como ORDER-20260318-k8Mn2X.

Related Blog Posts

All Blog Posts
Blog