Generador de UUID

Código
Espacio de nombres

Introducción

El Generador de UUID de Toollect es una herramienta basada en navegador que produce Identificadores Únicos Universales (UUIDs, también conocidos como GUIDs) en las ocho versiones estándar — v1 a v8. Ya sea que necesite identificadores aleatorios para formularios web, claves ordenadas por tiempo para registros de base de datos, IDs deterministas basadas en espacios de nombres para sistemas distribuidos, o UUIDs de formato personalizado para integración heredada, esta herramienta cubre todo el espectro sin requerir instalación de software ni procesamiento del lado del servidor.

Los UUIDs son uno de los estándares de identificación más adoptados en ingeniería de software, utilizados desde claves primarias de base de datos e identificadores de recursos de API hasta trazado distribuido y tokens de sesión. El Generador de UUID de Toollect consolida todas las versiones de UUID en una sola interfaz, permitiéndole elegir la variante adecuada para su caso de uso y generarla al instante con un solo clic.

Toda la generación se ejecuta completamente dentro de su navegador usando la Web Crypto API. No se transmiten datos a través de la red, no se establecen cookies ni se registran identificadores. La herramienta funciona sin conexión después de la carga inicial de la página y en todos los navegadores y dispositivos modernos.

Casos de uso

Diferentes versiones de UUID sirven a diferentes necesidades arquitectónicas. Elegir la versión correcta depende de sus requisitos de ordenamiento, determinismo, privacidad y coordinación del sistema.

Claves primarias de base de datos

Los UUIDs eliminan la necesidad de una secuencia central al generar claves primarias en instancias de base de datos distribuidas. UUID v4 es la opción más simple, pero UUID v6 y v7 ofrecen ordenamiento por tiempo que reduce significativamente la fragmentación de índices B-tree en bases de datos como PostgreSQL y MySQL. Para sistemas que necesitan tanto unicidad global como rápido rendimiento de escritura, v7 se ha convertido en la opción moderna recomendada.

Identificadores de sistemas distribuidos

Los microservicios y sistemas distribuidos a menudo generan identificadores de forma independiente en diferentes nodos. UUID v1 incluye un identificador de nodo (derivado de la dirección MAC) y secuencia de reloj, haciendo que los IDs de cada nodo generador sean inherentemente únicos sin coordinación. UUID v4 y v7 también son populares para este escenario debido a su simplicidad.

IDs deterministas basados en nombre

Cuando la misma entrada debe producir siempre el mismo UUID — por ejemplo, generar un identificador estable a partir de un correo electrónico de usuario, una URL de recurso o un nombre calificado por espacio de nombres — UUID v3 (basado en MD5) y v5 (basado en SHA-1) proporcionan determinismo. Esto es útil para almacenamiento direccionable por contenido, identidad de entidades en event sourcing y migración de datos heredados sin cambiar identificadores.

Identificadores de recursos de API

Exponer enteros autoincrementales en URLs de API filtra información sobre la cantidad y el orden de los recursos. Los UUIDs proporcionan identificadores opacos que no revelan nada sobre los internos del sistema. UUID v4 es la opción más común para rutas de recursos de API REST. Las opciones de formato de mayúsculas y sin guiones de la herramienta facilitan la adaptación de UUIDs a diferentes convenciones de URL y formato.

Sistemas personalizados y heredados

UUID v2 (seguridad DCE) añade identificadores de usuario y grupo locales para contextos de seguridad a nivel de sistema operativo. UUID v8 permite diseños de campo personalizados para sistemas que necesitan incrustar bits de datos específicos mientras mantienen el formato UUID estándar. Estas versiones son nicho pero valiosas para escenarios de integración especializados.

Cómo funciona

El Generador de UUID opera completamente del lado del cliente. Cuando selecciona una versión y hace clic en generar, la herramienta invoca el algoritmo apropiado usando JavaScript y la Web Crypto API del navegador.

Para UUIDs basados en aleatoriedad (v4), la herramienta llama a crypto.getRandomValues() para producir bytes aleatorios criptográficamente seguros, luego los formatea en el diseño UUID estándar con los bits de versión y variante correctos. Para UUIDs basados en tiempo (v1, v2, v6, v7), la herramienta lee la marca de tiempo actual del reloj del sistema y la combina con bytes de secuencia de reloj y nodo aleatorios. Para UUIDs basados en nombre (v3, v5), la herramienta hashea un espacio de nombres y un nombre juntos usando MD5 o SHA-1 a través de la API SubtleCrypto, luego extrae 128 bits al formato UUID estándar.

Formato UUID

Un UUID es un valor de 128 bits mostrado como una cadena de 36 caracteres en el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, donde cada x es un dígito hexadecimal. Los 128 bits están estructurados en campos:

