Código

Guía del generador de UUID: v4, v7, espacios de nombres y formatos GUID

ToolMellow ·

Un UUID es un identificador de 128 bits con convenciones definidas de versión y variante. ToolMellow genera v1, v3, v4, v5, v6 y v7, además de los valores fijos Nil y Max. Elige Versión de UUID y Formato de UUID, configura el lote o los nombres y pulsa Generar UUID. La generación se ejecuta localmente en un worker del navegador.

Las versiones sirven para necesidades distintas: identificadores aleatorios, orientados al tiempo o reproducibles a partir de un espacio de nombres y un nombre. Esta guía explica las opciones y sus límites. Un UUID no es automáticamente un token de autorización, una contraseña, un valor único verificado globalmente ni una prueba de la hora real de un evento. Los ejemplos son ilustraciones fijas, no identificadores nuevos asignados a producción.

Generador de UUID

Cómo generar un UUID o un lote

Abre Generador de UUID, elige Versión de UUID y Formato de UUID y, si quieres, activa UUID en mayúsculas o Salida como matriz JSON. La versión predeterminada es v4. En los modos aleatorio, temporal, Nil y Max, elige una Cantidad entera de 1 a 1000. Para v3 o v5, introduce nombres y un espacio de nombres; Cantidad no se utiliza para esa salida.

Pulsa Generar UUID y revisa la versión, la representación y los valores antes de copiarlos o descargarlos. Cambiar la entrada o una opción invalida el resultado anterior. Ajustar líneas solo afecta al aspecto. Este generador no tiene la acción Usar resultado como entrada; copia los valores manualmente si los necesita otra aplicación.

  • Usa la versión que espera tu aplicación, no cambies solo porque prefieras el aspecto de otro resultado.
  • Documenta el espacio de nombres y las reglas de representación del nombre si necesitas reproducibilidad.
  • Conserva las condiciones de formato y reloj para identificadores temporales; un UUID no es una decisión de autenticación.

Elige entre v1, v3, v4, v5, v6 y v7

RFC 9562 es el estándar UUID vigente y sustituye a RFC 4122. ToolMellow ofrece las seis versiones de la tabla y dos constantes especiales. No genera la versión 2 ni diseños personalizados de la versión 8. Cambiar el formato textual no cambia la versión ni los bits del identificador.

La versión identifica una construcción, no una promesa de unicidad global, secreto o compatibilidad con todos los sistemas. Una base de datos o protocolo puede exigir sus propias versiones y representaciones. Esta página genera identificadores: no consulta un registro, no se conecta a una base de datos y no mide el rendimiento de índices.

Elige entre v1, v3, v4, v5, v6 y v7
ModoConstrucción en esta herramientaLímite útil
v4Aleatoriedad criptográficaID aleatorio, no marca de tiempo ni sistema automático de tokens secretos
v7Tiempo Unix con contador y campos aleatorios de la bibliotecaOrientado al tiempo; orden limitado al reloj y worker
v1Tiempo gregoriano, secuencia de reloj y nodo aleatorioExpone tiempo; no lee la MAC del dispositivo
v6Tiempo gregoriano reordenado, nodo y secuencia aleatoriosCampo temporal colocado antes en el identificador que en v1; importan las reglas de almacenamiento
v5Espacio de nombres y nombre UTF-8 exacto con SHA-1Determinista, no autenticación con clave
v3Espacio de nombres y nombre UTF-8 exacto con MD5Construcción determinista heredada, no almacenamiento de contraseñas
NilUUID fijo con todos los bits a ceroConstante repetida, no asignación única nueva
MaxUUID fijo con todos los bits a unoConstante repetida, no asignación única nueva

RFC 9562: identificadores UUID, estructuras, espacios de nombres y ejemplosuuid.js 14.0.2: API de generación UUID y gestión de estado

Estructura UUID, versión, variante y término GUID

Un UUID textual estándar tiene 32 caracteres hexadecimales y cuatro guiones: grupos 8-4-4-4-12, con 36 caracteres en total. En las versiones normales generadas aquí, el primer carácter hexadecimal del tercer grupo indica la versión. Los bits de variante afectan al inicio del cuarto grupo, habitualmente 8, 9, a o b. Nil y Max son casos especiales, no solicitudes de generación normal de v0 o v15.

