redzilla
Todas las herramientas
Seguridad

Generador de UUID / ULID

Genera UUID v4 (aleatorio), UUID v7 (ordenado por tiempo) o ULID, uno o varios a la vez, usando crypto.getRandomValues. Todo local, sin Math.random.

Tipo de identificador

Aleatorio, sin orden temporal. Versión 4, variante RFC 4122.

1 100 identificadores
Formato
redzilla.cl — uuid
 
Tipo UUID v4
Bits aleatorios 122
Longitud 36

Identificadores generados

    Cómo se generan

    UUID v4 16 bytes de crypto.getRandomValues. Se fija la versión 4 en el nibble alto del byte 6 y la variante RFC 4122 (10xx) en los dos bits altos del byte 8. Quedan 122 bits aleatorios, formato 8-4-4-4-12.

    UUID v7 los primeros 48 bits son el timestamp Unix en milisegundos (big-endian), luego versión 7, variante y 74 bits aleatorios. Es ordenable por tiempo: dos v7 seguidos comparan crecientes.

    ULID 26 caracteres en base32 de Crockford: 48 bits de tiempo (10 chars) + 80 bits aleatorios (16 chars). Ordenable lexicográficamente por su prefijo temporal.

    Toda la aleatoriedad viene del CSPRNG del navegador. Nunca se usa Math.random y nada sale de tu equipo.

    Los identificadores se generan íntegramente en tu navegador. No se descarga ni se consulta nada en línea.

    Cálculo local en tu navegador · sin registro · sin enviar datos.

    ¿Cómo funciona?

    El generador crea identificadores únicos de tres tipos, de uno en uno o en lotes de hasta 100: UUID v4 (16 bytes aleatorios con la versión y la variante fijadas según RFC 4122, lo que deja 122 bits de aleatoriedad), UUID v7 (los primeros 48 bits son el timestamp Unix en milisegundos y los 74 bits restantes son aleatorios, según RFC 9562, por lo que es ordenable por tiempo) y ULID (26 caracteres en base32 de Crockford: 48 bits de tiempo más 80 bits aleatorios, ordenable lexicográficamente).

    Toda la aleatoriedad proviene de crypto.getRandomValues, el CSPRNG del navegador; nunca se usa Math.random, que no es apto para identificadores con valor de seguridad. Puedes ajustar el formato de salida (mayúsculas, con llaves {…}, o sin guiones en el caso de los UUID) y copiar cada identificador o el lote completo. En los lotes de v7 y ULID cada elemento suma 1 ms al instante base, así que quedan estrictamente crecientes aunque se generen en el mismo milisegundo.

    Caso de uso: claves primarias que no fragmenten el índice

    1. Genera un UUID v7: por ejemplo 0190c2f3-…-7…. Sus primeros 48 bits codifican el instante de creación.
    2. Al insertarlo como clave primaria, los registros nuevos caen siempre al final del índice B-tree, evitando la fragmentación que provocan los v4 aleatorios.
    3. Si prefieres un identificador más corto y amigable para URL, usa ULID: 26 caracteres sin guiones, ordenable igual que el v7.

    Preguntas frecuentes

    ¿Cuál es la diferencia entre UUID v4 y UUID v7?
    El v4 es 100 % aleatorio (122 bits), sin ninguna relación con el tiempo: ideal cuando no quieres filtrar cuándo se creó el registro. El v7 dedica sus primeros 48 bits al timestamp Unix en milisegundos y deja 74 bits aleatorios: dos v7 generados en secuencia comparan crecientes, lo que mejora el rendimiento de índices en bases de datos. El v7 se estandarizó en RFC 9562 (2024).
    ¿Pueden repetirse dos UUID v4?
    En teoría sí, en la práctica no: con 122 bits aleatorios, la probabilidad de colisión tras generar mil millones de UUID por segundo durante un siglo sigue siendo despreciable. Por la paradoja del cumpleaños, se necesitarían unos 2⁶¹ (más de 2 trillones) de UUID para llegar a un 50 % de probabilidad de una sola colisión.
    ¿Qué ventaja tiene un ULID sobre un UUID?
    Es más compacto (26 caracteres frente a 36), no usa guiones, es seguro para URL y se ordena lexicográficamente por su prefijo temporal: ordenar los ULID como texto equivale a ordenarlos por fecha de creación. Su alfabeto base32 de Crockford excluye I, L, O y U para evitar confusiones de lectura. A cambio, el UUID es el formato con soporte nativo en la mayoría de bases de datos.
    ¿Es seguro generar identificadores aquí? ¿Se envían a algún servidor?
    No se envía nada: los identificadores se generan íntegramente en tu navegador con el generador criptográfico del propio sistema (crypto.getRandomValues), sin llamadas de red. Puedes usarlos en producción con la misma confianza que los generados por tu backend.
    ¿Te fue útil esta herramienta?
    Disclaimer Cuidamos la precisión de cada herramienta y la revisamos a conciencia; aun así, no podemos garantizar que esté libre de errores ni responsabilizarnos por el uso de sus resultados. Te sugerimos verificar siempre los datos críticos.
    Si encuentras un error, avísanos →