Generador UUID

Opciones de formato

Número generado

Número

Generador UUID/GUID/ULID/NanoID en línea gratuito que admite 5 formatos de identificadores únicos, generación masiva hasta 100, formato personalizable y validación UUID. Listo para usar instantáneamente: perfecto para claves primarias de bases de datos y creación de datos de prueba.

Relacionado

¿Qué es un UUID?

UUID (Universally Unique Identifier) es un estándar de identificador de 128 bits estandarizado por la Open Software Foundation (OSF), definido en RFC 4122. Su propósito es permitir que los sistemas distribuidos identifiquen de forma única la información sin una autoridad central para la asignación de identificadores.

Un UUID estándar se ve como `550e8400-e29b-41d4-a716-446655440000`, compuesto por 32 dígitos hexadecimales divididos en 5 grupos (8-4-4-4-12) por guiones. Teóricamente, la probabilidad de colisión de UUID v4 es de aproximadamente 1/10^36: si generara mil millones de UUID por segundo durante unos 800 años, la probabilidad de una sola colisión sería de aproximadamente el 50%, lo que es insignificante en la práctica.

Los UUID se utilizan ampliamente para claves primarias de bases de datos, identificadores de seguimiento distribuidos, identificadores de solicitud, identificadores de seguimiento de registros, nombres únicos de archivos, identificadores de datos de prueba e identificadores de sesión. Casi todos los lenguajes de programación principales incluyen bibliotecas integradas de generación UUID.

Casos de uso

  • Genere UUID v4 como claves primarias de registros de tabla durante el diseño de bases de datos para evitar la fuga de volumen de datos de identificadores autoincrementales
  • Use ULID como identificadores globales de solicitud/seguimiento ordenables en sistemas distribuidos o arquitecturas de microservicios
  • Genere UUID en masa como datos de prueba e identificadores simulados de pedido/usuario durante el desarrollo de API y pruebas de integración
  • Use NanoID en lugar de UUID en enlaces cortos front-end o URL de compartición: más cortos, más limpios, sin necesidad de codificación URL
  • Use UUID v5 para generar identificadores deterministas a partir de espacios de nombres fijos, asegurando que la misma entrada produzca siempre la misma salida
  • Use la función de validación para identificar el tipo y versión de ID cuando encuentre identificadores de formato desconocido en registros de depuración o documentación de terceros

Cómo Usar

  1. Seleccione el tipo de ID deseado de las tarjetas anteriores: UUID v4 (recomendado), v1, v5, ULID o NanoID
  2. Si elige UUID v5, ingrese una cadena de espacio de nombres; para otros identificadores puede establecer directamente las opciones de formato
  3. Alterne las opciones de mayúsculas y guiones según sea necesario, establezca la cantidad de generación masiva (1-100) mediante botones rápidos o control deslizante
  4. Haga clic en el botón generar para ver los resultados: copie individualmente, copie todo de una vez, o exporte como TXT/JSON
  5. Para validar un identificador existente, cambie a la pestaña "Validar" y pegue la cadena del ID para obtener información de tipo y versión

Características

  • Cinco tipos de ID en una herramienta: UUID v1 (marca de tiempo), v4 (aleatorio), v5 (espacio de nombres), ULID (ordenable) y NanoID (seguro para URL): una herramienta cubre todas las necesidades del stack tecnológico
  • Validación y reconocimiento UUID: Cambie a la pestaña Validar, pegue cualquier ID para identificar su versión UUID o detectar formato ULID/NanoID: resolución rápida de problemas durante la depuración
  • Genere en masa hasta 100: Genere cualquier cantidad de 1 a 100 identificadores a la vez: ya no necesita copiar manualmente uno por uno para datos de prueba
  • Formato flexible: Alterne mayúsculas y guiones para UUID para cumplir con los requisitos de formato de bases de datos, URL y archivos de configuración
  • Exportación e historial local: Copie todo con un clic, exporte archivos TXT/JSON, historial de generación guardado localmente para recuperación instantánea: operaciones masivas más eficientes
  • Aleatorio seguro del lado del cliente: Utiliza la API crypto del navegador para números aleatorios criptográficamente seguros, los identificadores nunca abandonan su dispositivo, funciona sin conexión