GUID es un término habitual para un identificador de tipo UUID. La opción Llaves · GUID de ToolMellow añade llaves al valor textual; no genera una estructura binaria de Windows ni cambia el orden de bytes. Las mayúsculas solo cambian cómo se muestran las letras hexadecimales. Una cadena con sintaxis plausible no demuestra quién la generó ni autoriza el acceso.

RFC 9562: identificadores UUID, estructuras, espacios de nombres y ejemplos

UUID v4: identificadores aleatorios y límites de colisión

Un UUID v4 normal reserva bits para versión y variante y utiliza aleatoriedad en los otros 122 bits. La herramienta requiere soporte de valores aleatorios criptográficos para sus modos aleatorios y temporales. La biblioteca puede usar crypto.randomUUID nativo para v4 si está disponible, o su implementación de valores aleatorios criptográficos en caso contrario. No hay alternativa basada en Math.random.

La generación aleatoria hace poco probables las colisiones accidentales bajo supuestos adecuados, pero no garantiza que cada identificador esté sin usar en todo el mundo. La herramienta no comprueba duplicados externamente. Si la unicidad es esencial, aplica las reglas reales de asignación y almacenamiento de la aplicación; un valor generado en el navegador no es una reserva global.

RFC 9562: identificadores UUID, estructuras, espacios de nombres y ejemplosuuid.js 14.0.2: API de generación UUID y gestión de estadoAPI Web Cryptography de W3C: valores aleatorios criptográficos

Campos temporales, reloj del dispositivo y orden de lotes

v1 y v6 utilizan estructuras de tiempo gregoriano en unidades de 100 nanosegundos; v6 reordena los campos temporales. Esta implementación se basa en un reloj del dispositivo con milisegundos, por lo que la unidad del formato no demuestra precisión de medida de 100 nanosegundos. v7 comienza con milisegundos Unix y combina campos de secuencia o contador y aleatorios gestionados por la biblioteca; los bits restantes no son todos aleatorios independientes en esta implementación.

La biblioteca gestiona el estado del reloj y contador dentro del trabajo del worker, incluidos los valores repetidos o retrasos del reloj en v7. Cada generación utiliza un worker nuevo, así que ese estado no se comparte entre clics, pestañas ni dispositivos. Una marca de tiempo decodificada puede reflejar la gestión de reloj de la biblioteca, no un reloj oficial. No se garantiza un orden monótono entre lotes ni distribuido, y se rechazan valores de reloj fuera del rango admitido.

RFC 9562: identificadores UUID, estructuras, espacios de nombres y ejemplosuuid.js 14.0.2: API de generación UUID y gestión de estadoWHATWG HTML: workers y su ciclo de vida

Qué pueden revelar los UUID sobre tiempo e identidad

v1, v6 y v7 exponen información temporal. Aquí v1 y v6 usan campos de nodo aleatorios, sin leer la dirección MAC del adaptador de red. Esto distingue esta implementación de otras que puedan elegir un origen de nodo distinto. No hace anónimos los valores temporales.

v4 no tiene un campo definido de hora de creación; v3 y v5 pueden revelar relaciones mediante nombres y espacios repetidos o probando candidatos. Ninguno demuestra automáticamente identidad, secreto o propiedad. Evita nombres reales sensibles en ejemplos compartidos y diseña la autorización de la aplicación por separado del formato.

RFC 9562: identificadores UUID, estructuras, espacios de nombres y ejemplosuuid.js 14.0.2: API de generación UUID y gestión de estado

v3 y v5 basados en nombres: líneas literales y repetibilidad

Para v3 o v5, cada línea separada por CRLF, CR o LF es un nombre. Se conservan líneas vacías, nombres vacíos finales, espacios, mayúsculas y duplicados. Un editor vacío produce el UUID de un único nombre vacío, no un lote sin elementos. Cantidad no controla estos modos; el máximo es de 1000 líneas y 1000000 unidades UTF-16 de entrada.

