Generador UUID
Generar y validar UUIDs. Rápido, seguro y funciona sin conexión.
Generador UUID/ULID
🔍 Need help choosing? Click for specific use cases
Validador UUID/ULID
UUID/ULID Information
📚 Documentación oficial:
- • RFC 4122 - Especificación UUID original (v1-v5)
- • RFC 9562 - Especificación UUID actualizada (v6-v8, 2024)
- • ULID Specification - Especificación ULID canónica
- • Wikipedia: UUID - Visión general completa
⏰ UUID v1 - Basado en tiempo
Use case: Claves primarias de base de datos, sistemas legacy, sistemas distribuidos que necesitan orden temporal
Pros: Excelente para indexación de base de datos, ordenamiento cronológico natural, único en espacio y tiempo
Cons: Contiene dirección MAC y timestamp - considerar implicaciones de privacidad para aplicaciones públicas
⚠️ UUID v2 - Seguridad DCE (Reservado)
Reservado para UUIDs de seguridad DCE. Definido en RFC 4122 pero implementación compleja y consideraciones de seguridad lo hacen raramente usado en práctica
⚠️🔐 UUID v3 - Hash MD5 (déprécié)
Use case: Sistemas legacy que requieren UUIDs determinísticos desde nombres
Example: Migrar sistemas antiguos donde necesitas el mismo UUID para "user:john@example.com" cada vez
Good for: Migración de usuarios, sincronización de datos, UUIDs reproducibles entre sistemas
Note: MD5 tiene vulnerabilidades criptográficas conocidas, v5 es preferido para nuevos proyectos
🎲 UUID v4 - Aleatorio (Más Popular)
Use case: Propósito general, APIs, IDs de sesión, identificadores de archivos
Example: IDs de usuario, IDs de orden - cualquier cosa que necesite unicidad sin orden temporal
Why popular: Simple, seguro, sin dependencias en MAC/tiempo
Database caveat: Naturaleza aleatoria puede causar fragmentación de índice y mal rendimiento de inserción
🔐 UUID v5 - Hash SHA-1
Use case: UUIDs determinísticos desde nombres (mejor que v3)
Example: Direccionamiento de contenido - mismo contenido siempre obtiene mismo UUID: "article:como-usar-uuid"
Good for: Deduplicación, builds reproducibles, direccionamiento basado en contenido
⏰ UUID v6 - Ordenado temporalmente (RFC 9562)
Design: Igual que v1 pero con bits de marca de tiempo reordenados de más a menos significativo
Use case: Rendimiento de base de datos con ordenamiento lexicográfico por tiempo de creación
Advantage: Permite ordenar UUIDs por tiempo de creación simplemente ordenando lexicográficamente, a diferencia de v1
⏰ UUID v7 - Marca de tiempo Unix (RFC 9562)
Design: Marca de tiempo Unix 48-bit + 80-bit aleatorio (concepto similar a ULID)
Use case: Aplicaciones modernas que necesitan IDs ordenables con marcas de tiempo Unix
Benefits: Ordenable lexicográficamente, formato UUID estándar, excelente rendimiento de base de datos
⏰ ULID - Ordenable lexicográficamente
Design: Marca de tiempo 48-bit + 80-bit aleatorio, codificado Base32 (26 caracteres)
Use case: APIs y bases de datos donde quieres IDs legibles y ordenables
Features: URL-safe, insensible a mayúsculas, ordenable lexicográficamente, precisión de milisegundo
ULID vs UUID v7 - Contexto histórico 📚
Timeline: ULID fue creado primero para resolver problemas de ordenabilidad UUID
UUID v7 inspiration: UUID v7 (RFC 9562, 2024) se inspiró en el diseño de ULID
Key difference: ULID usa codificación Base32 (26 chars), UUID v7 usa formato UUID estándar (36 chars)
Current trend: UUID v7 se está volviendo preferido para nuevos proyectos debido a estandarización oficial
💡 Casos de uso comunes:
- General purpose: Propósito general/APIs: v4 (ampliamente soportado, pero evitar como claves primarias DB)
- Database keys: Claves primarias de base de datos: v6, v7, o ULID (mejor rendimiento de inserción)
- Time-ordered data: Datos ordenados por tiempo: v1, v6, v7, o ULID
- Deterministic UUIDs: Determinístico desde nombres: v5 (o v3 para legacy)
- Legacy systems: Compatibilidad legacy: Mantener versión existente
- Public APIs: APIs públicas: v4 o ULID