Decodificador y Validador UUID | Versiones (v1, v4, v7) y tiempo
Introduzca su UUID en el campo superior y esta herramienta (Decodificador UUID) realizará inmediatamente una comprobación online, determinará la versión, la validez y extraerá información oculta.
¿Qué es un Decodificador UUID?
Un Decodificador UUID es una herramienta que analiza un UUID (Identificador Único Universal) y extrae toda la información disponible. Un UUID no es solo una cadena de caracteres aleatoria; dependiendo de la versión, puede contener una marca de tiempo, información del sistema o un hash de datos determinísticos.
¿Qué información puede obtener de un UUID?
Información básica de UUID
Versión de UUID:
- Determina el tipo y la estructura del UUID (v1, v3, v4, v5, v6, v7)
- Extraído del 13º carácter hexadecimal
Variante:
RFC 4122- Variante estándar de UUIDNCS- Network Computing System (obsoleto)Microsoft- Variante GUID de MicrosoftReserved- Reservado para uso futuro
UUID v1 - Marca de tiempo + Dirección MAC
Qué puede obtener:
- ✅ Tiempo de creación exacto - fecha y hora con una precisión de 100 nanosegundos
- ✅ Secuencia de reloj - número de secuencia para prevenir colisiones
- ✅ ID de nodo - originalmente dirección MAC, a menudo valores aleatorios
Ejemplo:
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Versión: v1 (Marca de tiempo + MAC)
Variante: RFC 4122
Fecha y hora: 15.10.1997 04:25:33.000
Secuencia de reloj: 724
ID de nodo: 00:C0:4F:D4:30:C8
Usos:
- Determinar cuándo se creó un registro
- Auditoría y análisis forense
- Depuración de problemas dependientes del tiempo
UUID v3/v5 - Basado en Hash
Qué puede obtener:
- ✅ Tipo de hash - MD5 (v3) o SHA-1 (v5)
- ❌ No se puede obtener - el namespace y nombre original (hash unidireccional)
Ejemplo:
UUID: 886313e1-3b8a-5372-9b90-0c9aee199e5d
Versión: v5 (hash SHA-1)
Variante: RFC 4122
Tipo: UUID basado en hash (determinístico)
Nota: El namespace y nombre original no se pueden recuperar del UUID
Usos:
- Verificar que el UUID es determinístico
- Identificar el tipo de UUID en una base de datos
- Comprobar la consistencia de identificadores basados en hash
UUID v4 - Aleatorio
Qué puede obtener:
- ✅ Versión - confirmación de que es aleatorio
- ✅ Variante - estándar RFC 4122
- ❌ Ningún dato adicional - bits puramente aleatorios
Ejemplo:
UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479
Versión: v4 (Aleatorio)
Variante: RFC 4122
Tipo: UUID generado aleatoriamente
Usos:
- Verificar que el UUID es aleatorio (no determinístico)
- Comprobar el formato correcto del UUID
- Validar el UUID antes de guardarlo en la base de datos
UUID v6 - Marca de tiempo ordenada
Qué puede obtener:
- ✅ Tiempo de creación exacto - reordenado para un mejor rendimiento de la DB
- ✅ Secuencia de reloj - número de secuencia
- ✅ ID de nodo - identificador de nodo
Ejemplo:
UUID: 1ec9414c-232a-6b00-b3c8-9e6bdeced846
Versión: v6 (Marca de tiempo ordenada)
Variante: RFC 4122
Fecha y hora: 30.01.2026 14:23:45.123
Secuencia de reloj: 3272
ID de nodo: 9E:6B:DE:CE:D8:46
Usos:
- Determinar el tiempo de creación de un registro
- Análisis de orden cronológico en la DB
- Depuración de sistemas distribuidos
UUID v7 - Marca de tiempo Unix
Qué puede obtener:
- ✅ Marca de tiempo Unix - milisegundos desde el 1.1.1970
- ✅ Fecha y hora - formato estándar de marca de tiempo Unix
- ❌ Parte aleatoria - no se puede decodificar
Ejemplo:
UUID: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Versión: v7 (Marca de tiempo Unix)
Variante: RFC 4122
Fecha y hora: 30.01.2026 14:23:45.123
Usos:
- Obtener el tiempo de creación de UUID modernos
- Análisis de ordenación temporal
- Migración de datos con marcas de tiempo
Estructura de UUID
El UUID tiene el formato: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
6ba7b810-9dad-11d1-80b4-00c04fd430c8
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ └───────────┴─ Nodo (48 bits)
│ │ │ │ │ │ └──┴─────────────── Secuencia de reloj (14 bits)
│ │ │ │ └──┴────────────────────── Variante (2-3 bits)
│ │ └──┴───────────────────────────── Versión (4 bits) + Tiempo Alto
│ └──────────────────────────────────── Tiempo Medio (16 bits)
└─────────────────────────────────────────── Tiempo Bajo (32 bits)
Extracción de versiones y variantes
Versión (M):
- Posición: 13º carácter hexadecimal
- Valores: 1-7 (diferentes versiones de UUID)
Variante (N):
- Posición: 17º carácter hexadecimal
0-7: NCS (Reservado)8-B: RFC 4122 (estándar)C-D: MicrosoftE-F: Futuro (Reservado)
Ejemplos prácticos
Depuración - Determinación del tiempo de creación del registro
Escenario: Un usuario informa que sus datos han desaparecido. Necesita averiguar cuándo se creó el registro.
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Decodificado: 15.10.1997 04:25:33.000
→ El registro fue creado en 1997
Análisis forense - Verificación de la secuencia temporal
Escenario: Comprobación de que los eventos ocurrieron en el orden correcto.
UUID 1: 1ec9414c-232a-6b00-b3c8-9e6bdeced846 → 30.01.2026 14:23:45
UUID 2: 1ec9414d-557b-6a00-8f32-1234567890ab → 30.01.2026 14:25:12
→ UUID 2 fue creado más tarde (orden correcto)
Identificación del tipo de UUID en la base de datos
Escenario: Tiene UUIDs mezclados en la DB y necesita saber cuáles son aleatorios y cuáles tienen marca de tiempo.
f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (aleatorio, sin marca de tiempo)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (tiene marca de tiempo)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (tiene marca de tiempo)
→ Solo los UUID v1 y v7 contienen información de tiempo
Limitaciones y lo que no se puede obtener
❌ UUID v3/v5 - No se puede decodificar el hash
Imposible:
- Recuperar el namespace original
- Recuperar el nombre/valor original
- Determinar qué datos fueron hasheados
Razón: MD5 y SHA-1 son funciones hash unidireccionales.
❌ UUID v4 - Sin datos ocultos
Imposible:
- Obtener metadatos
- Determinar el tiempo de creación
- Identificar la fuente
Razón: UUID v4 es puramente aleatorio, no contiene información estructurada.
⚠️ UUID v1/v6 - El ID de nodo puede ser aleatorio
Limitación:
- En implementaciones modernas, el ID de nodo es a menudo aleatorio (no una dirección MAC real)
- Debido a la protección de la privacidad, las direcciones MAC a menudo se reemplazan con valores aleatorios
- No se puede identificar de forma fiable una máquina específica
Validación de UUID
El decodificador también funciona como validador de UUID.
Comprobación de la validez del UUID
El decodificador valida automáticamente:
- ✅ Formato correcto (8-4-4-4-12 caracteres hexadecimales)
- ✅ Caracteres hexadecimales válidos (0-9, a-f)
- ✅ Longitud correcta (36 caracteres incluyendo guiones, 32 sin ellos)
Detección de UUIDs no válidos
Ejemplos no válidos:
❌ 6ba7b810-9dad-11d1-80b4 (demasiado corto)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (caracteres no válidos)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (formato incorrecto)
Para desarrolladores
Implementación en JavaScript
// Extracción de la versión de un UUID
function getUUIDVersion(uuid) {
const cleaned = uuid.replace(/-/g, '');
return parseInt(cleaned[12], 16);
}
// Extracción de la marca de tiempo de un UUID v7
function extractV7Timestamp(uuid) {
const cleaned = uuid.replace(/-/g, '');
const timeHi = parseInt(cleaned.substring(0, 8), 16);
const timeLow = parseInt(cleaned.substring(8, 12), 16);
const unixMs = Number(BigInt("0x" + cleaned.substring(0, 12)) >> 16n);
return new Date(unixMs);
}
// Ejemplo
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Date object
Validación de UUID usando Regex
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
function isValidUUID(uuid) {
return uuidRegex.test(uuid);
}
Preguntas frecuentes (FAQ)
¿Puedo obtener la hora de creación de un UUID v4?
No, un UUID v4 es puramente aleatorio y no contiene información temporal. Para UUIDs con tiempo, utilice v1, v6 o v7.¿Por qué el ID de nodo en UUID v1 es aleatorio en lugar de la dirección MAC?
Las implementaciones modernas usan un ID de nodo aleatorio debido a la protección de la privacidad. Revelar la dirección MAC real podría ser un riesgo de seguridad.¿Puedo recuperar la URL o el nombre original de un UUID v5?
No, un UUID v5 utiliza un hash SHA-1, que es unidireccional. No se pueden recuperar los datos originales del hash.¿Cómo sé si un UUID es aleatorio (v4)?
El decodificador mostrará la versión del UUID. Si la versión es 4, se trata de un UUID generado aleatoriamente sin metadatos adicionales.¿Es precisa la marca de tiempo en UUID v1?
Sí, un UUID v1 tiene una precisión teórica de 100 nanosegundos (desde el 15 de octubre de 1582). En la práctica, depende de la precisión del reloj del sistema.¿Puedo usar el decodificador para validar un UUID?
Sí, el decodificador valida automáticamente el formato del UUID y mostrará un error si el UUID no es válido.Seguridad y privacidad
¿Qué revela un UUID?
UUID v1/v6:
- ⚠️ Tiempo de creación - puede revelar la temporalización de las operaciones
- ⚠️ Potencialmente dirección MAC - riesgo de identificación del dispositivo (aleatorio en implementaciones modernas)
UUID v4:
- ✅ Seguro - no contiene metadatos
UUID v7:
- ⚠️ Marca de tiempo Unix - revela el tiempo de creación
Recomendaciones
- ✅ Utilice UUID v4 para máxima privacidad
- ⚠️ Tenga cuidado con UUID v1/v6/v7 en APIs públicas (revelan información temporal)
- ✅ UUID v5 es determinístico, pero no revela los datos originales
- ⚠️ El hash MD5 no es completamente seguro
Curiosidades
- UUID v1 más antiguo posible: 15 de octubre de 1582 00:00:00 (inicio del calendario gregoriano)
- UUID v7 más reciente: 10889-08-02 05:31:50.655 (límite de la marca de tiempo Unix en ms)
- Precisión de UUID v1: 100 nanosegundos (teóricamente 10 millones de UUID por segundo)
- UUID Nil:
00000000-0000-0000-0000-000000000000(un UUID “vacío” especial) - UUID Max:
ffffffff-ffff-ffff-ffff-ffffffffffff(valor máximo)
Uso en diferentes sistemas
PostgreSQL
-- Extracción de la versión del UUID
SELECT substring(id::text, 15, 1) as version
FROM users;
-- Filtrado por versión
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';
MySQL
-- Comprobación del formato UUID
SELECT id
FROM users
WHERE id REGEXP '^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$';