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 UUID
  • NCS - Network Computing System (obsoleto)
  • Microsoft - Variante GUID de Microsoft
  • Reserved - 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: Microsoft
  • E-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}$';