Ejemplos de Código

Generar UUID v4 en JavaScript

javascript

Los navegadores modernos y Node.js 14.17+ tienen la API Web Crypto integrada, lo que permite la generación directa de UUID v4 sin bibliotecas de terceros.

// Navegadores modernos / Node.js 19+
const id = crypto.randomUUID();
console.log(id); // "550e8400-e29b-41d4-a716-446655440000"

// Node.js 14.17 - 18.x
const crypto = require('crypto');
const id = crypto.randomUUID();

Generar UUID en masa en Python

python

Utilice el módulo uuid de la biblioteca estándar de Python para generar varios UUID v4 en masa, ideal para preparación de datos de prueba.

import uuid

# Generar un solo UUID
uid = uuid.uuid4()
print(uid)

# Generar 10 UUID en masa
for _ in range(10):
    print(uuid.uuid4())

# Generar UUID en mayúsculas sin guiones
print(uuid.uuid4().hex.upper())

Generar UUID desde la línea de comandos Shell

bash

Genere rápidamente UUID en la terminal Linux/macOS, adecuado para usar en scripts de shell.

# Linux
uuidgen

# macOS
uuidgen | tr 'A-Z' 'a-z'

# Lectura directa desde archivo aleatorio del sistema (método más bruto)
cat /proc/sys/kernel/random/uuid

¿Qué esquema de ID único debería elegir?

UUID no es la única opción: los IDs autoincrementales de base de datos y Snowflake también son esquemas de clave primaria populares. Decida primero según 'volumen de datos, necesidad de unicidad global y necesidad de orden temporal' para evitar muchos rodeos.

UUID v1 / v4 / v5 / ULID / NanoID: ¿cuál elegir?

Los 5 ID tienen compromisos en volumen de datos, capacidad de ordenación y longitud de caracteres. Decida según 'dónde se usa + si necesita ordenación + si se usa directamente en URL', más fiable que basarse solo en los números.

EsquemaEscenario recomendadoOrdenaciónLongitudRecomendación
UUID v1Sistemas internos que necesitan orden temporal y pueden aceptar filtración de MAC y hora de generaciónOrden temporal36 caracteres⚠ Generalmente no recomendado (filtración de privacidad)
UUID v4Claves primarias de BD, identificadores generales, la mayoría de escenarios de negocioSin orden (aleatorio)36 caracteres✓ Primera opción universal
UUID v5Escenarios que requieren salida determinista (misma entrada → mismo UUID)Sin orden36 caracteres✓ Recomendado cuando el namespace es fijo
ULIDClaves primarias de sistemas distribuidos, trazado de logs, índices con necesidad de orden temporalOrden temporal (los primeros 48 bits son timestamp en milisegundos)26 caracteres✓ Primera opción para sistemas distribuidos
NanoIDEnlaces cortos URL, identificadores de cookies, referencias JS en frontendSin orden (aleatorio)21 caracteres (por defecto)✓ Primera opción para escenarios de ID cortos

UUID vs ID Autoincremental de BD vs Snowflake ID: ¿cómo elegir clave primaria?

Estos tres son los esquemas de clave primaria backend más comunes y determinan la escalabilidad, seguridad de concurrencia y características de rendimiento del sistema. Decidir según 'volumen de datos / requisito de unicidad global / legibilidad' puede evitar cambios de arquitectura posteriores.