La misma versión, espacio de nombres y nombre UTF-8 exacto reproducen el mismo UUID. La herramienta rechaza sustitutos sin pareja y no normaliza Unicode ni recorta nombres. Formas normalizadas que parecen iguales o un espacio final pueden cambiar los bytes de entrada. MD5 y SHA-1 implementan aquí construcciones UUID estandarizadas; no son hashes de contraseñas, cifrado ni autenticación con clave.

RFC 9562: identificadores UUID, estructuras, espacios de nombres y ejemplosWHATWG Encoding: UTF-8 y decodificación de textoECMAScript: isWellFormed de Stringuuid.js 14.0.2: API de generación UUID y gestión de estado

Espacios DNS, URL, OID, X.500 y personalizados

Espacio de nombres selecciona un UUID que se usa con cada nombre. DNS es el valor predeterminado; URL, OID y X.500 aportan las otras constantes de la tabla. La etiqueta no resuelve DNS, no solicita URL, no normaliza dominios, no valida un OID y no analiza un nombre distinguido X.500. La herramienta pasa texto de nombre UTF-8 literal a la construcción elegida; sigue las reglas adicionales de representación que requiera tu aplicación.

UUID personalizado exige un UUID de espacio de nombres válido, estándar y con guiones. Se acepta hexadecimal en mayúsculas, y la biblioteca también acepta Nil y Max como espacios de nombres. Ese campo no acepta formatos compacto, con llaves ni URN. Vaciar devuelve el espacio personalizado a DNS; no cambia los valores ya descargados.

Espacios DNS, URL, OID, X.500 y personalizados
PredefinidoUUID del espacio de nombres
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8
X.5006ba7b814-9dad-11d1-80b4-00c04fd430c8

RFC 9562: identificadores UUID, estructuras, espacios de nombres y ejemplosuuid.js 14.0.2: API de generación UUID y gestión de estado

Ejemplos conocidos con el espacio DNS

Con DNS y el nombre exacto www.example.com, los valores estándar en minúsculas de la tabla reproducen los ejemplos basados en nombres del RFC. Seleccionar DNS no consulta la red. Un dominio en mayúsculas no se pasa silenciosamente a minúsculas: es otra entrada literal.

Usa estos ejemplos fijos para comprobar versión y espacio antes de investigar tu convención de nombres real. En v3/v5 las líneas repetidas producen valores repetidos. El resultado determinista es útil con la convención acordada, pero no demuestra resistencia a colisiones para todos los usos ni certifica la propiedad del nombre.

Ejemplos conocidos con el espacio DNS
VersiónNombre exactoSalida estándar
v3www.example.com5df41881-3aed-3515-88a7-2f4a814cf09e
v5www.example.com2ed6657d-e927-568b-95e1-2665a8aea6a2

RFC 9562: identificadores UUID, estructuras, espacios de nombres y ejemplos

Salida estándar, compacta, con llaves, URN y JSON

El selector cambia la representación, no los bits. La tabla muestra un valor v5 fijo en cuatro formatos. UUID en mayúsculas cambia sus letras hexadecimales; el prefijo URN sigue siendo urn:uuid:. Comprueba que el receptor acepte la representación elegida; este formateador no serializa GUID binarios ni convierte bases de datos.

Salida como matriz JSON crea una matriz con sangría de cadenas en el formato elegido; de lo contrario, separa valores con saltos de línea. Descargar guarda toolmellow-result.json si se selecciona JSON, o toolmellow-result.txt en otro caso. Ambas descargas son texto UTF-8. Cambiar opciones invalida el resultado anterior, así que genera uno nuevo tras elegir el formato.

Salida estándar, compacta, con llaves, URN y JSON
FormatoCaracteres por valorEjemplo
Estándar362ed6657d-e927-568b-95e1-2665a8aea6a2
Compacto322ed6657de927568b95e12665a8aea6a2
Llaves · GUID38{2ed6657d-e927-568b-95e1-2665a8aea6a2}
URN45urn:uuid:2ed6657d-e927-568b-95e1-2665a8aea6a2

RFC 9562: identificadores UUID, estructuras, espacios de nombres y ejemplosuuid.js 14.0.2: API de generación UUID y gestión de estado

Nil, Max y qué no demuestra validar la sintaxis