Campo Bits Propósito
time_low 32 Bits bajos 32 de la marca de tiempo (v1, v2, v6)
time_mid 16 Bits medios 16 de la marca de tiempo
time_hi_and_version 16 Bits altos 12 de la marca de tiempo + versión de 4 bits
clock_seq_hi_and_reserved 8 Bits altos 6 de la secuencia de reloj + 2 bits de variante
clock_seq_low 8 Bits bajos 8 de la secuencia de reloj
node 48 Identificador de nodo (dirección MAC o aleatorio)

El nibble de versión (bits 48-51, el nibble más significativo del tercer grupo) identifica qué algoritmo produjo el UUID: 0001 (v1), 0010 (v2), 0011 (v3), 0100 (v4), 0101 (v5), 0110 (v6), 0111 (v7), 1000 (v8). Este es el 4 que ve en un UUID v4 estándar como 550e8400-e29b-41d4-a716-446655440000.

Los bits de variante (bits 64-65, los dos bits más significativos del primer byte del cuarto grupo) indican la variante UUID. RFC 9562 especifica la variante 10xxxxxx (bits 64-65 = 10), lo que significa que el primer carácter del cuarto grupo siempre es 8, 9, a o b.

Ejemplo de diseño binario

La estructura de 128 bits de un UUID se entiende mejor visualmente. Tomando un UUID v4 concreto 550e8400-e29b-41d4-a716-446655440000, así es como los bits se asignan a cada grupo y campo:

Grupo:     1          2          3          4          5
Hex:     550e8400    e29b       41d4       a716       446655440000
Binario: [32 bits]   [16 bits]   [16 bits]  [16 bits]  [48 bits]

Nibble de versión (grupo 3, nibble alto):
  550e8400-e29b-4  1d4-a716-446655440000
                  ^
                  version = 0100 (v4)

Bits de variante (grupo 4, byte alto):
  550e8400-e29b-41d4-  a  716-446655440000
                       ^
                       variant = 10xxxxxx

Desglose binario completo de los grupos 3-4:

  group 3 (16 bits)      group 4 start (8 bits)
  0100 0001 1101 0100    1010 0111
  └─┘                    └─┘
  ver=0100 (v4)          variant | clock_seq_hi
                         10

Para UUID v7, los primeros 48 bits codifican la marca de tiempo Unix en milisegundos:

  018f3a6e-1a2b-  7  bcd-8a1b-2c3d4e5f6789
                  ^
                  version = 0111 (v7)

  groups 1-2: 48-bit Unix ms timestamp
  0000 0001 1000 1111 0011 1010 0110 1110 0001 1010 0010 1011
  group 3 high nibble:
  0111  = version 7

El byte alto del cuarto grupo (a en el ejemplo anterior) contiene los bits de variante. Dado que la variante es 10, este byte siempre está en el rango 1000 0000 (0x80) a 1011 1111 (0xBF), que en hexadecimal corresponde a 8, 9, a o b como primer carácter del cuarto grupo.

Versiones de UUID explicadas

La siguiente tabla resume las ocho versiones estándar de UUID de un vistazo:

Versión Algoritmo Entrada principal Determinista Ordenable Uso típico
v1 Basado en tiempo + Nodo Marca de tiempo, secuencia de reloj, MAC No Sí (tiempo) Sistemas distribuidos, IDs de tiempo heredados
v2 Seguridad DCE Marca de tiempo, POSIX UID/GID No Sí (tiempo) Identificadores de entorno DCE (nicho)
v3 Hash MD5 Espacio de nombres + nombre No IDs basados en nombre donde MD5 es suficiente
v4 Aleatorio 122 bits aleatorios No No Identificadores de propósito general
v5 Hash SHA-1 Espacio de nombres + nombre No Identificadores basados en nombre (recomendado sobre v3)
v6 Tiempo reordenado Marca de tiempo (tiempo alto primero) No Sí (tiempo) Claves de base de datos ordenadas por tiempo
v7 Marca de tiempo Unix + aleatorio Marca de tiempo Unix ms + aleatorio No Sí (ms) Identificadores modernos ordenados por tiempo
v8 Personalizado Campos definidos por el usuario Depende Depende Formatos experimentales o propietarios personalizados

UUID v1 — Basado en tiempo

UUID v1 combina una marca de tiempo de 60 bits (intervalos de 100 nanosegundos desde el 15 de octubre de 1582), una secuencia de reloj de 14 bits (para detección de retroceso de reloj) y un identificador de nodo de 48 bits (tradicionalmente derivado de la dirección MAC). Esto le da a cada nodo generador un espacio de identificador único sin coordinación.