DimensiónUUIDID Autoincremental BDSnowflake
Unicidad global✓ Sí (teóricamente)✗ No (duplicados tras fragmentar la BD)✓ Sí (garantizado por centro de datos + worker ID)
Filtración de volumen✓ Sin filtración✗ Directa (1, 2, 3 incremental revela el volumen real)⚠ Los bits de tiempo revelan la hora de generación (no el volumen total directo)
Ordenación✗ Sin orden (ULID es la excepción)✓ Monótonamente creciente (amigable con B-Tree)✓ Creciente por tendencia (ordenado dentro del mismo milisegundo)
Soporte de sharding✓ Soporte nativo✗ Requiere generador de ID o refactorización✓ Distinguible por worker ID
Coste de almacenamiento⚠ Alto (BINARY(16) son 16 bytes)✓ Bajo (BIGINT son 8 bytes)✓ Bajo (BIGINT son 8 bytes)
Escenarios adecuadosClaves primarias multi-servicio/distribuidas, identificadores externos, negocios sensibles al volumen de datosApps monolíticas, backends administrativos, sin necesidad de unicidad globalIM de alta concurrencia, números de pedido, IDs de mensaje (requiere implementación propia)

Best Practices

Para claves primarias en producción, prefiera UUID v4 o ULID, evite v1

Los últimos 48 bits de UUID v1 son la dirección MAC, y los primeros 48 bits son un timestamp con precisión de 100 ns – **estos dos campos pueden revertirse a una huella de máquina y a la hora de generación**. RFC 4122 indica claramente que v1 se debe usar 'solo cuando se necesite compatibilidad con versiones anteriores'. En producción, prefiera v4 (aleatorio) o ULID (ordenable); use v1 solo ocasionalmente al depurar o al necesitar rastrear la máquina generadora. **Nunca** use v1 como ID de usuario, ID de dispositivo o número de pedido expuesto externamente.

¿Cómo elegir entre UUID v1, v4 y v5?

Longitud UUID 128 bit ≠ entropía: v4 solo tiene 122 bit de aleatoriedad real

Aunque UUID v4 tiene 128 bits en total, **los primeros 4 bits son el número de versión (fijo en 0100) y los últimos 2 bits son la variante (fija en 10)** – solo 122 bits son realmente aleatorios. Esta es una restricción de formato de RFC 4122 – **cualquier biblioteca UUID v4 que afirme '128 bits totalmente aleatorios' está mal implementada**. Además, en los últimos 64 bits de v4, los 2 bits altos del 7.º byte también son campos de variante, así que la entropía real es aún menor. Al diseñar sistemas, calcule la seguridad basándose en 122 bits (no 128 bits) para evitar subestimar el riesgo de colisión.

RFC 4122 - Especificación UUID

Almacene los UUID como columnas BINARY(16), no como VARCHAR(36)

La cadena UUID v4 `550e8400-e29b-41d4-a716-446655440000` puede parecer compacta, pero VARCHAR(36) en realidad almacena 36 bytes + 2 bytes de longitud = 38 bytes, **2,4 veces más espacio que BINARY(16)**. MySQL/PostgreSQL/MSSQL tienen funciones UUID integradas que soportan escribir directamente en BINARY(16), y el tamaño del índice también se reduce a la mitad. Cuando las tablas superan los 100 millones de filas, los índices de clave primaria VARCHAR(36) hacen que la altura del B-Tree crezca 1-2 niveles, **reduciendo el rendimiento de consultas un 30-50 %**. Convierta a cadena solo para la presentación en el frontend; use siempre BINARY(16) en la capa de negocio.

Tabla comparativa UUID / ULID / NanoID

En escenarios URL, use NanoID o UUID sin guiones para evitar la codificación URL

El conjunto de caracteres de UUID v4 es `[0-9a-f-]`, **y el guion - en rutas URL requiere doble codificación URL** (primero se escapa a %2D, luego a %252D), lo cual se ve mal. Dos soluciones: **(1) para escenarios URL, use NanoID directamente** (21 caracteres URL-safe por defecto); **(2) UUID v4 con guiones desactivados** genera 32 caracteres hex puros, que no requieren codificación como segmento de ruta URL. Para escenarios de cookies, prefiera también NanoID (A-Za-z0-9_-) o UUID sin guiones, evitando los caracteres `+` `/` `=` (conjunto de caracteres Base64).

¿Se pueden eliminar los guiones o pasar los UUID a mayúsculas?

Tras generar en masa, deduplique siempre: los bugs del generador pueden causar duplicados

