nearnull

Validador de UUID

Validá cualquier UUID e inspeccioná su versión y variant al instante. Funciona enteramente en tu navegador: no se envía nada a ningún servidor.

Resultados

¿Qué hace que un UUID sea válido?

Un UUID es un valor de 128 bits que normalmente se escribe como 32 dígitos hexadecimales agrupados 8-4-4-4-12 (ej. 123e4567-e89b-12d3-a456-426614174000). Esta herramienta verifica que un string decodifique a exactamente 16 bytes de datos hex — aceptando el formato estándar con guiones, sin guiones, entre llaves {}, y con cualquier combinación de mayúsculas/minúsculas — y después lee los bits de versión y variant embebidos en esos bytes para decirte no solo si está bien formado, sino qué tipo de UUID es. Pegá una lista entera, un UUID por línea, para validarlos todos de una vez.

Variants de UUID

RFC 9562 / RFC 4122

El variant estándar usado por prácticamente todos los UUID modernos, identificado porque los dos bits más significativos del byte 8 son 10. Es el único variant donde el nibble de versión (v1–v8) tiene sentido — es el que produce el Generador de UUID de esta app.

EstándarCon versión

NCS (compatibilidad hacia atrás)

El variant más viejo, reservado por compatibilidad hacia atrás con los UUID originales del Apollo Network Computing System, anteriores a RFC 4122. Se identifica porque el bit más significativo del byte 8 es 0. Hoy es extremadamente raro encontrarlo en la práctica.

LegacyRaro

Microsoft (reservado)

Reservado por compatibilidad hacia atrás con los primeros GUID de COM/DCE de Microsoft, que guardaban algunos campos en un orden de bytes distinto (mixed-endian). Se identifica porque los tres bits más significativos del byte 8 son 110.

LegacyCOM/DCE

Reservado para uso futuro

El patrón de bits restante (tres bits más significativos del byte 8 iguales a 111), reservado por el spec para una posible definición futura. Un UUID que reporta este variant hoy es o bien intencionalmente custom, o está mal formado.

ReservadoPoco común

Ejemplos

Verificá si un string es un UUID bien formado de forma nativa, sin necesidad de librerías en la mayoría de los lenguajes:

JavaScript
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(str)
Python
import uuid
try:
    uuid.UUID(str)
except ValueError:
    pass
Java
java.util.UUID.fromString(str) // throws IllegalArgumentException
C#
Guid.TryParse(str, out var guid)
Go
import "github.com/google/uuid"

_, err := uuid.Parse(str)
PHP
Ramsey\Uuid\Uuid::isValid($str)
Ruby
str =~ /\A[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\z/i

Casos de uso

Validar entrada de usuarios

Rechazá UUIDs mal formados en el body de una request, en params de path o en campos de formulario antes de que lleguen a tu base de datos o a un servicio downstream.

Auditorías de migración de datos

Escaneá valores de un dataset legacy o un export CSV para detectar IDs mal formados, espacios sueltos, o GUIDs viejos estilo Microsoft antes de importarlos a un sistema nuevo.

Detectar versiones de UUID inesperadas

Si tu sistema solo debería recibir identificadores v4 o v7, usá el desglose de versión para detectar un UUID v1 que se coló — v1 embebe un timestamp y datos de nodo que v4/v7 no tienen.

Debuggear tickets de soporte y logs

Confirmá rápidamente si un ID copiado de una línea de log, un reporte de error o un ticket de soporte es realmente un UUID válido antes de perseguir lo que podría ser un bug de formato.

Preguntas frecuentes

¿La versión de un UUID es lo mismo que su variant?
No. El variant (2-3 bits en el byte 8) identifica la familia de formato general que sigue un UUID — RFC 9562, el esquema legacy NCS, o los rangos reservados Microsoft/futuro. La versión (un nibble de 4 bits en el byte 7, valores 1–8) solo existe dentro del variant RFC 9562, y te dice cómo se generó ese UUID en particular (aleatorio, basado en timestamp, basado en nombre, etc.).
¿El UUID nulo (00000000-0000-0000-0000-000000000000) es válido?
Sí — es un UUID bien formado, definido explícitamente por el spec para representar 'ningún valor', similar a un puntero nulo. Esta herramienta lo marca por separado porque tratarlo como un ID aleatorio o generado normal es una fuente común de bugs.
¿Esta herramienta acepta UUIDs sin guiones o entre llaves?
Sí. Primero normaliza la entrada — quitando llaves {} y guiones, e ignorando mayúsculas/minúsculas — así que 123e4567e89b12d3a456426614174000 y {123E4567-E89B-12D3-A456-426614174000} validan igual que la forma estándar con guiones en minúsculas.
¿Por qué esta herramienta detecta los variants NCS y Microsoft si no puede generarlos?
Igual te los vas a encontrar en la práctica — GUIDs viejos de COM/DCE de Microsoft y, más raramente, identificadores legacy de NCS. Reconocer el variant te ayuda a entender por qué un UUID de un sistema viejo puede no decodificarse como esperás, aunque técnicamente esté bien formado.
¿Mi UUID se envía a algún servidor al validarlo?
No. Todo el parseo y la validación ocurren localmente en tu navegador con JavaScript plano. Nada de lo que escribís acá se transmite ni se guarda en ningún lado.
¿Puedo validar varios UUIDs a la vez?
Sí — pegá todos los que quieras en el cuadro, uno por línea. Cada línea se valida de forma independiente y muestra su propio estado, versión y variant; las líneas en blanco se ignoran.