La marca de tiempo se distribuye con las partes baja, media y alta en los tres primeros grupos del UUID. Este diseño no secuencial significa que los UUIDs v1 son ordenables por tiempo pero no en un orden monótono amigable para bases de datos — v6 y v7 solucionan esto.

UUID v2 — Seguridad DCE

UUID v2 extiende el diseño de marca de tiempo y secuencia de reloj de v1 pero reemplaza el campo de nodo de 48 bits con un ID de usuario (UID) o grupo (GID) POSIX de 32 bits y un identificador de dominio local de 6 bits. Los 10 bits restantes del campo de nodo y 2 bits de la secuencia de reloj se reutilizan para el dominio local y su estructura:

Campo Bits Fuente
Marca de tiempo 60 Misma época que v1 (100 ns desde 1582-10-15)
Secuencia de reloj 6 Estándar, reducido de 14 bits
Dominio local 6 Identifica el dominio UID (POSIX, DCE, etc.)
Identificador local 32 Valor UID o GID POSIX

UUID v2 está especificado en el estándar DCE 1.1: Remote Procedure Call, no en la especificación central UUID RFC 9562. Se usa raramente fuera de entornos DCE heredados, y la mayoría de los generadores modernos de UUID lo omiten o lo incluyen solo por completitud. Si está construyendo un nuevo sistema, use v4, v7 o v5.

UUID v3 — Basado en nombre MD5

UUID v3 genera un UUID determinista a partir de un UUID de espacio de nombres y una cadena de nombre. El proceso concatena los bytes del espacio de nombres y el nombre, calcula un hash MD5 y toma los primeros 128 bits como UUID. El mismo espacio de nombres y nombre siempre producen el mismo UUID v3, haciéndolo adecuado para direccionamiento de contenido e identificadores estables.

Consulte la sección UUID v3 vs v5 para una comparación de las dos versiones basadas en nombre.

UUID v4 — Aleatorio

UUID v4 usa 122 bits generados aleatoriamente más 6 bits fijos (4 para el nibble de versión, 2 para la variante). Esta es la versión de UUID más utilizada, soportada directamente por la mayoría de las bibliotecas estándar de lenguajes de programación. El Generador de UUID de Toollect usa crypto.getRandomValues() para garantizar aleatoriedad criptográficamente segura, haciendo la salida adecuada para contextos sensibles a la seguridad como tokens de sesión.

La probabilidad de una colisión entre mil millones de UUIDs v4 generados es aproximadamente 1 en 5,3 × 10²¹ — insignificante para todos los propósitos prácticos.

UUID v5 — Basado en nombre SHA-1

UUID v5 es la contraparte de v3, usando SHA-1 en lugar de MD5 para el hash subyacente. Produce las mismas garantías de determinismo (mismo espacio de nombres + nombre = mismo UUID) con un algoritmo de hash más resistente a colisiones. Para nuevos sistemas que necesitan UUIDs basados en nombre, RFC 9562 recomienda v5 sobre v3.

Consulte la sección UUID v3 vs v5 para la comparación detallada.

UUID v6 — Tiempo reordenado

UUID v6 reestructura la marca de tiempo de v1 para colocar los bits de tiempo más significativos primero. Esto hace que los UUIDs v6 sean monótonamente crecientes cuando se ordenan lexicográficamente, a diferencia de v1 donde la marca de tiempo está dividida entre campos no adyacentes. UUID v6 es un reemplazo moderno de v1 en entornos donde importan los índices de base de datos ordenados por tiempo o el almacenamiento ordenado.

UUID v7 — Marca de tiempo Unix + aleatorio

UUID v7 usa una marca de tiempo Unix de 48 bits en milisegundos seguida de 74 bits aleatorios. La marca de tiempo ocupa los bits más significativos, haciendo que los UUIDs v7 sean ordenables por tiempo de creación — ideal para claves primarias de base de datos donde el rendimiento del índice B-tree es importante. UUID v7 es más simple que v1 o v6 porque no requiere direcciones MAC, secuencias de reloj o conversiones de época de 100 ns.

Para nuevos sistemas que necesitan UUIDs ordenados por tiempo, v7 es generalmente la mejor opción: proporciona ordenamiento de precisión de milisegundos, amplia aleatoriedad e implementación directa.

UUID v8 — Personalizado

UUID v8 reserva el espacio de identificador de versión 8 para formatos UUID experimentales o propietarios. Los únicos bits fijos son el nibble de versión de 4 bits (1000) en los bits 48-51 y la variante de 2 bits (10) en los bits 64-65 — los 122 bits restantes son libres para cualquier diseño de campo personalizado.

