ToolsOps

Identificadores

Generador y decodificador de UUID (v4 y v7)

Genera UUIDs v4 (aleatorios, RFC 4122/9562) y v7 (con timestamp embebido, RFC 9562). Bulk de 1 a 100, copia individual o de toda la lista. El modo Validar detecta versión (1-8) y variante de un UUID existente. El modo Decodificar extrae el timestamp Unix ms embebido en un UUID v7 (o el offset Gregorian de un v1) y lo muestra como ISO UTC, hora local y edad relativa. Los UUIDs generados y el input pegado se procesan en el navegador con Web Crypto API y no se envían a un servidor. Implementación sin dependencias externas.

Pulsa Generar para crear UUIDs.

No generamos v3/v5 en esta versión. Esas variantes requieren namespace y nombre, y se evaluarán si hay demanda real.

Privacidad

Todo se ejecuta en tu navegador con Web Crypto API. Ni los UUIDs generados ni el input que pegas para validar o decodificar se envían a un servidor. Puedes verificarlo abriendo DevTools en la pestaña Network mientras usas la herramienta.

El enlace serializa solo modo, versión y cantidad. Nunca incluye UUIDs generados ni el input pegado.

Ejemplos

  • Modo Generar, versión v4 (aleatorio), cantidad 10.Generar 10 UUID v4
  • Modo Generar, versión v7 (ordenable por tiempo), cantidad 100.Generar 100 UUID v7 para sembrar una tabla
  • Modo Validar. Pega el UUID y comprueba versión y variante.Validar un UUID copiado de un log
  • Modo Decodificar. La herramienta muestra ISO, hora local y edad.Extraer la fecha de un UUID v7

Preguntas frecuentes

¿Qué diferencia hay entre UUID v4 y v7?
v4 es 128 bits de aleatoriedad criptográfica con cuatro bits de versión fijos. Es la opción universal cuando solo necesitas un identificador único y no importa el orden de creación. v7 reserva los 48 bits más significativos para un timestamp Unix en milisegundos, así que dos UUIDs creados con segundos de diferencia son ordenables alfabéticamente y respetan el orden temporal. v7 es la opción recomendada cuando vas a usar el UUID como clave primaria en una base de datos relacional (Postgres, MySQL) porque mejora la localidad del índice B-tree.
¿Mis datos salen del navegador?
No. La generación usa Web Crypto API local (`crypto.randomUUID` cuando está disponible, fallback con `crypto.getRandomValues`). Ni los UUIDs generados ni el input que pegas en Validar o Decodificar se envían a un servidor. Puedes verificarlo abriendo DevTools en la pestaña Network mientras usas la herramienta.
¿Por qué no generáis v1, v3, v5 o v6?
v1 filtra timestamp + MAC del emisor, lo que prefiero no facilitar. v3 y v5 requieren namespace + name (un UUID derivado por hash de otro identificador), lo que añade UI compleja sin demanda demostrada en queries reales. v6 es una variante experimental anterior a v7 que ha quedado obsoleta. v8 es custom sin semántica fija. v4 y v7 cubren el 95% del uso real moderno.
¿Puedo usar un UUID v4 como secret o token de autenticación?
Un UUID v4 tiene 122 bits de entropía criptográfica, suficiente para un token aleatorio. Pero el formato canonical con guiones y minúsculas es muy reconocible: si te lo encuentras en un log o en una URL, queda obvio qué es. Para secrets de sesión es preferible un `crypto.getRandomValues(new Uint8Array(32))` codificado en base64url (256 bits, sin formato reconocible). Para identificadores de fila o registro, un UUID v4 está bien.
¿Qué pasa con el node field en UUID v1?
El node field son los 48 bits finales de un UUID v1. Originalmente se usaba la MAC del emisor, pero RFC 9562 §5.1 permite explícitamente aleatorizarlo para no filtrar identidad. Muchas libs modernas (incluido `uuid` en Node) generan ese campo con bytes aleatorios. La herramienta muestra el node field como hex y lo etiqueta así para no implicar que sea siempre una MAC real.
¿Mi UUID v7 es realmente ordenable por tiempo?
Sí, lexicográficamente. Los primeros 48 bits son timestamp Unix ms big endian, así que para dos UUIDs v7 generados en momentos distintos, el más reciente es siempre mayor en orden alfabético. Esto sirve para índices B-tree en bases de datos (Postgres, MySQL): inserciones cuasi-secuenciales reducen la fragmentación del índice respecto a v4. Dentro del mismo milisegundo, el orden es aleatorio (los bits siguientes son random).
¿Cuánta colisión real hay entre UUIDs v4?
Con 122 bits efectivos, la probabilidad de colisión es astronómicamente baja: necesitarías generar miles de millones de UUIDs por segundo durante décadas para tener una probabilidad de colisión apreciable. En la práctica, si tu generador usa una fuente criptográfica (Web Crypto), las colisiones no son un riesgo del que preocuparse. Lo que sí puede pasar: usar el mismo seed entre máquinas (no aplica con Web Crypto) o reutilizar IDs por bug en el código.
¿Puedo pegar UUIDs sin guiones?
Sí. La herramienta acepta los 32 caracteres hex con o sin guiones, en mayúsculas o minúsculas. Normaliza siempre a canonical lowercase con guiones al mostrar el resultado.