La probabilidad de colisión de UUID v4 es de aproximadamente 1/10^36, así que en teoría no se necesita deduplicación – **pero en ingeniería, no confíe en la teoría**. Incidentes reales como fallos del RNG del kernel de Linux, errores en la implementación de `crypto.randomUUID` en versiones antiguas de Node.js y entropía insuficiente al arrancar VMs en la nube han provocado duplicados en UUIDs generados en masa. **En producción, tras generar 100k+ UUIDs en masa, debe ejecutar `SELECT id, COUNT(*) FROM t GROUP BY id HAVING COUNT(*) > 1` para deduplicar y verificar** – si se detectan problemas, revierta de inmediato la versión del generador. Esta es una buena práctica aprendida con dolor en escenarios de migración de datos e importación en masa.

¿Puedo generar varios UUID a la vez?

Preguntas Frecuentes

¿Cuál es la diferencia entre UUID y GUID?

UUID (Universally Unique Identifier) y GUID (Globally Unique Identifier) son esencialmente lo mismo con nombres diferentes: UUID es el nombre formal del estándar IETF (RFC 4122), mientras que GUID es el término preferido de Microsoft en el ecosistema Windows. Ambos comparten el formato idéntico de 128 bits como `550e8400-e29b-41d4-a716-446655440000`. Los UUID estándar generados por esta herramienta funcionan de forma intercambiable en cualquier escenario que requiera GUID.

¿Cómo elegir entre UUID v1, v4 y v5?

UUID v1 se basa en la marca de tiempo y la dirección MAC: ordenado por el tiempo y rastreable, pero puede filtrar información de la dirección MAC. UUID v4 es completamente aleatorio, la opción más utilizada y segura, adecuada para la mayoría de escenarios de claves primarias e identificadores. UUID v5 es una versión basada en hash SHA-1 con espacio de nombres: el mismo espacio de nombres + el mismo nombre produce siempre el mismo UUID, ideal para escenarios de salida determinista. Para el desarrollo general, UUID v4 es la opción predeterminada.

¿Qué ventajas tienen ULID y NanoID sobre UUID v4?

ULID (26 caracteres) es más corto que UUID (36 caracteres con guiones) y se puede ordenar lexicográficamente por tiempo de creación, lo que lo hace ideal para índices de bases de datos y seguimiento de registros. NanoID (21 caracteres por defecto) es aún más corto y rápido, utiliza caracteres seguros para URL por lo que no se necesita escape en URL y cookies: es aproximadamente un 30% más pequeño que UUID. Los tres tienen una probabilidad de colisión insignificante, pero la capacidad de ordenación de ULID brilla en sistemas distribuidos, mientras que NanoID es más amigable para escenarios front-end/URL.

¿Puedo generar varios UUID a la vez?

Sí. Esta herramienta admite la generación masiva de 1 a 100 identificadores. Establezca la cantidad mediante botones rápidos o el control deslizante, luego genere con un clic: perfecto para creación de datos de prueba, importaciones masivas y preparación de identificadores únicos para scripts. Después de la generación, puede copiar todos los resultados de una vez o exportarlos como archivos TXT o JSON.

Guía de generación masiva

¿Puedo validar si una cadena es un UUID válido?

Sí. Cambie a la pestaña "Validar" y pegue cualquier cadena: la herramienta identifica y valida automáticamente: los UUID estándar (v1/v3/v4/v5) informarán su número de versión específico, y también reconoce formatos ULID (26 caracteres Crockford Base32) y NanoID (21 caracteres seguros para URL), lo que la hace muy conveniente para solucionar rápidamente problemas de formato de ID durante el desarrollo y depuración.

¿Es seguro generar UUID en línea? ¿Se filtrarán mis identificadores a un servidor?

Completamente seguro. Toda la generación y validación de identificadores se ejecuta localmente en su navegador mediante JavaScript, utilizando crypto.getRandomValues() para números aleatorios criptográficamente seguros. Ningún identificador generado se envía a ningún servidor, y no se almacena historial de generación en la nube. Funciona incluso sin conexión, lo que lo hace adecuado para intranets empresariales y proyectos sensibles.

