Generador UUID/ v4 · v7

Genera UUID v4 (aleatorio) y UUID v7 (ordenado por tiempo) en lote. Mayúsculas, formato sin guiones y copia con un clic.

Cantidad:
5 × UUID v4
9ce90186-9d12-4abd-b59e-eda2674de508
3b4e3c0a-dabb-4dbe-a676-cb03835861ad
eff91ae8-4a06-456e-867e-de2ed47ce15c
570571d4-7505-41d6-a7db-4ff6a57e5bdb
fe8371d5-502b-45a5-9c14-07d77622ed5b
UUID v4 utiliza 122 bits de aleatoriedad criptográfica. La probabilidad de colisión con 1 billón de UUIDs es ~10⁻¹⁵ — prácticamente imposible.

¿Esta herramienta resolvió tu problema?

¿Qué es un UUID

Un UUID (Identificador Único Universal) es un identificador de 128 bits,通常 representado como 32 caracteres hexadecimales, como `550e8400-e29b-41d4-a716-446655440000`. El UUID v4 se genera随机mente con una probabilidad de colisión astronómicamente baja — necesitarías生成 103 billones de UUIDs para tener un 50% de probabilidad de un duplicado. Perfecto como clave primaria唯一a en sistemas distribuidos.

Diferencias entre版本es de UUID

v1基于marca de tiempo y dirección MAC (rastreable), v3/v5基于 espacio de nombres y hash (determinista), v4 es puramente随机 (el más común), v7 es ordenado por tiempo +随机 (nuevo标准,平衡 ordenación y随机idad). v4 es el estándar para el desarrollo日常; v7 es ideal para claves primarias de bases de datos que necesitan ordenación cronológica.

Ejemplos de código

JavaScript / Node.js
// UUID v4 (browser & Node 19+)
const id = crypto.randomUUID();
// "110e8400-e29b-41d4-a716-446655440000"

// Node.js (< 19)
import { randomUUID } from "crypto";
const id = randomUUID();

// npm: uuid package
import { v4 as uuidv4, v7 as uuidv7 } from "uuid";
console.log(uuidv4());
console.log(uuidv7());
Python
import uuid

# UUID v4
print(uuid.uuid4())
# "a8098c1a-f86e-11da-bd1a-00112444be1e"

# UUID v5 (name-based, deterministic)
print(uuid.uuid5(uuid.NAMESPACE_DNS, "example.com"))

# As hex (no dashes)
print(uuid.uuid4().hex)
Go
// go get github.com/google/uuid
import "github.com/google/uuid"

// UUID v4
id := uuid.New()
fmt.Println(id.String())

// UUID v7 (google/uuid v1.6+)
id7, _ := uuid.NewV7()
fmt.Println(id7.String())
SQL
-- PostgreSQL
SELECT gen_random_uuid();          -- v4
INSERT INTO users (id, name)
  VALUES (gen_random_uuid(), 'Alice');

-- MySQL 8+
SELECT UUID();  -- v1 format
-- For v4: use application layer

-- SQLite (with extension or app)
SELECT lower(hex(randomblob(4))) || '-' ||
  lower(hex(randomblob(2))) || '-4' ||
  substr(lower(hex(randomblob(2))),2) || '-' ||
  substr('89ab', abs(random()) % 4 + 1, 1) ||
  substr(lower(hex(randomblob(2))),2) || '-' ||
  lower(hex(randomblob(6)));

Preguntas frecuentes

¿Qué es un UUID?
Un UUID (Universally Unique Identifier) es un identificador de 128 bits, representado típicamente como una cadena hexadecimal de 32 caracteres en formato 8-4-4-4-12 (ej: 550e8400-e29b-41d4-a716-446655440000). Definido por RFC 4122, permite la generación de IDs únicos en sistemas distribuidos sin coordinación central.
¿Cuál es la diferencia entre UUID v4 y v7?
UUID v4 es completamente aleatorio (122 bits), simple y universalmente soportado. UUID v7 codifica una marca de tiempo Unix en milisegundos en sus primeros 48 bits, haciéndolo naturalmente ordenado por tiempo. Las filas de la base de datos pueden ordenarse por UUID para obtener el orden de creación, con mejor rendimiento de índice B-tree. UUID v7 se recomienda para nuevos proyectos.
¿Cuál es la probabilidad de colisión de UUID?
UUID v4 usa 122 bits de aleatoriedad. Se necesitarían generar ~2^61 (~2.3 trillones) de UUID para alcanzar un 50% de probabilidad de colisión. Generar millones por segundo es completamente seguro para claves primarias distribuidas.
UUID vs ULID — ¿cuál es mejor?
ULID (Universally Unique Lexicographically Sortable Identifier) es similar a UUID v7 — ordenado por tiempo — pero usa codificación Crockford base32 (26 caracteres, sin guiones), haciéndolo más corto. UUID v7 es un estándar IETF con soporte de ecosistema más amplio; ULID es más compacto cuando se prefieren IDs más cortos.
¿Cómo almacenar UUID en una base de datos?
PostgreSQL tiene un tipo UUID nativo. MySQL/MariaDB: usar BINARY(16) para almacenamiento binario compacto o CHAR(36) para legibilidad. MongoDB: usar BinData(3) o cadena simple. Siempre indexe las columnas UUID que consulte.
¿Por qué UUID v7 tiene mejor rendimiento que v4 en bases de datos?
La aleatoriedad de UUID v4 causa inserciones B-tree aleatorias, provocando divisiones de página frecuentes y baja utilización de caché. El ordenamiento temporal de UUID v7 significa que las nuevas filas se agregan al final del índice, similar a IDs auto-incrementales — rendimiento de escritura y tasas de caché dramáticamente mejores para tablas grandes.