Validateur UUID
Le validateur de format UUID vérifie qu’une valeur respecte la représentation UUID standard de 36 caractères avec traits d’union et explique précisément le rejet d’une saisie incorrecte.
Lancer gratuitement
En cas de réussite, il renvoie la forme canonique normalisée en minuscules, la variante codée dans les bits de séquence d’horloge et la version inscrite dans l’UUID. Les lettres hexadécimales majuscules ou minuscules sont acceptées, sans pour autant tolérer silencieusement les accolades, les chaînes compactes, les séparateurs déplacés ou les caractères non hexadécimaux.
Ce que contrôle ce validateur d’UUID
Un UUID contient 128 bits, mais les personnes et les systèmes l’échangent généralement sous la forme de 36 caractères visibles répartis en cinq groupes : huit caractères hexadécimaux, puis quatre, quatre, quatre et douze, séparés par des traits d’union. Ce validateur contrôle précisément cette représentation. Il vérifie la longueur totale, confirme la position de chaque séparateur et rejette tout caractère autre qu’un chiffre hexadécimal ou un trait d’union. Les lettres hexadécimales peuvent être en majuscules ou en minuscules, car leur casse ne modifie pas les bits sous-jacents. Les espaces, accolades, préfixes URN, valeurs compactes de 32 caractères et signes de ponctuation finaux ne sont pas supprimés en silence. Cette frontière stricte est utile lorsque vous testez le contrat d’une API ou d’un champ de base de données : la saisie correspond à la forme UUID documentée ou reçoit une explication qui désigne le défaut structurel. Une réponse positive contient valid à vrai et fournit une valeur canonique en minuscules, adaptée aux comparaisons stables, clés de cache, jeux d’essai et journaux. La validation est déterministe : elle ne consulte aucun registre, ne génère aucun remplacement et ne prétend pas que l’UUID existe dans un système externe.
Comment la variante et la version sont décodées
Les métadonnées d’un UUID sont codées dans l’identifiant lui-même, sans recherche externe. La version correspond au chiffre hexadécimal placé au début du troisième groupe ; le validateur le convertit en un entier de 0 à 15 et le renvoie directement. Les versions couramment attribuées comprennent la version 1 fondée sur le temps, les versions 3 et 5 fondées sur un nom, la version 4 aléatoire, la version 6 à temps réordonné, la version 7 à temps Unix et la version 8 personnalisée. La variante provient des premiers bits du quatrième groupe. Un premier bit nul est indiqué par ncs ; le motif 10 par rfc_4122, famille employée par les formats UUID modernes ; 110 par microsoft ; et 111 par future. Décrire les bits ne revient pas à imposer un profil applicatif. Un UUID structurellement correct peut porter une version réservée ou une variante historique. L’outil décrit donc le codage observé au lieu de supposer que toute valeur bien formée doit être de version 4. Votre application peut ensuite appliquer sa propre politique aux champs renvoyés.
Canonicalisation, erreurs et usages pratiques
La canonicalisation ne modifie que la casse des lettres hexadécimales : les cinq groupes et tous les chiffres restent intacts, tandis que les lettres de A à F passent en minuscules. Deux écritures acceptées de la même valeur de 128 bits produisent ainsi exactement la même chaîne canonique. Le validateur ne supprime pas les espaces et ne répare pas une valeur presque correcte, car ce nettoyage automatique pourrait masquer une rupture de sérialisation. Une valeur vide, une valeur qui n’est pas une chaîne, un nombre de caractères erroné, des traits d’union déplacés ou des caractères interdits donnent au contraire des messages explicatifs distincts. Ce comportement convient aux contrôles d’importation, diagnostics de formulaires, jeux d’essai et outils d’assistance où la cause compte autant que la réponse positive ou négative. Envoyez un candidat dans le champ text ; les alias uuid et value sont aussi acceptés pour faciliter l’intégration. L’opération coûte $0.002 par élément via l’API et fonctionne sans réseau, hasard, horloge, modèle ni stockage persistant. Elle contrôle uniquement la syntaxe et les métadonnées intégrées, sans déterminer l’unicité, la propriété, la présence en base ou l’adéquation à un protocole particulier.
Cas d’usage
Protégez l’entrée d’une API
Rejetez les paramètres de chemin mal formés avant toute requête en base et conservez un identifiant canonique pour les comparaisons ultérieures.
Diagnostiquez des identifiants importés
Repérez les longueurs, séparateurs ou caractères incorrects dans les fichiers CSV et migrations grâce à une explication exploitable.
Examinez les métadonnées UUID
Confirmez la variante et la version codées lorsque vous vérifiez que les producteurs respectent la politique d’identifiants de l’application.
Questions fréquentes
Quels formats textuels d’UUID sont acceptés ?
La forme standard de 36 caractères en groupes 8-4-4-4-12 avec traits d’union est acceptée, en lettres hexadécimales majuscules ou minuscules.
Les accolades, préfixes URN ou UUID compacts sont-ils acceptés ?
Non. Ces représentations sont rejetées afin que l’intégration puisse imposer un contrat textuel unique et non ambigu.
Que signifie ici la forme canonique ?
Il s’agit du même UUID dans son groupement standard avec traits d’union, toutes les lettres hexadécimales étant converties en minuscules.
Un résultat valide prouve-t-il que l’UUID existe ou est unique ?
Non. Il prouve uniquement que la chaîne est structurellement bien formée et indique les métadonnées codées dans ses bits.
Quel est le prix de la validation ?
Chaque élément traité par l’API coûte $0.002. Le validateur déterministe n’effectue aucune requête réseau et fonctionne aussi dans le navigateur.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"text": "550E8400-E29B-41D4-A716-446655440000"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.uuid_validate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |