Los UUIDs son el formato de identificador predeterminado para bases de datos, APIs y sistemas distribuidos. Ya sea que estés inicializando una base de datos de prueba, generando claves de API o creando claves primarias para un nuevo esquema, necesitas una forma de generarlos rápidamente. Un generador de UUIDs es una de esas herramientas que cada desarrollador usa ocasionalmente.
La pregunta en 2026 ya no es “¿qué versión de UUID?” — es “¿v4 o v7?”
UUID v4 vs v7: cuál usar
UUID v4 es puramente aleatorio. 122 bits aleatorios, 6 bits para versión y variante. Sin patrón, sin correlación temporal, sin forma de adivinar el siguiente ID.
Usa v4 para:
- Tokens de sesión
- Enlaces de restablecimiento de contraseña
- Claves de API distribuidas a terceros
- Cualquier cosa donde el ID en sí sea el límite de seguridad
UUID v7 es ordenado por tiempo. Los primeros 48 bits son una marca de tiempo Unix con precisión de milisegundo, seguidos de bits aleatorios. Los UUIDs generados en el mismo milisegundo se ordenan por orden de inserción.
Usa v7 para:
- Claves primarias de base de datos (4x más inserciones que v4 en MySQL)
- IDs de registro de eventos
- IDs de mensajes en colas de mensajes
- Identificadores de sistemas distribuidos donde quieres un ordenamiento aproximado
El benchmark de PlanetScale (2024) mostró inserciones UUID v7 a 18,000/seg vs UUID v4 a 4,500/seg en MySQL 8. La diferencia de 4x viene de la indexación B-tree: las inserciones aleatorias v4 causan divisiones de página, las inserciones secuenciales v7 van al lado derecho del árbol.
Cómo generar UUIDs en el navegador
La forma más rápida:
crypto.randomUUID() // → "550e8400-e29b-41d4-a716-446655440000"
Esto devuelve un UUID v4. Para v7, necesitas un pequeño polyfill que combine crypto.getRandomValues con un prefijo de marca de tiempo.
El generador de UUIDs en DevSpeedTools produce tanto v4 como v7 en el navegador usando crypto.getRandomValues directamente. Genera un UUID o genera 100 masivamente — sin instalación, sin servidor, sin subida.
Generación masiva de UUIDs
Para datos de prueba, a menudo necesitas cientos o miles de UUIDs. El navegador puede generar UUIDs v4 a millones por segundo usando crypto.randomUUID() en un bucle. Para v7, el componente de marca de tiempo significa que no puedes generar más de uno por milisegundo con unicidad garantizada — pero el sufijo aleatorio te da suficiente resistencia a colisiones para propósitos prácticos.
Variaciones de formato UUID
Diferentes sistemas esperan diferentes formatos de UUID:
| Formato | Ejemplo | Caso de uso |
|---|---|---|
| Estándar | 550e8400-e29b-41d4-a716-446655440000 |
La mayoría de bases de datos, APIs |
| Sin guiones | 550e8400e29b41d4a716446655440000 |
Algunas APIs, parámetros de URL |
| Mayúsculas | 550E8400-E29B-41D4-A716-446655440000 |
Sistemas heredados |
| Con llaves | {550e8400-e29b-41d4-a716-446655440000} |
GUIDs de Microsoft |
El formato estándar con guiones es el predeterminado más seguro. La mayoría de bases de datos y ORMs aceptan todas las variantes.
Errores comunes de UUID
- Usar v4 para claves primarias de base de datos. Los UUIDs aleatorios matan el rendimiento de escritura a gran escala. Usa v7 para nuevos esquemas.
- Asumir que los UUIDs son secuenciales. v4 es aleatorio. v7 es ordenado por tiempo pero no secuencial dentro de un milisegundo.
- Almacenar UUIDs como cadenas. Los UUIDs son 16 bytes binarios. Almacenarlos como una cadena de 36 caracteres desperdicia 20 bytes por fila y ralentiza los índices. Usa el tipo UUID nativo en Postgres, MySQL 8+ o SQLite con extensiones.
- Olvidar los bits de variante. Los UUIDs tienen bits de variante que afectan el primer dígito hexadecimal del tercer grupo. No los elimines.
Genera UUIDs ahora
Si necesitas un UUID ahora mismo, usa un generador basado en navegador. El generador de UUIDs en DevSpeedTools produce UUIDs v4 y v7 al instante, con copia al portapapeles y generación masiva. Sin subida, sin cuenta, sin servidor — tus UUIDs se generan localmente usando crypto.getRandomValues.