Campo Bits Restricción
Contenido personalizado 48 Bits 0-47 (grupos 1-2), formato libre
Versión 4 Fijado a 1000
Contenido personalizado 12 Bits 52-63 (final del grupo 3), formato libre
Variante 2 Fijado a 10
Contenido personalizado 62 Bits 66-127 (grupos 4-5), formato libre

Los usos comunes de v8 incluyen incrustar un prefijo específico de la empresa, combinar una marca de tiempo truncada con un contador de secuencia, o codificar un identificador heredado en formato UUID manteniendo la compatibilidad con el formato estándar. Por ejemplo, un sistema podría asignar los primeros 32 bits como ID de inquilino, los siguientes 32 bits como marca de tiempo en milisegundos y los 64 bits restantes como sufijo aleatorio — todo dentro de un formato que cualquier analizador UUID estándar puede leer sin modificación.

El formato v8 no está registrado en IANA y no tiene garantías de interoperabilidad entre sistemas. Es un espacio de uso privado para casos donde las versiones estándar de UUID no se ajustan al diseño de datos requerido.

UUID v3 vs v5

Tanto UUID v3 como v5 generan identificadores deterministas a partir de un UUID de espacio de nombres y un nombre, pero difieren en su algoritmo de hash:

Aspecto UUID v3 UUID v5
Algoritmo de hash MD5 (128 bits) SHA-1 (160 bits, truncado a 128)
Resistencia a colisiones Menor — MD5 se considera criptográficamente roto Mayor — sin ataques de colisión prácticos
Rendimiento Ligeramente más rápido (MD5 vs SHA-1) Ligeramente más lento
Recomendación estándar Solo para compatibilidad retroactiva con v3 RFC 9562 recomienda v5 para sistemas nuevos
Interoperabilidad Requerido si el sistema existente usa v3 Requerido si el sistema existente usa v5

El Generador de UUID de Toollect incluye cuatro espacios de nombres estándar predefinidos por RFC 9562: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) y X.500 (6ba7b814-9dad-11d1-80b4-00c04fd430c8). También puede proporcionar un espacio de nombres personalizado en formato UUID estándar para espacios de nombres no estándar.

Uso

Usar el Generador de UUID de Toollect no requiere configuración ni registro. La interfaz está dividida en dos paneles — uno para UUID v1/v2/v4/v6/v7/v8 (generación instantánea) y uno para UUID v3/v5 (generación basada en nombre).

Bloque 1 — UUIDs estándar (v1, v2, v4, v6, v7, v8)

  1. Seleccione la versión de UUID del menú desplegable. El valor predeterminado es v4.
  2. Haga clic en Generar o presione Enter. Un nuevo UUID aparece instantáneamente en el campo de salida.
  3. Alterne las opciones de formato según sea necesario:
    • Mayúsculas: Convierte la salida a dígitos hexadecimales mayúsculos.
    • Sin guiones: Elimina los guiones, produciendo una cadena compacta de 32 caracteres.
  4. Copie el resultado haciendo clic en el botón Copiar.

El cambio del menú desplegable de versión activa la regeneración automática, por lo que cambiar de v4 a v7 produce inmediatamente un nuevo identificador.

Bloque 2 — UUIDs basados en nombre (v3, v5)

  1. Seleccione v3 o v5 del menú desplegable de versión en el panel basado en nombre.
  2. Elija un espacio de nombres seleccionando una de las opciones predefinidas (DNS, URL, OID, X.500) o Personalizado.
  3. Si usa un espacio de nombres personalizado, ingrese un UUID válido en el campo de texto. La herramienta valida el formato y muestra un error si el UUID está mal formado.
  4. Ingrese el nombre en el campo de entrada de nombre. El UUID se regenera automáticamente mientras escribe.
  5. Alterne el formato de mayúsculas y sin guiones y Copie el resultado como en el Bloque 1.

El panel basado en nombre genera UUIDs en cada cambio de entrada — no hay un botón de generar separado para este panel.

Tutorial

Este tutorial guía a través de tres escenarios comunes desde abrir la herramienta hasta copiar el UUID final.

Escenario 1: Generar un UUID v4 para un formulario web

  1. Abra la herramienta en su navegador. La interfaz del Generador de UUID muestra dos paneles.
  2. En el Bloque 1, asegúrese de que el menú desplegable de versión esté en v4 (el predeterminado).
  3. Haga clic en Generar. Aparece un UUID v4, por ejemplo 550e8400-e29b-41d4-a716-446655440000.
  4. Haga clic en Copiar para copiar el UUID a su portapapeles, luego péguelo en su formulario web o solicitud de API.
  5. Alterne Mayúsculas y haga clic en Generar nuevamente para producir 550E8400-E29B-41D4-A716-446655440000.
  6. Alterne Sin guiones para producir 550e8400e29b41d4a716446655440000 para almacenamiento compacto o parámetros de URL.

