nearnull

Generador de UUID

Generá identificadores UUID v4 aleatorios al instante. Funciona enteramente en tu navegador: no se envía nada a ningún servidor.

Formato

¿Qué es un UUID?

Un Identificador Único Universal (UUID) es un número de 128 bits que se usa para identificar información en sistemas informáticos. Cuando se genera según los métodos estándar, un UUID es prácticamente único en el espacio y en el tiempo, sin necesitar una autoridad central que lo administre.

Comparación de versiones

Versión 1 — Timestamp + Nodo

Combina un timestamp de 60 bits con un identificador de nodo. Es aproximadamente ordenable por fecha de creación. Esta herramienta completa el segmento de nodo con bytes aleatorios en vez de una MAC real, así que nunca filtra datos que identifiquen la máquina.

Basado en tiempoNo determinístico

Versión 2 — DCE Security

Definida por la vieja spec DCE (Distributed Computing Environment): sobrescribe parte del timestamp y del clock sequence con un dominio local y un UID/GID de POSIX. Esta herramienta no la ofrece — casi ninguna librería moderna de UUID lo hace — porque nunca estuvo bien especificada, la sustitución destruye la mayor parte de la precisión del timestamp, y nunca tuvo adopción real fuera de sistemas legacy DCE/NCS. RFC 9562 la mantiene solo por completitud histórica.

HistóricaNo implementadaDCE Security

Versión 3 — Basada en nombre (MD5)

Aplica hash MD5 a un UUID de namespace más un nombre. El mismo namespace y nombre siempre producen el mismo UUID, lo que la hace útil para generar IDs estables a partir de identificadores existentes — pero MD5 es un hash legacy y débil.

DeterminísticaMD5Namespace + nombre

Versión 4 — Aleatoria

Genera UUIDs completamente a partir de números aleatorios o pseudoaleatorios. Es la versión más común, con excelente distribución y probabilidad de colisión mínima. Ideal para identificadores únicos de propósito general.

AleatoriaMás usada

Versión 5 — Basada en nombre (SHA-1)

La misma idea que v3, pero aplica hash SHA-1 al namespace + nombre en vez de MD5. La opción recomendada cuando necesitás un UUID determinístico derivado de un nombre.

DeterminísticaSHA-1Namespace + nombre

Versión 6 — Timestamp reordenado

Un reordenamiento compatible en campos de v1: el mismo timestamp de 60 bits, pero con los bits más significativos primero. Eso hace que los UUID v6 se ordenen correctamente como strings planos, corrigiendo la principal debilidad de v1 para índices de base de datos.

Ordenable por tiempoAmigable con DB

Versión 7 — Timestamp Unix + aleatorio

Combina un timestamp Unix en milisegundos con datos aleatorios. Como están ordenados por tiempo, los UUID v7 son muy eficientes para indexar en bases de datos (como B-trees) comparados con el v4 completamente aleatorio, manteniendo excelente unicidad.

Ordenable por tiempoAmigable con DBRecomendada

Versión 8 — Personalizada

RFC 9562 deja la v8 totalmente definida por el proveedor o la aplicación — solo los bits de versión y variante están fijos. Esta herramienta completa los bits libres con datos aleatorios como ejemplo genérico; un sistema real definiría su propio formato.

PersonalizadaEspecífica del proveedor

Ejemplos

Generá un UUID aleatorio (v4) de forma nativa, sin necesidad de librerías en la mayoría de los lenguajes:

JavaScript
crypto.randomUUID()
Python
import uuid
uuid.uuid4()
Java
UUID.randomUUID()
C#
Guid.NewGuid()
Go
import "github.com/google/uuid"

uuid.New()
PHP
Ramsey\Uuid\Uuid::uuid4()
Ruby
require 'securerandom'
SecureRandom.uuid

Casos de uso

Claves primarias de base de datos

Generá IDs en cualquier nodo sin necesitar una secuencia central ni coordinación — útil para bases de datos particionadas y sistemas con múltiples escritores. Para esto preferí v7: está ordenada por tiempo, así que los inserts quedan agrupados y los índices B-tree se mantienen eficientes.

Claves de idempotencia

