Genera UUIDs v4 aleatorios al instante
ba269602-21fc-4e3d-8b6c-b725ea596740También podrías necesitar
Un UUID (Universally Unique Identifier) v4 es un identificador de 128 bits generado aleatoriamente, representado como 32 dígitos hexadecimales en el formato canónico `xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`. El dígito `4` en el tercer grupo indica la versión v4, y el primer nibble del cuarto grupo (8, 9, a o b) confirma la variante RFC 9562 — el estándar publicado en mayo de 2024 que reemplazó y extendió el RFC 4122, consolidando v4 y definiendo formalmente v7. Los UUIDs son el estándar para identificar entidades en sistemas distribuidos: bases de datos, APIs, microservicios y aplicaciones móviles. A diferencia de los IDs autoincrement de SQL, un UUID puede generarse en el cliente, en múltiples servicios o en modo offline sin coordinación central ni riesgo de colisión. La probabilidad de colisión entre dos UUIDs v4 es de 1 en 2¹²² — generando 1 billón por segundo, llevaría ~85 años producir una colisión. UUID v7 (también definido en RFC 9562) incorpora los primeros 48 bits como timestamp Unix en milisegundos, haciendo el identificador ordenable cronológicamente. Esto puede reducir la fragmentación de índices B-tree en bases de datos relacionales como PostgreSQL o MySQL con cargas de escritura altas — aunque el impacto real depende del volumen y patrón de inserciones; en tablas pequeñas la diferencia es negligible. Si considerás migrar a v7, medí el impacto con un benchmark en tu entorno específico antes de decidir. Esta herramienta usa `crypto.randomUUID()` cuando está disponible (Chromium 92+, Firefox 95+, Safari 15.4+, Node.js 14.17+), o `crypto.getRandomValues()` como fallback — nunca `Math.random()`, que es predecible y no apto para identificadores únicos.
¿Qué es un UUID v4?
Un UUID v4 es un identificador único de 128 bits generado aleatoriamente, con formato `xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`. El `4` indica la versión (aleatoria). Es el tipo de UUID más usado por su simplicidad: no requiere infraestructura especial, no revela timestamps ni direcciones MAC, y puede generarse en cualquier sistema sin coordinación.
¿Son realmente únicos?
La probabilidad de colisión es de 1 en 2¹²² (≈5.3 × 10³⁶) por cada par de UUIDs. Generando 1 billón de UUIDs por segundo durante 85 años, habría solo un 50% de probabilidad de que dos coincidan. En la práctica, la colisión es tan improbable que los sistemas que usan UUIDs no implementan verificación de unicidad — se asume implícitamente.
¿Cuál es la diferencia entre UUID v4 y UUID v7?
UUID v4 es completamente aleatorio — 122 bits de entropía pura. UUID v7 (RFC 9562, 2024) incorpora un timestamp de milisegundos como prefijo, haciéndolo ordenable cronológicamente. Para bases de datos relacionales con índices B-tree (PostgreSQL, MySQL), UUID v7 y ULID son preferibles porque las inserciones ocurren al final del índice — con UUID v4 cada inserción fragmenta el árbol. Para identificadores en URLs o APIs donde la privacidad importa y el orden no, UUID v4 es la elección correcta.
¿Por qué no usar IDs autoincrement en lugar de UUID?
Los IDs autoincrement tienen limitaciones en sistemas distribuidos: requieren coordinación central, exponen el volumen de registros (el id 1337 en una URL revela cuántos usuarios tiene el sistema), dificultan migraciones entre bases de datos y no funcionan en arquitecturas con múltiples generadores concurrentes. Los UUIDs resuelven estos problemas a costa de un índice B-tree ligeramente menos eficiente.
¿Los UUIDs son seguros para exponer en URLs públicas?
Sí. Los UUIDs v4 son opacos: no revelan información sobre el usuario, la cuenta ni el momento de creación (a diferencia de UUID v1 que incluye timestamp y MAC address). Son URL-safe con los guiones incluidos y suficientemente únicos para que no sean adivinables por fuerza bruta. Para confidencialidad adicional en rutas sensibles, combínalos con autenticación en el servidor.
¿Cuándo usar UUID v7 en lugar de v4?
UUID v7 es una mejor elección como primary key en bases de datos relacionales con índices B-tree (PostgreSQL, MySQL, SQLite) y altos volúmenes de inserciones — el timestamp como prefijo puede reducir la fragmentación del índice. Pero el impacto depende del volumen: en tablas de menos de un millón de filas o con inserciones ocasionales, la diferencia práctica es negligible. UUID v4 sigue siendo preferible cuando necesitás máxima aleatoriedad sin información de tiempo (privacidad), cuando las especificaciones del sistema requieren explícitamente el formato UUID estándar (OAuth, ciertos estándares REST), o cuando la simplicidad de implementación importa más que la optimización de índices.
¿Cómo genero múltiples UUIDs a la vez?
Esta herramienta genera hasta 100 UUIDs en una sola operación — ajustá el campo de cantidad antes de hacer clic en Generar. Para generar grandes volúmenes en código: en JavaScript usá `Array.from({ length: n }, () => crypto.randomUUID())`, disponible en Chromium 92+, Firefox 95+, Safari 15.4+ y Node.js 14.17+. En Node.js también podés importar directamente: `import { randomUUID } from 'crypto'`. Para generación masiva en scripts de shell, `uuidgen` en macOS/Linux es más eficiente.