Escenario 2: Generar un UUID v7 ordenado por tiempo para una clave primaria de base de datos

Suponga que está diseñando una tabla en PostgreSQL que necesita claves primarias globalmente únicas sin una secuencia central, pero también desea un buen rendimiento de escritura.

  1. Seleccione v7 del menú desplegable de versión del Bloque 1. El campo de salida muestra inmediatamente un nuevo UUID v7, como 018f3a6e-1a2b-7bcd-8a1b-2c3d4e5f6789.
  2. Note los primeros caracteres — UUID v7 comienza con una marca de tiempo Unix en milisegundos, por lo que generaciones sucesivas mostrarán valores crecientes en los primeros grupos.
  3. Genere varios UUIDs en rápida sucesión y observe que los valores son monótonos: cada nuevo UUID comienza con un prefijo mayor o igual que el anterior.
  4. Copie el identificador para su sentencia INSERT: INSERT INTO users (id, name) VALUES ('018f3a6e-1a2b-7bcd-8a1b-2c3d4e5f6789', 'Alice');

Escenario 3: Generar un UUID v5 determinista a partir de una URL de recurso

Imagine que tiene un sistema de gestión de contenido donde cada artículo se identifica por su URL, y necesita un UUID estable que no cambie entre implementaciones.

  1. En el Bloque 2, establezca la versión en v5.
  2. Seleccione el espacio de nombres URL. Esto usa 6ba7b811-9dad-11d1-80b4-00c04fd430c8, el espacio de nombres estándar para UUIDs basados en URL.
  3. Ingrese la URL del artículo en el campo Nombre, por ejemplo https://example.com/articles/uuid-guide.
  4. El UUID aparece automáticamente — cada vez que ingresa la misma URL con el espacio de nombres URL, obtiene el mismo UUID.
  5. Pruebe el determinismo: Seleccione el espacio de nombres DNS en su lugar y observe que el UUID cambia. Vuelva a URL — el UUID original reaparece.

Consejos profesionales

Domine estas técnicas avanzadas para aprovechar al máximo el Generador de UUID de Toollect:

  • Use v7 en lugar de v1 para claves primarias de base de datos: UUID v7 ordena por marca de tiempo en milisegundos desde los bits más significativos, dándole un orden monótono amigable para B-tree sin la complejidad de direcciones MAC o gestión de secuencia de reloj. Para nuevos proyectos que requieren UUIDs ordenados por tiempo, comience con v7.

  • Prefiera v5 sobre v3 para UUIDs basados en nombre: A menos que necesite interoperar con un sistema que usa v3, use siempre UUID v5. SHA-1 proporciona más margen de seguridad contra colisiones que MD5 con una diferencia de rendimiento insignificante. La herramienta usa v5 por defecto en el panel basado en nombre por esta razón.

  • Elimine guiones para parámetros de URL: Alterne Sin guiones cuando use UUIDs en rutas de URL o parámetros de consulta. Sin guiones, un UUID se convierte en una cadena hexadecimal de 32 caracteres que no requiere codificación URL y es visualmente más limpia en segmentos de ruta.

  • Use espacios de nombres predefinidos para identificadores consistentes entre sistemas: Los espacios de nombres DNS, URL, OID y X.500 están estandarizados en RFC 9562. Usarlos asegura que cualquier generador de UUID conforme a RFC produzca el mismo UUID v3 o v5 para el mismo nombre. Esto es esencial para la concordancia de identificadores entre sistemas.

  • Espacio de nombres personalizado con un UUID v4 fijo: Al crear su propio espacio de nombres para UUIDs v3/v5, genere un UUID v4 una vez, guárdelo en su configuración y reutilícelo. Esto garantiza que todos los identificadores dentro de su espacio de nombres personalizado sean distintos de cualquier otro espacio de nombres.

  • Genere en lote haciendo clic varias veces: Para lotes pequeños, hacer clic rápidamente en Generar produce UUIDs distintos cada vez. Para generación a gran escala, use el método de línea de comandos o programático descrito a continuación.

Conceptos erróneos comunes sobre UUID

Varias creencias ampliamente repetidas sobre los UUIDs son inexactas o engañosas. Comprender los matices le ayuda a tomar mejores decisiones arquitectónicas.

"Los UUIDs son 100 % garantizados únicos." Ningún sistema de identificación puede garantizar la unicidad absoluta, pero los UUIDs usados correctamente ofrecen una resistencia a colisiones astronómicamente alta. Para UUID v4, la probabilidad de al menos una colisión entre mil millones de IDs generados es aproximadamente 1 en 10¹⁴. Para versiones basadas en tiempo (v1, v6, v7), las colisiones entre diferentes nodos requieren reinicio de reloj simultáneo en múltiples máquinas. La tasa de colisión práctica en todos los UUIDs correctamente implementados es efectivamente cero.

