Validador UUID
El validador de formato UUID comprueba si un valor respeta la representación UUID estándar de 36 caracteres con guiones y explica con precisión por qué se rechaza una entrada incorrecta.
Ejecutar — gratis
Cuando el resultado es correcto, devuelve la forma canónica normalizada en minúsculas, la variante codificada en los bits de secuencia de reloj y la versión codificada en el UUID. Admite letras hexadecimales mayúsculas o minúsculas, pero no acepta silenciosamente llaves, cadenas compactas, separadores mal colocados ni caracteres no hexadecimales.
Qué comprueba este validador de UUID
Un UUID contiene 128 bits, aunque las personas y los sistemas suelen intercambiarlo como 36 caracteres visibles distribuidos en cinco grupos: ocho caracteres hexadecimales y, después, cuatro, cuatro, cuatro y doce, separados por guiones. Este validador comprueba exactamente esa representación. Verifica la longitud total, confirma que cada separador ocupa la posición correcta y rechaza cualquier carácter que no sea un dígito hexadecimal o un guion. Las letras hexadecimales pueden escribirse en mayúsculas o minúsculas porque el uso de mayúsculas no altera los bits subyacentes. No se eliminan silenciosamente espacios, llaves, prefijos URN, valores compactos de 32 caracteres ni signos finales. Esta delimitación estricta resulta útil al probar el contrato de una API o de un campo de base de datos: la entrada coincide con la forma UUID documentada o recibe una explicación que señala el problema estructural. Una respuesta correcta incluye valid con valor verdadero y una cadena canónica en minúsculas apta para comparaciones estables, claves de caché, datos de prueba y registros. La validación es determinista y no consulta registros, genera sustitutos ni afirma que el UUID exista en un sistema externo.
Cómo se decodifican la variante y la versión
Los metadatos de un UUID están codificados en el propio identificador y no se consultan externamente. La versión corresponde al dígito hexadecimal situado al principio del tercer grupo; el validador convierte ese dígito en un entero de 0 a 15 y lo devuelve directamente. Entre las versiones asignadas habituales se encuentran la versión 1 basada en tiempo, las versiones 3 y 5 basadas en nombres, la versión 4 aleatoria, la versión 6 con tiempo reordenado, la versión 7 con tiempo Unix y la versión 8 personalizada. La variante se obtiene de los bits iniciales del cuarto grupo. Un bit inicial cero se informa como ncs; el patrón 10 se informa como rfc_4122, la familia empleada por los diseños UUID modernos; 110 se informa como microsoft; y 111 como future. Informar de los bits no equivale a imponer un perfil de aplicación. Un UUID estructuralmente correcto puede contener una versión reservada o una variante heredada, por lo que esta herramienta describe lo codificado en vez de suponer que todo valor válido debe ser de versión 4. Después, su aplicación puede aplicar su propia política a los campos devueltos.
Canonicalización, errores y uso práctico
La canonicalización solo modifica el uso de mayúsculas en las letras hexadecimales: los cinco grupos y todos los dígitos permanecen intactos, mientras que de A a F pasan a minúsculas. Así, dos grafías admitidas del mismo valor de 128 bits producen exactamente la misma cadena canónica. El validador no recorta espacios ni repara un valor casi correcto, pues una limpieza automática podría ocultar un límite de serialización defectuoso. En su lugar, un valor vacío, un valor que no sea una cadena, una cantidad de caracteres incorrecta, guiones mal colocados o caracteres ilegales producen mensajes explicativos distintos. Este comportamiento hace que la capacidad sea apropiada para controles de importación, diagnósticos de formularios, datos de prueba y herramientas de soporte donde la causa importa tanto como el resultado afirmativo o negativo. Envíe un candidato en el campo text; también se admiten los alias uuid y value para facilitar la integración. La operación cuesta $0.002 por elemento mediante la API y se ejecuta sin red, aleatoriedad, reloj, modelo ni almacenamiento persistente. Solo comprueba sintaxis y metadatos incrustados; no determina unicidad, propiedad, presencia en una base de datos ni idoneidad para un protocolo concreto.
Qué puede hacer con ella
Proteja el límite de una API
Rechace parámetros de ruta incorrectos antes de consultar la base de datos y conserve un identificador canónico para comparaciones posteriores.
Depure identificadores importados
Detecte longitudes, separadores o caracteres incorrectos en archivos CSV y migraciones con una explicación útil para el desarrollo.
Inspeccione metadatos UUID
Confirme la variante y versión codificadas al auditar si los productores respetan la política de identificadores de una aplicación.
Preguntas frecuentes
¿Qué formatos de texto UUID se admiten?
Se admite la forma estándar de 36 caracteres con grupos 8-4-4-4-12 y guiones, usando letras hexadecimales mayúsculas o minúsculas.
¿Admite llaves, prefijos URN o UUID compactos?
No. Esas representaciones se rechazan para que una integración pueda exigir un contrato textual único y sin ambigüedades.
¿Qué significa aquí forma canónica?
Es el mismo UUID con la agrupación estándar y guiones, pero con todas las letras hexadecimales convertidas a minúsculas.
¿Un resultado válido demuestra que el UUID existe o es único?
No. El resultado solo demuestra que la cadena está bien formada estructuralmente e informa de los metadatos codificados en sus bits.
¿Cuánto cuesta la validación?
Cada elemento de la API cuesta $0.002. El validador determinista no realiza solicitudes de red y también puede ejecutarse en el navegador.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/dev/uuid-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"550E8400-E29B-41D4-A716-446655440000"}'const res = await fetch("https://api.kit.forhosting.com/dev/uuid-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "550E8400-E29B-41D4-A716-446655440000"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/uuid-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "550E8400-E29B-41D4-A716-446655440000"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/uuid-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"550E8400-E29B-41D4-A716-446655440000"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"550E8400-E29B-41D4-A716-446655440000"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/uuid-validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "550E8400-E29B-41D4-A716-446655440000"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.uuid_validate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |