Genera identificadores universalmente únicos (UUIDs) para tus aplicaciones.
Timestamp:
Publicidad
Acerca de Esta Herramienta
El Identificador Universalmente Único (UUID) es uno de los pilares fundamentales de la computación distribuida moderna.
Estandarizado por primera vez en 1997 a través de la especificación DCE de la Open Software Foundation y posteriormente formalizado como RFC 4122 en 2005, los UUIDs resuelven un problema engañosamente difícil: cómo crear identificadores garantizados como únicos sin una autoridad central coordinadora.
La respuesta está en las matemáticas y la probabilidad. Un UUID v4 contiene 122 bits aleatorios, produciendo aproximadamente 5.3 x 10^36 valores posibles. Para ponerlo en perspectiva, podría generar mil millones de UUIDs cada segundo durante más de 100 años antes de alcanzar una probabilidad del 50% de una sola colisión.
Esta garantía matemática convierte a los UUIDs en la columna vertebral de claves primarias de bases de datos, colas de mensajes distribuidos, tokens de sesión y arquitecturas de microservicios en todo el mundo.
Este generador admite múltiples formatos de identificadores, cada uno diseñado para casos de uso específicos. UUID v4 es el más adoptado, basándose puramente en aleatoriedad. UUID v7, definido en el más reciente RFC 9562, incorpora una marca de tiempo Unix en milisegundos para ordenación cronológica natural, una gran ventaja para indexación en bases de datos.
UUID v1 combina una marca de tiempo de 60 bits con un identificador de nodo. Además de UUIDs, la herramienta genera ULIDs (Identificadores Lexicográficamente Ordenables Universalmente Únicos) usando Crockford Base32, y NanoIDs — identificadores compactos y seguros para URLs, populares en aplicaciones frontend.
Toda la generación utiliza la Web Crypto API del navegador, asegurando aleatoriedad criptográficamente segura. Ningún dato sale de su dispositivo — cada identificador se crea completamente en su navegador sin comunicación con servidores.
Selecciona un formato (UUID v4/v7/v1, ULID o NanoID) y cuántos generar.
Opcionalmente elige el formato: mayúsculas, con/sin llaves o guiones.
Haz clic en 'Generar UUID' y copia resultados individuales o todos a la vez.
Estandares UUID e Identidad Distribuida
El Identificador Universalmente Único fue estandarizado por primera vez en RFC 4122 (2005), aunque sus raices se remontan al Apollo Network Computing System en los anos 80 y al Distributed Computing Environment (DCE) de la Open Software Foundation. El problema fundamental que resuelven los UUIDs es generar identificadores globalmente unicos sin una autoridad de coordinación central — esencial para sistemas distribuidos donde multiples maquinas deben crear IDs independientemente que nunca colisionen.
RFC 4122 definio cinco versiones de UUID, cada una para diferentes casos de uso. La versión 1 incorpora una marca de tiempo de 60 bits (intervalos de 100 nanosegundos desde el 15 de octubre de 1582 — la reforma del calendario gregoriano) combinada con un identificador de nodo de 48 bits originalmente derivado de la dirección MAC. Aunque garantiza unicidad, v1 filtraba la identidad del hardware y el tiempo de creación. Las versiones 3 y 5 son basadas en nombres: aplican hash a un identificador de espacio de nombres combinado con un nombre usando MD5 (v3) o SHA-1 (v5), produciendo UUIDs deterministicos. La versión 4 reemplazo el determinismo con 122 bits de aleatoriedad criptografica, convirtiendose en la versión mas adoptada.
El estándar mas reciente, RFC 9562 (2024), introdujo UUID v7 como la opción recomendada para identificadores amigables con bases de datos. La versión 7 incorpora una marca de tiempo Unix de 48 bits en milisegundos en los bits mas significativos, seguida de bits aleatorios de relleno. Este diseño crea identificadores que se ordenan cronologicamente — una ventaja critica para indices B-tree donde los UUIDs v4 aleatorios causan fragmentación excesiva. Los benchmarks muestran que los UUIDs v7 mejoran el rendimiento de inserción en un 20-40% comparado con v4.
La probabilidad de colisión de UUID v4 esta gobernada por la paradoja del cumpleanos. Con 122 bits aleatorios, el espacio contiene 5.3 x 10^36 valores posibles. La probabilidad de generar un duplicado alcanza el 50% solo después de producir aproximadamente 2.71 x 10^18 UUIDs. Los formatos competidores incluyen Snowflake IDs de Twitter (64 bits), ULIDs (128 bits con codificación Crockford Base32), NanoIDs (cadenas compactas seguras para URL) y secuencias auto-incrementales de bases de datos. Cada uno implica compromisos entre garantias de unicidad, ordenabilidad, tamaño de almacenamiento y requisitos de coordinación.
Cómo Usar
Selecciona un formato (UUID v4/v7/v1, ULID o NanoID) y cuántos generar.
Opcionalmente elige el formato: mayúsculas, con/sin llaves o guiones.
Haz clic en 'Generar UUID' y copia resultados individuales o todos a la vez.
Metodología
La generación de UUID v4 se basa en el método crypto.randomUUID() del navegador desde la Web Crypto API, que produce 128 bits donde 122 son criptográficamente aleatorios y 6 están reservados para los marcadores de versión (4 bits establecidos en 0100) y variante (2 bits establecidos en 10). Esto asegura que cada UUID sea autodescriptivo — puede identificar su versión inspeccionando el 13.° carácter hexadecimal.
UUID v7 incorpora una marca de tiempo Unix de 48 bits en milisegundos en los bits más significativos, seguida de bits aleatorios de relleno. Este diseño produce identificadores que son tanto únicos como naturalmente ordenados por tiempo, haciéndolos ideales para claves primarias de bases de datos donde el rendimiento del índice B-tree importa.
UUID v1 usa una marca de tiempo de 60 bits con resolución de 100 nanosegundos desde el 15 de octubre de 1582 (la fecha de reforma del calendario gregoriano), una secuencia de reloj de 14 bits para prevenir duplicados en ajustes de reloj, y un identificador de nodo de 48 bits generado aleatoriamente para protección de privacidad.
Los ULIDs codifican una marca de tiempo en milisegundos de 48 bits seguida de 80 bits aleatorios, representados en Crockford Base32 para una representación compacta e insensible a mayúsculas. Los NanoIDs usan un alfabeto y longitud configurables, por defecto 21 caracteres de un conjunto seguro para URLs, proporcionando 126 bits de entropía.
Comprendiendo tus Resultados
Cada UUID es un valor de 128 bits mostrado como 32 caracteres hexadecimales en 5 grupos separados por guiones, siguiendo el patrón 8-4-4-4-12. El formato canónico es xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, donde la posición M (13.° carácter hex) indica la versión y la posición N (17.° carácter hex) indica la variante.
Para UUID v4, M siempre es '4' y N es uno de '8', '9', 'a' o 'b', confirmando el cumplimiento de RFC 4122. Para UUID v7, M es '7' y los primeros 12 caracteres hex codifican la marca de tiempo en milisegundos, haciendo el tiempo de creación directamente legible. UUID v1 coloca M como '1' con la marca de tiempo dividida en los tres primeros grupos en un orden reorganizado.
Los ULIDs se muestran como 26 caracteres Crockford Base32 en mayúsculas — los primeros 10 codifican la marca de tiempo y los 16 restantes codifican la aleatoriedad. Los NanoIDs aparecen como cadenas compactas usando caracteres seguros para URL (A-Z, a-z, 0-9, guión, guión bajo), sin marcadores estructurales inherentes. Al elegir un formato, considera que los UUIDs con llaves son comunes en ecosistemas Microsoft, mientras que los UUIDs sin guiones ahorran almacenamiento en bases de datos.
Claves primarias de base de datos: Usa UUID v7 para tablas PostgreSQL o MySQL donde el orden de inserción importa. La marca de tiempo incorporada asegura valores de clave secuenciales, evitando la dispersión de E/S aleatoria que UUID v4 causa en índices agrupados.
Seguimiento de eventos en microservicios: Genera UUID v4 para IDs de correlación pasados a través de colas de mensajes (Kafka, RabbitMQ). La aleatoriedad pura garantiza cero colisiones incluso cuando miles de servicios producen IDs simultáneamente.
Tokens de sesión frontend: Usa NanoID para identificadores de sesión compactos y seguros para URL en aplicaciones de página única. Con 21 caracteres, son más cortos que los UUIDs manteniendo resistencia equivalente a colisiones.
Nombrado de archivos y deduplicación: Genera ULIDs para identificadores de archivos subidos. Su ordenabilidad lexicográfica significa que un simple listado alfabético muestra archivos en orden cronológico de carga.
Consejos y Mejores Prácticas
Elija su versión de UUID según su caso de uso en lugar de usar v4 por defecto. Si sus identificadores servirán como claves primarias de base de datos, UUID v7 o ULID proporcionan un rendimiento de inserción significativamente mejor porque su naturaleza ordenada por tiempo mantiene los índices B-tree secuenciales, reduciendo divisiones de página y fragmentación.
Para sistemas distribuidos donde múltiples nodos generan IDs independientemente, la aleatoriedad pura de UUID v4 elimina cualquier riesgo de colisiones basadas en marcas de tiempo. Al trabajar con URLs o identificadores visibles para el usuario, el formato compacto de 21 caracteres de NanoID es más práctico que un UUID de 36 caracteres.
Almacene siempre UUIDs como su tipo binario nativo de 128 bits en bases de datos cuando esté disponible (por ejemplo, el tipo uuid de PostgreSQL o BINARY(16) de MySQL) en lugar de cadenas VARCHAR(36). Esto reduce el almacenamiento a más de la mitad y mejora el rendimiento de comparación. Al depurar, recuerde que el dígito de versión (posición 13) le dice instantáneamente qué variante de UUID está observando.
¿Cuál es la diferencia entre UUID v4, v7, v1, ULID y NanoID?
UUID v4 es completamente aleatorio (más común). UUID v7 está ordenado por tiempo con timestamp de milisegundos—ideal para bases de datos. UUID v1 usa timestamp + dirección MAC. ULID es un ID ordenable de 26 caracteres usando Crockford Base32. NanoID es un ID compacto de 21 caracteres seguro para URLs.
¿Los UUID generados son verdaderamente únicos?
¡Sí! UUID v4 tiene 122 bits aleatorios, dando aproximadamente 5.3×10³⁶ combinaciones posibles. La probabilidad de generar dos UUIDs idénticos es astronómicamente baja—necesitarías generar 1 billón de UUIDs por segundo durante unos 100 años para tener un 50% de probabilidad de colisión.
¿Cuál es la diferencia entre UUID y GUID?
UUID (Identificador Universalmente Único) y GUID (Identificador Globalmente Único) son esencialmente lo mismo. GUID es el término de Microsoft para UUID. Ambos siguen el mismo estándar RFC 4122 y tienen el mismo formato de 128 bits.
¿Cuándo debería usar UUID v7 en lugar de v4?
Usa UUID v7 cuando necesites identificadores ordenados por tiempo, particularmente como claves primarias de bases de datos. UUID v7 (definido en RFC 9562) incorpora una marca de tiempo Unix en los primeros 48 bits, haciendo que los IDs sean naturalmente ordenables por tiempo de creación. Esto mejora drásticamente el rendimiento de inserción en índices B-tree porque las nuevas filas siempre se añaden al final, evitando divisiones aleatorias de páginas. UUID v4 es puramente aleatorio y causa fragmentación de índices en bases de datos. Usa v4 cuando el orden no importa (tokens de API, IDs de sesión, IDs de correlación) y v7 cuando necesites IDs ordenables por tiempo (claves primarias, IDs de eventos, registros distribuidos).
¿Puede ocurrir realmente una colisión de UUID en la práctica?
Para UUID v4, la probabilidad es astronómicamente baja. Un UUID v4 tiene 122 bits aleatorios, produciendo 5,3 × 10³⁶ valores posibles. Para tener un 50% de probabilidad de una sola colisión, necesitarías generar aproximadamente 2,71 × 10¹⁸ UUIDs — es decir, 2,71 trillones. A mil millones de UUIDs por segundo, esto tomaría unos 86 años. En la práctica, el riesgo de colisión es mucho más probable que provenga de un generador de números aleatorios defectuoso (fuente de entropía pobre) que de la probabilidad matemática. La Web Crypto API (crypto.getRandomValues), que usa esta herramienta, proporciona aleatoriedad criptográficamente segura adecuada para la generación de UUID.
¿Qué es ULID y cuándo debería usarlo en lugar de UUID?
ULID (Identificador Lexicográficamente Ordenable Universalmente Único) es un identificador de 128 bits que combina una marca de tiempo Unix de 48 bits en milisegundos con 80 bits de aleatoriedad, codificado como una cadena Crockford Base32 de 26 caracteres. Los ULIDs son ordenables por tiempo (como UUID v7), no distinguen mayúsculas y son ligeramente más cortos que el formato hexadecimal de 36 caracteres de UUID. Usa ULID cuando quieras IDs amigables, ordenables y fáciles de copiar y pegar. Usa UUID cuando necesites máxima compatibilidad con sistemas existentes, bases de datos y bibliotecas que esperan el formato estándar 8-4-4-4-12 de UUID. UUID v7 ofrece beneficios similares de ordenación temporal manteniéndose compatible con el ecosistema UUID.
Mis Favoritos
Arrastra para reordenar
Aún no hay favoritos
Toca la ☆ en cualquier herramienta para marcarla como favorita.