"UUID v4 es siempre la mejor opción." UUID v4 es el más versátil y está bien para la mayoría de aplicaciones, pero no es óptimo para todos los escenarios. Para claves primarias de base de datos, la distribución aleatoria de v4 causa divisiones de página y amplificación de escritura en índices B-tree. UUID v7 ofrece ordenamiento por tiempo que mantiene los índices más eficientemente. Para identificadores deterministas que deben ser reproducibles a partir de un nombre, v3 o v5 es la única opción correcta.

"Los UUIDs son completamente aleatorios." Solo UUID v4 es completamente aleatorio (122 bits de entropía). UUID v1, v2, v6 y v7 incrustan marcas de tiempo, haciéndolos parcialmente predecibles — información que podría filtrarse a través del identificador. UUID v3 y v5 son deterministas para una entrada dada. Si la impredecibilidad es un requisito (tokens de seguridad, identificadores de sesión), use v4 con la Web Crypto API.

"Todos los UUIDs tienen el mismo formato." Todos los UUIDs RFC 9562 comparten el formato hexadecimal de 36 caracteres 8-4-4-4-12, pero la estructura interna difiere radicalmente entre versiones. Un UUID v1 incrusta dirección MAC y bits de marca de tiempo; UUID v4 es pura aleatoriedad; UUID v7 combina una marca de tiempo con bits aleatorios. Puede identificar la versión por el 13.er carácter (4 = v4, 7 = v7, etc.) y la variante por el 17.º carácter (8, 9, a o b).

"Los UUIDs ralentizan el rendimiento de la base de datos." Esto era parcialmente cierto con versiones antiguas de bases de datos y UUID v4 almacenados como cadenas ASCII. Las bases de datos modernas (PostgreSQL con tipo uuid, MySQL 8+ con UUID_TO_BIN, SQL Server) almacenan UUIDs como valores binarios de 16 bytes con soporte de índice nativo. UUID v7 mitiga aún más la fragmentación del índice mediante generación ordenada por tiempo. La diferencia de rendimiento en comparación con enteros autoincrementales es insignificante para la mayoría de las cargas de trabajo.

Alternativas

Existen varias alternativas al Generador de UUID de Toollect, cada una adecuada para diferentes flujos de trabajo.

Herramienta / Método Mejor para Limitaciones
Generador de UUID de Toollect Generación en navegador, todas las versiones v1-v8, sin instalación, privacidad primero Requiere internet para carga inicial de página, no programable
Comando Unix uuidgen Generación por lotes en terminal, scripting, integración en tuberías Normalmente solo v1 y v4; varía según la implementación de la plataforma
ULID IDs ordenables de 26 caracteres base32, seguros para URL, no distinguen mayúsculas/minúsculas Sin bits de versión/variante; no compatible con UUID; solo 80 bits de aleatoriedad
NanoID IDs cortos seguros para URL (21 caracteres por defecto), alfabeto y longitud configurables No es UUID; sin formato estándar ni versionado; longitud varía según configuración
Snowflake (estilo Twitter) IDs de 64 bits ordenados por tiempo, muy compactos, alto rendimiento en sistemas distribuidos Requiere coordinación de ID de trabajador; no es formato UUID; implementaciones específicas de plataforma
Generadores de UUID online (p.ej. uuidgenerator.net) Generación rápida de UUIDs individuales sin conexión Limitados a una o dos versiones; a menudo sin aleatoriedad de grado criptográfico; pueden enviar datos al servidor
PostgreSQL gen_random_uuid() Generación del lado de la base de datos en INSERT Solo PostgreSQL; normalmente solo v4; sin v7 ni versiones basadas en nombre sin extensiones
Módulo uuid de Python Generación programática en aplicaciones Python Requiere entorno de ejecución Python; no basado en navegador
Node.js crypto.randomUUID() Generación del lado del servidor Node.js Solo Node.js; carece de versiones basadas en tiempo y nombre
Web Crypto API (crypto.randomUUID) Generación nativa v4 en navegador sin dependencias Solo soporta v4; sin opciones de formato ni UUIDs basados en nombre

Para la mayoría de usuarios que necesitan generación de UUID instantánea, privada y multiversión sin salir del navegador, el Generador de UUID de Toollect ofrece el conjunto de funciones más completo.

Privacidad de datos

El Generador de UUID de Toollect procesa cada byte de sus datos completamente dentro de su navegador. Ningún dato que ingrese — nombres, espacios de nombres o identificadores generados — se transmite a ningún servidor, se almacena en ninguna base de datos ni se registra en ningún sistema.