Nil es 00000000-0000-0000-0000-000000000000 y Max es ffffffff-ffff-ffff-ffff-ffffffffffff. Son valores especiales fijos. Una Cantidad de dos genera la misma constante dos veces, no dos identificadores nuevos únicos. No deben confundirse con un valor aleatorio ni una versión normal generada.

Una sintaxis UUID válida o un patrón de versión y variante coincidente no demuestra que el valor esté libre, sea secreto, lo haya emitido alguien autorizado o sea seguro como permiso de cuenta. Los valores basados en nombres son predecibles con sus entradas; los temporales revelan tiempo. No hay registro de unicidad, ciclo de tokens de sesión, firma digital ni servicio de autenticación UUID.

RFC 9562: identificadores UUID, estructuras, espacios de nombres y ejemplos

Límites, capacidades del navegador y errores

En los modos aleatorios, temporales, Nil y Max, Cantidad debe ser un entero de 1 a 1000. Los modos de nombres limitan las líneas por separado y usan un máximo total de un millón de unidades UTF-16. La carga local rechaza archivos de 4000000 bytes o más y texto por encima del límite. File.text() elimina un BOM UTF-8 inicial y sustituye UTF-8 mal formado; la edición del navegador puede cambiar saltos de línea. El texto importado no preserva los bytes originales como fuente de nombres.

Los modos aleatorios y temporales necesitan crypto.getRandomValues. randomUUID nativo requiere contexto seguro, pero la biblioteca puede usar valores aleatorios criptográficos sin él; los modos de nombres y constantes no requieren aleatoriedad ni crypto.subtle. No apliques a todos los UUID el requisito general de la herramienta de hash SHA. El navegador, la disponibilidad de workers y las restricciones de plataforma pueden impedir la generación.

Límites, capacidades del navegador y errores
SíntomaQué comprobar
Espacio de nombres no válidoUsa un UUID válido de 36 caracteres con guiones en el campo personalizado
v3/v5 repetido inesperadamenteComprueba duplicados, nombres vacíos y el mismo espacio y nombre exactos
Cantidad de nombres incorrectaCada línea es un nombre; un salto final añade uno vacío
Error de aleatoriedad o relojComprueba la capacidad requerida o el reloj real del dispositivo
Resultado inesperado al importarComprueba el BOM eliminado, sustitución UTF-8, separadores y bytes del nombre

API Web Cryptography de W3C: valores aleatorios criptográficosuuid.js 14.0.2: API de generación UUID y gestión de estadoAPI File de W3C: lectura de Blob como textoWHATWG Encoding: UTF-8 y decodificación de textoWHATWG HTML: workers y su ciclo de vida

Vaciar, generar localmente y solicitudes del sitio

Vaciar elimina nombres o entrada, resultado, errores e historial y restablece el espacio personalizado a DNS. Conserva Versión de UUID, Cantidad, Formato de UUID, mayúsculas, JSON y Ajustar líneas. Actualizar o cerrar descarta entrada y resultados en memoria. Los archivos descargados permanecen en el dispositivo, y Vaciar no promete borrado forense de la memoria del navegador o sistema operativo.

La generación no sube nombres suministrados, archivos seleccionados ni UUID a un servidor de generación o registro de asignación. Cargar el sitio sí envía metadatos habituales al alojamiento; el sitio público usa Google Analytics para las visitas, con cookies e información del navegador y dispositivo. Generar localmente no implica anonimato, cero solicitudes de red ni ausencia de registros de infraestructura.

Integra el generador de UUID con su enlace de atribución

Elige el idioma y utiliza la integración bajo el espacio de trabajo para copiar o descargar el fragmento HTML proporcionado. Pégalo en una plataforma que permita el iframe externo y el script de ajuste de tamaño. Incluye un enlace visible de vuelta a la página UUID de ToolMellow en el mismo idioma; conserva esa atribución.

Previsualiza la integración en una pantalla estrecha y comprueba el portapapeles y el worker para el modo elegido. Mantiene versiones, límites y estado local; no se convierte en una API remota de identificadores ni un servicio de unicidad compartida. El enlace utiliza nofollow y noopener y no garantiza mejoras de posicionamiento.