¿Puedo eliminar los guiones o convertir los UUID a mayúsculas?

Sí. Para UUID v1/v4/v5, la herramienta proporciona dos interruptores: "Mayúsculas" cambia la capitalización de salida, y "Guiones" le permite eliminar los guiones (útil para URL, archivos de configuración o bases de datos que requieren formato sin guiones). ULID y NanoID no tienen guiones por defecto y también admiten el cambio de mayúsculas/minúsculas.

¿Por qué usar una herramienta en línea en lugar de la línea de comandos para generar UUID?

Las herramientas de línea de comandos (como uuidgen de Linux, el módulo uuid de Python) requieren un entorno de desarrollo. Una herramienta en línea funciona instantáneamente en su navegador sin necesidad de instalación. Además, esta herramienta integra reconocimiento de versión UUID, exportación masiva y funciones de historial local: más conveniente cuando se trabaja en varios dispositivos (por ejemplo, generar identificadores para colegas no técnicos) o cuando necesita identificadores sobre la marcha.

Glosario

UUID
Universally Unique Identifier, 128 bits de longitud, estándar RFC 4122, las versiones comunes incluyen v1 (marca de tiempo+MAC), v4 (aleatorio), v5 (hash SHA-1).
GUID
Globally Unique Identifier, término de Microsoft para UUID: ambos son idénticos en formato y propósito.
ULID
Universally Unique Lexicographically Sortable Identifier, 26 caracteres usando codificación Crockford Base32, los primeros 48 bits son marca de tiempo: ordenable por tiempo de creación.
NanoID
Un generador de ID único ligero, 21 caracteres seguros para URL por defecto (A-Za-z0-9_-), más corto y rápido que UUID, ideal para escenarios front-end y URL.
UUID v1
Versión UUID basada en marca de tiempo y dirección MAC, ordenable por tiempo pero puede filtrar dirección MAC y tiempo de generación: menos seguro que v4.
UUID v4
Versión UUID completamente basada en números aleatorios, la más utilizada, probabilidad de colisión insignificante, la opción predeterminada en desarrollo.
UUID v5
Versión UUID con espacio de nombres basada en hash SHA-1: el mismo espacio de nombres + la misma entrada de nombre produce una salida UUID idéntica, adecuada para escenarios deterministas.
Probabilidad de colisión
La probabilidad de que dos identificadores generados aleatoriamente sean idénticos. La probabilidad de colisión de UUID v4 es de aproximadamente 1 entre 17 mil billones de billones, insignificante en ingeniería práctica.
Crockford Base32
Una codificación Base32 diseñada por Douglas Crockford que utiliza letras mayúsculas y dígitos excluyendo I/L/O/U para evitar caracteres ambiguos: utilizada por ULID.

Comparación UUID / ULID / NanoID

CaracterísticaUUID v4ULIDNanoID
Longitud36 caracteres (con guiones) / 32 caracteres (sin guiones)26 caracteres21 caracteres (por defecto)
Conjunto de caracteresHexadecimal (0-9a-f)Crockford Base32 (32 caracteres)Seguro para URL (64 caracteres)
Capacidad de ordenaciónDesordenado (aleatorio)Ordenado por tiempoDesordenado (aleatorio)
Seguro para URLNecesita escape (guiones + alfanumérico)Mayormente seguro (mayúsculas + dígitos)Completamente seguro para URL
Velocidad de generaciónRápidoRápido~60% más rápido que UUID
Probabilidad de colisión1/10^361/10^361/10^34 (a 21 caracteres)
Casos de uso típicosClaves primarias de BD, identificadores generalesSistemas distribuidos, seguimiento de registrosURL cortas, ID front-end, cookies

Métodos de generación UUID por lenguaje

LenguajeCódigo
JavaScriptcrypto.randomUUID() // Navegadores modernos / Node.js 19+
Pythonimport uuid; uuid.uuid4()
JavaUUID.randomUUID()
Gogithub.com/google/uuid; uuid.New()
Bash/Linuxuuidgen o cat /proc/sys/kernel/random/uuid

Authoritative References