Toda la generación utiliza la Web Crypto API integrada de JavaScript (crypto.getRandomValues, crypto.randomUUID, crypto.subtle.digest). La página de la herramienta no incluye scripts de análisis, píxeles de seguimiento, cookies ni incrustaciones de terceros. No se crean ni leen entradas de localStorage o sessionStorage.

Después de la carga inicial de la página, el Generador de UUID funciona completamente sin conexión — genere identificadores incluso en modo avión con cero actividad de red. Puede verificar esto inspeccionando la pestaña Red en las herramientas de desarrollador de su navegador o desconectándose completamente de internet.

Solución de problemas

Problema Causa probable Solución
La salida UUID v4 se repite entre generaciones crypto.getRandomValues() puede estar simulado o no disponible en entornos de prueba En navegadores de producción, crypto.getRandomValues() siempre devuelve entropía fresca. Pruebe generando diez UUIDs en secuencia — todos deberían diferir.
UUID basado en nombre (v3/v5) no muestra salida El campo Nombre está vacío o el espacio de nombres personalizado no es válido Asegúrese de que el campo Nombre contenga texto. Si usa un espacio de nombres personalizado, verifique que sea un UUID válido en formato estándar (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
La validación del espacio de nombres personalizado falla El formato UUID es incorrecto — faltan guiones, longitud incorrecta o caracteres hexadecimales no válidos Ingrese el espacio de nombres como un UUID completo de 36 caracteres incluidos los guiones. La herramienta valida el formato antes de generar.
El botón Copiar no funciona La API del portapapeles del navegador requiere contexto seguro o gesto del usuario Asegúrese de que la página se sirva a través de HTTPS. El botón Copiar usa navigator.clipboard.writeText(), que funciona en todos los navegadores modernos en páginas HTTPS.
UUID v1 muestra valores inesperados La marca de tiempo o la secuencia de reloj pueden desbordarse UUID v1 usa ticks de 100 ns desde octubre de 1582. El ciclo de reloj en 2026 está dentro del rango de 60 bits (~292 años). Las secuencias de reloj se restablecen naturalmente si la hora del sistema retrocede.
El navegador no soporta crypto.randomUUID Versión antigua del navegador La herramienta recurre internamente a crypto.getRandomValues(). Compatible con Chrome 80+, Firefox 75+, Safari 13+, Edge 80+.
Los valores UUID v7 no son estrictamente crecientes Dos generaciones dentro del mismo milisegundo producen el mismo prefijo de marca de tiempo UUID v7 usa precisión de milisegundos. Dentro del mismo milisegundo, múltiples generaciones comparten la misma marca de tiempo; el sufijo aleatorio cambia cada vez. Esto es por diseño y no afecta el ordenamiento del índice de base de datos.

Especificaciones técnicas

El Generador de UUID de Toollect está diseñado para corrección, rendimiento y compatibilidad entre navegadores.

Cumplimiento de estándares

Aspecto Especificación
RFC RFC 9562 (obsoleta RFC 4122)
Formato UUID 128 bits, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Variante Variante RFC 9562 (10xxxxxx)
Mayúsculas/minúsculas Minúsculas por defecto, mayúsculas conmutables
Guiones Incluidos por defecto, extraíbles con opción sin guiones

Detalles del algoritmo por versión

Versión Fuente de entropía Tiempo de generación
v1 performance.now() para marca de tiempo, crypto.getRandomValues() para secuencia de reloj y nodo < 1 ms
v2 Igual que v1 con UID/GID POSIX (local), campo de nodo adaptado < 1 ms
v3 MD5 vía crypto.subtle.digest() ~2-5 ms (asíncrono)
v4 crypto.getRandomValues() < 1 ms
v5 SHA-1 vía crypto.subtle.digest() ~2-5 ms (asíncrono)
v6 Misma marca de tiempo que v1 pero reordenada (tiempo alto primero) < 1 ms
v7 Date.now() para marca de tiempo, crypto.getRandomValues() para sufijo aleatorio < 1 ms
v8 crypto.getRandomValues() para bits aleatorios < 1 ms

Compatibilidad de navegadores

Navegador Versión mínima Estado
Google Chrome 80+ Soporte completo
Mozilla Firefox 75+ Soporte completo
Apple Safari 13+ Soporte completo
Microsoft Edge 80+ Soporte completo
Samsung Internet 13+ Soporte completo
Opera 67+ Soporte completo

Privacidad y seguridad

  • Cero transmisión de datos: toda la generación ocurre en la memoria del navegador
  • No se usan cookies, localStorage ni sessionStorage
  • Sin scripts de análisis ni seguimiento en la página de la herramienta
  • Totalmente funcional sin conexión después de la carga inicial de la página
  • No se requiere registro, inicio de sesión ni claves de API
  • Aleatoriedad criptográficamente segura a través de la Web Crypto API

Características

  • Genere todas las versiones de UUID v1 a v8, incluyendo basadas en tiempo (v1, v6, v7), aleatorias (v4), basadas en nombre (v3, v5), seguridad DCE (v2) y personalizadas (v8)
  • Generación aleatoria criptográficamente segura mediante Web Crypto API sin transmisión de red
  • Alterne entre mayúsculas y elimine guiones para UUIDs compactos o listos para mostrar
  • Generación de UUID basada en nombres con espacios de nombres integrados (DNS, URL, OID, X.500) y espacio de nombres personalizado con validación
  • Procesamiento 100 % del lado del cliente sin envío de datos a ningún servidor, sin registro ni instalación
  • Generación y copia con un solo clic con resultados instantáneos en todos los navegadores modernos y dispositivos

Preguntas frecuentes

¿Qué es un UUID?
Un UUID (Identificador Único Universal) es un identificador de 128 bits estandarizado por RFC 9562. Permite generar identificadores únicos sin coordinación central en sistemas distribuidos. Los UUID vienen en varias versiones, cada una usando un algoritmo diferente — basadas en tiempo (v1, v6, v7), aleatorias (v4), basadas en hash de nombre (v3, v5) y otras — con aproximadamente 5,3 × 10³⁶ valores posibles solo para la versión aleatoria.
¿Qué versión de UUID debería usar?
UUID v4 es la opción más común para propósitos generales por su simplicidad y aleatoriedad. UUID v7 se recomienda para claves primarias de bases de datos donde el ordenamiento por tiempo mejora el rendimiento de índices B-tree. UUID v5 es ideal cuando necesita identificadores deterministas derivados de un nombre y espacio de nombres. UUID v1 es adecuado para sistemas distribuidos que requieren identificadores ordenados por tiempo sin coordinación, aunque v6 y v7 son alternativas modernas.
¿Los UUIDs están garantizados como únicos?
Ningún sistema de identificación puede garantizar unicidad absoluta, pero los UUIDs generados correctamente hacen las colisiones astronómicamente improbables. Para UUID v4, generar mil millones de UUIDs por segundo durante 100 años aún tendría una probabilidad de colisión de solo el 50 %. Las versiones basadas en tiempo (v1, v6, v7) incluyen identificadores de nodo únicos y valores de secuencia de reloj. En la práctica, las colisiones de UUID son prácticamente inexistentes cuando se usan fuentes aleatorias adecuadas e identificadores de nodo únicos.
¿Es seguro este generador de UUID para uso en producción?
Sí. La herramienta usa la Web Crypto API (crypto.getRandomValues y crypto.randomUUID), que es criptográficamente segura y está respaldada por fuentes de entropía del sistema operativo. Toda la generación ocurre completamente en su navegador — no se envía ningún dato a ningún servidor, no se almacena ni se registra. Para UUIDs basados en nombre v3 y v5, el hash utiliza los métodos de digestión SubtleCrypto integrados del navegador.
¿Cuál es la diferencia entre UUID v3 y v5?
Tanto v3 como v5 generan UUIDs deterministas a partir de un espacio de nombres y un nombre mediante hash. UUID v3 usa MD5 (hash de 128 bits) y UUID v5 usa SHA-1 (hash de 160 bits truncado a 128 bits). RFC 9562 recomienda v5 sobre v3 porque SHA-1 es más resistente a colisiones que MD5, que se considera criptográficamente roto. Para sistemas nuevos, use UUID v5 a menos que se requiera interoperabilidad con un sistema existente basado en v3.
¿Puedo usar UUIDs como claves primarias de base de datos?
Sí, pero el rendimiento depende de la versión que elija. Los valores UUID v4 se distribuyen aleatoriamente, lo que puede causar fragmentación del índice en árboles B. UUID v6 y v7 están ordenados por tiempo — los nuevos valores se ordenan secuencialmente, minimizando las divisiones de página y mejorando el rendimiento de escritura. Muchas bases de datos modernas (PostgreSQL, MySQL 8+, SQL Server) admiten tipos e índices UUID nativos.
¿Es un GUID lo mismo que un UUID?
Sí. GUID (Globally Unique Identifier) es la implementación de Microsoft del estándar UUID. Aunque GUID originalmente se refería a la variante específica de Microsoft de UUID, los términos se usan indistintamente en la práctica. Los GUID generados por esta herramienta siguen el estándar UUID RFC 9562 y son completamente compatibles con todos los sistemas que aceptan UUID estándar.
ESC