Preguntas frecuentes

¿Cómo genero un UUID?

Elige Versión de UUID y Formato de UUID, configura Cantidad para modos aleatorios, temporales o fijos, o espacio y líneas de nombres para v3/v5, y pulsa Generar UUID. Copia o descarga texto o JSON. El valor predeterminado es v4.

¿En qué se diferencian UUID v4 y v7?

v4 usa aleatoriedad criptográfica con bits de versión y variante. v7 incluye milisegundos Unix y campos de contador y aleatorios de la biblioteca. Está orientado al tiempo, pero no promete hora oficial ni orden entre ejecuciones, pestañas o dispositivos.

¿Los UUID son siempre únicos?

No se garantiza unicidad global ni se comprueban asignaciones externas. Las colisiones aleatorias son poco probables bajo supuestos adecuados. Los nombres duplicados repiten valores y Nil/Max son constantes. Aplica las reglas de unicidad de la aplicación.

¿Por qué UUID v5 repite el mismo valor?

La misma versión, espacio y nombre UTF-8 exacto reproducen el UUID. Los nombres vacíos o duplicados se conservan como líneas separadas y pueden repetir valores. No se elige un ID aleatorio nuevo para cada nombre repetido.

¿Cantidad controla los lotes UUID v3 o v5?

No. Cada línea separada por CRLF, CR o LF es un nombre, incluidos vacíos y la línea vacía final. Los lotes basados en nombres admiten hasta 1000 líneas y un millón de unidades UTF-16.

¿Qué hacen las opciones DNS y URL?

Seleccionan espacios de nombres predefinidos para bytes de nombre literales. No consultan DNS, no solicitan URL, no normalizan mayúsculas de dominio ni validan una dirección completa. Sigue la convención que requiere tu aplicación.

¿UUID v1 revela aquí mi dirección MAC?

Esta implementación usa nodos aleatorios en v1 y v6, nunca la MAC del dispositivo. Siguen exponiendo información temporal. Otras implementaciones pueden usar otros nodos; no es garantía de anonimato.

¿Se garantiza el orden temporal de UUID v7?

La biblioteca gestiona tiempo y contador dentro del worker de generación. Cada ejecución usa un worker nuevo y no se garantiza orden entre lotes ni distribuido. Los errores o retrocesos del reloj pueden afectar a la información temporal.

¿En qué se diferencian los formatos UUID y GUID?

GUID es un término relacionado con UUID. La opción de llaves solo envuelve el UUID textual. Estándar, compacto, llaves y URN representan los mismos bits; no convierten a una estructura binaria de Windows.

¿Nil y Max son valores únicos nuevos?

No. Nil contiene ceros y Max unos en todos sus bits. Son valores especiales fijos y se repiten al generar más de uno. No son modos aleatorios normales de v0 o v15.

¿Generar UUID siempre requiere HTTPS y hash Web Crypto?

No. Los modos aleatorios y temporales necesitan valores aleatorios criptográficos; v4 puede usar la biblioteca si randomUUID nativo no está disponible. v3/v5 utilizan hashes de nombres de la biblioteca y Nil/Max son constantes. No todos necesitan crypto.subtle ni la misma capacidad.

¿Un UUID puede ser automáticamente una contraseña o token secreto?

Su sintaxis no demuestra secreto, autorización ni un ciclo completo de tokens. Los modos de nombres, tiempo y constantes tienen estructura predecible o visible. Diseña autenticación y almacenamiento según la aplicación, no trates todo UUID como secreto.

¿Qué restablece Vaciar?

Elimina entrada, salida, errores e historial y restablece el espacio personalizado a DNS. Conserva versión, Cantidad, formato, mayúsculas, JSON y Ajustar líneas. Los archivos descargados permanecen en el dispositivo.

¿Puedo integrar el generador de UUID en mi sitio?

Usa el fragmento HTML localizado bajo el espacio de trabajo, conserva el enlace visible a ToolMellow y comprueba iframe, script, portapapeles y worker. La integración mantiene modos y límites; no es una API remota de asignación o unicidad.

Fuentes y lecturas adicionales

Ponlo en práctica.