Agregá un UUID a una request de API para que los reintentos (por una red inestable, un timeout, un doble click) se reconozcan como la misma operación en vez de procesarse dos veces.

IDs de correlación y trazabilidad

Etiquetá una request con un UUID cuando entra a tu sistema y pasalo por cada llamada a servicios downstream y cada línea de log, así podés seguir una request a través de un sistema distribuido.

Nombres de archivos y objetos

Nombrá uploads, archivos generados u objetos en almacenamiento (buckets tipo S3) con un UUID para evitar colisiones entre usuarios o uploads concurrentes, sin tener que chequear qué existe ya.

IDs generados del lado del cliente / offline-first

Dejá que una app móvil o un formulario offline genere su propio ID antes de siquiera llegar a un servidor — sin necesitar un round-trip para obtener un identificador único, y sin riesgo de colisión cuando el registro finalmente sincroniza.

Preguntas frecuentes

¿Cuál es la probabilidad de que choquen dos UUID?
Para un UUID v4 hay 2^122 combinaciones posibles. Habría que generar mil millones de UUID por segundo durante unos 85 años para llegar a un 50% de probabilidad de una sola colisión. A los fines prácticos del desarrollo de software, la probabilidad es cero.
¿Es segura esta herramienta?
Sí. La generación ocurre enteramente en tu navegador usando crypto.getRandomValues() de la Web Crypto API. No se envían ni se guardan datos en ningún servidor.
¿Qué versión de UUID debería usar?
Para la mayoría de los casos de uso general, usá v4 (aleatoria) o v7 (ordenada por tiempo). Elegí v7 cuando el UUID vaya a ser una clave primaria de base de datos o necesites que las filas se inserten en orden más o menos cronológico — se ordena correctamente y es más amigable con los índices B-tree que v4. Usá v5 cuando necesites que la misma entrada (un namespace + nombre) siempre produzca el mismo UUID; evitá v3, que hace lo mismo pero con el hash MD5, más débil. v1 y v6 están basadas en timestamp como v7 pero incluyen un identificador de nodo; v6 es la corrección ordenable del orden de bytes de v1. v8 es para formatos personalizados definidos por la aplicación.
¿Por qué no está disponible la Versión 2?
La Versión 2 (DCE Security) reemplaza parte del timestamp y del clock sequence con un dominio local y un UID/GID de POSIX. Se muestra en la comparación de arriba por completitud, pero este generador no la ofrece — nunca estuvo bien especificada, la sustitución destruye la mayor parte de la precisión del timestamp, y nunca tuvo adopción real fuera de sistemas legacy DCE/NCS.
¿Cuál es la diferencia entre v1, v6 y v7?
Las tres incluyen un timestamp, pero lo ordenan distinto. v1 pone primero los bits menos significativos del timestamp, por lo que los UUID v1 no se ordenan correctamente como strings planos. v6 es un reordenamiento compatible en campos de v1 que corrige justamente eso. v7 va más allá: usa un timestamp Unix en milisegundos en vez de la época gregoriana de 1582, algo más simple, y es la versión que RFC 9562 recomienda ahora para sistemas nuevos.
¿Son seguros los UUID v3 y v5?
Son determinísticos, no secretos — cualquiera que conozca el namespace y el nombre puede regenerar exactamente el mismo UUID, así que no los uses para nada que deba permanecer impredecible (tokens de sesión, links de recuperación de contraseña). Para eso, usá v4 o v7. Entre v3 y v5, preferí v5: usa SHA-1 en vez del MD5, más débil y obsoleto, en el que se basa v3.
¿Un GUID es lo mismo que un UUID?
Sí, a los fines prácticos. GUID (Globally Unique Identifier) es el nombre que usa Microsoft para el mismo identificador de 128 bits que define el estándar UUID — son estructuralmente idénticos e intercambiables en la gran mayoría de los casos. La única diferencia histórica: algunas herramientas viejas de Microsoft y la API de COM/Windows guardaban los campos en un orden de bytes distinto (mixed-endian) en el binario, así que si interoperás con código Windows/COM muy antiguo, revisá el orden de bytes. Todos los UUID que genera esta herramienta siguen el formato estándar de RFC 9562 (big-endian) que se usa en todos lados.