# Décodeur et validateur UUID

> Décodez un UUID en ligne. Identifiez sa version, extrayez l'horodatage (v1, v7) et vérifiez la validité du format. Supporte UUID v1, v3, v4, v5, v6, v7.

URL: https://acrafto.com/fr/decodeur-validateur-uuid/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

Insérez votre UUID dans le champ ci-dessus et cet outil (analyseur UUID) effectuera une vérification en ligne immédiate, déterminera la version, la validité et extraira les informations cachées.

## Qu’est-ce qu’un décodeur UUID?

Un décodeur UUID est un outil qui analyse un UUID (Universally Unique Identifier) et en extrait toutes les informations disponibles. Un UUID n’est pas seulement une chaîne de caractères aléatoire – selon sa version, il peut contenir un horodatage, des informations système ou le hachage de données déterministes.

## Quelles informations pouvez-vous obtenir d’un UUID?

### Informations de base sur l’UUID

**Version UUID:**

- Détermine le type et la structure de l’UUID (v1, v3, v4, v5, v6, v7)
- Extrait du 13e caractère hexadécimal

**Variante:**

- `RFC 4122` - Variante UUID standard
- `NCS` - Network Computing System (obsolète)
- `Microsoft` - Variante GUID Microsoft
- `Reserved` - Réservé pour une utilisation future

### UUID v1 - Horodatage + adresse MAC

**Ce que vous pouvez obtenir:**

- ✅ **Heure de création exacte** - date et heure avec une précision de 100 nanosecondes
- ✅ **Séquence d’horloge** - numéro de séquence pour prévenir les collisions
- ✅ **ID de nœud** - initialement une adresse MAC, souvent des valeurs aléatoires

**Exemple:**

```
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8

Version: v1 (Horodatage + MAC)
Variante: RFC 4122
Date et heure: 15.10.1997 04:25:33.000
Séquence d'horloge: 724
ID de nœud: 00:C0:4F:D4:30:C8
```

**Utilisation:**

- Déterminer quand un enregistrement a été créé
- Audit et analyse forensique
- Débogage de problèmes dépendants du temps

### UUID v3/v5 - Basé sur le hachage

**Ce que vous pouvez obtenir:**

- ✅ **Type de hachage** - MD5 (v3) ou SHA-1 (v5)
- ❌ **Non récupérable** - espace de noms et nom d’origine (hachage unidirectionnel)

**Exemple:**

```
UUID: 886313e1-3b8a-5372-9b90-0c9aee199e5d

Version: v5 (hachage SHA-1)
Variante: RFC 4122
Type: UUID basé sur le hachage (déterministe)
Note: L'espace de noms et le nom d'origine ne peuvent pas être récupérés à partir de l'UUID.
```

**Utilisation:**

- Vérifier qu’un UUID est déterministe
- Identifier le type d’UUID dans une base de données
- Vérifier la cohérence des identifiants basés sur le hachage

### UUID v4 - Aléatoire

**Ce que vous pouvez obtenir:**

- ✅ **Version** - confirmation qu’il est aléatoire
- ✅ **Variante** - standard RFC 4122
- ❌ **Aucune donnée supplémentaire** - bits purement aléatoires

**Exemple:**

```
UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479

Version: v4 (Aléatoire)
Variante: RFC 4122
Type: UUID généré aléatoirement
```

**Utilisation:**

- Vérifier qu’un UUID est aléatoire (non déterministe)
- Vérifier le bon format d’un UUID
- Valider un UUID avant de l’enregistrer dans une base de données

### UUID v6 - Horodatage ordonné

**Ce que vous pouvez obtenir:**

- ✅ **Heure de création exacte** - réorganisée pour de meilleures performances de base de données
- ✅ **Séquence d’horloge** - numéro de séquence
- ✅ **ID de nœud** - identifiant du nœud

**Exemple:**

```
UUID: 1ec9414c-232a-6b00-b3c8-9e6bdeced846

Version: v6 (Horodatage ordonné)
Variante: RFC 4122
Date et heure: 30.01.2026 14:23:45.123
Séquence d'horloge: 3272
ID de nœud: 9E:6B:DE:CE:D8:46
```

**Utilisation:**

- Déterminer l’heure de création d’un enregistrement
- Analyser l’ordre chronologique dans la base de données
- Débogage de systèmes distribués

### UUID v7 - Horodatage Unix

**Ce que vous pouvez obtenir:**

- ✅ **Horodatage Unix** - millisecondes depuis le 01.01.1970
- ✅ **Date et heure** - format d’horodatage Unix standard
- ❌ **Partie aléatoire** - ne peut pas être décodée

**Exemple:**

```
UUID: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f

Version: v7 (Horodatage Unix)
Variante: RFC 4122
Date et heure: 30.01.2026 14:23:45.123
```

**Utilisation:**

- Obtenir l’heure de création des UUID modernes
- Analyse de l’ordonnancement temporel
- Migration de données avec des horodatages

## Structure d’un UUID

Un UUID a le format : `xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx`

```
6ba7b810-9dad-11d1-80b4-00c04fd430c8
│      │ │  │ │  │ │  │ │           │
│      │ │  │ │  │ │  │ └───────────┴─ Nœud (48 bits)
│      │ │  │ │  │ └──┴─────────────── Séquence d'horloge (14 bits)
│      │ │  │ └──┴────────────────────── Variante (2-3 bits)
│      │ └──┴───────────────────────────── Version (4 bits) + Time High
│      └──────────────────────────────────── Time Mid (16 bits)
└─────────────────────────────────────────── Time Low (32 bits)
```

### Extraction des versions et variantes

**Version (M):**

- Position: 13ème caractère hexadécimal
- Valeurs: 1-7 (différentes versions d’UUID)

**Variante (N):**

- Position: 17ème caractère hexadécimal
- `0-7`: NCS (Réservé)
- `8-B`: RFC 4122 (standard)
- `C-D`: Microsoft
- `E-F`: Futur (Réservé)

## Exemples pratiques

### Débogage - Déterminer l’heure de création d’un enregistrement

**Scénario:** Un utilisateur signale que ses données ont disparu. Vous devez déterminer quand l’enregistrement a été créé.

```
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Décodé: 15.10.1997 04:25:33.000

→ L'enregistrement a été créé en 1997
```

### Analyse forensique - Vérification de la séquence temporelle

**Scénario:** Vérifier si les événements se sont produits dans le bon ordre.

```
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

→ L'UUID 2 a été créé plus tard (ordre correct)
```

### Identification du type d’UUID dans une base de données

**Scénario:** Vous avez des UUID mixtes dans votre base de données et vous devez savoir lesquels sont aléatoires et lesquels ont un horodatage.

```
f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (aléatoire, sans horodatage)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (avec horodatage)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (avec horodatage)

→ Seuls les UUID v1 et v7 contiennent des informations temporelles
```

## Limites et ce qui ne peut pas être obtenu

### ❌ UUID v3/v5 - Impossible de décoder le hachage

**Impossible:**

- Récupérer l’espace de noms d’origine
- Récupérer le nom/la valeur d’origine
- Déterminer quelles données ont été hachées

**Raison:** MD5 et SHA-1 sont des fonctions de hachage unidirectionnelles.

### ❌ UUID v4 - Aucune donnée cachée

**Impossible:**

- Obtenir des métadonnées
- Déterminer l’heure de création
- Identifier la source

**Raison:** L’UUID v4 est purement aléatoire et ne contient aucune information structurée.

### ⚠️ UUID v1/v6 - L’ID de nœud peut être aléatoire

**Limitation:**

- Dans les implémentations modernes, l’ID de nœud est souvent aléatoire (pas une véritable adresse MAC)
- Pour des raisons de confidentialité, les adresses MAC sont souvent remplacées par des valeurs aléatoires
- Il n’est pas possible d’identifier de manière fiable une machine spécifique

## Validation d’UUID

Le décodeur fonctionne également comme un validateur UUID.

### Vérification de la validité d’un UUID

Le décodeur valide automatiquement:

- ✅ Format correct (8-4-4-4-12 caractères hexadécimaux)
- ✅ Caractères hexadécimaux valides (0-9, a-f)
- ✅ Longueur correcte (36 caractères avec les tirets, 32 sans)

### Reconnaissance des UUID invalides

**Exemples invalides:**

```
❌ 6ba7b810-9dad-11d1-80b4          (trop court)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (caractères invalides)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (mauvais format)
```

## Pour les développeurs

### Implémentation en JavaScript

```
// Extraction de la version d'un UUID
function getUUIDVersion(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    return parseInt(cleaned[12], 16);
}

// Extraction de l'horodatage d'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);
}

// Exemple
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Objet Date
```

### Validation d’UUID via 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);
}
```

## Questions fréquentes (FAQ)

### Puis-je obtenir l'heure de création à partir d'un UUID v4?

Non, l'UUID v4 est purement aléatoire et ne contient aucune information temporelle. Pour les UUID avec horodatage, utilisez v1, v6 ou v7.

### Pourquoi l'ID de nœud dans l'UUID v1 est-il aléatoire au lieu d'une adresse MAC?

Les implémentations modernes utilisent un ID de nœud aléatoire pour la protection de la vie privée. Révéler la véritable adresse MAC pourrait être un risque de sécurité.

### Puis-je récupérer l'URL ou le nom d'origine à partir d'un UUID v5?

Non, l'UUID v5 utilise un hachage SHA-1, qui est unidirectionnel. Il n'est pas possible de récupérer les données d'origine à partir du hachage.

### Comment savoir si un UUID est aléatoire (v4)?

Le décodeur affichera la version de l'UUID. Si la version est 4, il s'agit d'un UUID généré aléatoirement sans métadonnées supplémentaires.

### L'horodatage dans l'UUID v1 est-il précis?

Oui, l'UUID v1 a une précision théorique de 100 nanosecondes (à partir du 15 octobre 1582). En pratique, cela dépend de la précision de l'horloge système.

### Puis-je utiliser le décodeur pour valider un UUID?

Oui, le décodeur valide automatiquement le format de l'UUID et affichera une erreur si l'UUID est invalide.

## Sécurité et confidentialité

### Que révèle un UUID?

**UUID v1/v6:**

- ⚠️ **Heure de création** - peut révéler le timing des opérations
- ⚠️ **Potentiellement l’adresse MAC** - risque d’identification de l’appareil (aléatoire dans les implémentations modernes)

**UUID v4:**

- ✅ **Sûr** - ne contient aucune métadonnée

**UUID v7:**

- ⚠️ **Horodatage Unix** - révèle l’heure de création

### Recommandations

- ✅ Utilisez l’UUID v4 pour une confidentialité maximale
- ⚠️ Soyez prudent avec les UUID v1/v6/v7 dans les API publiques (ils révèlent des informations temporelles)
- ✅ L’UUID v5 est déterministe, mais ne révèle pas les données d’origine
- ⚠️ Le hachage MD5 n’est pas entièrement sécurisé

## Faits intéressants

- **Plus ancien UUID v1 possible**: 15 octobre 1582 00:00:00 (début du calendrier grégorien)
- **Plus récent UUID v7 possible**: 10889-08-02 05:31:50.655 (limite d’horodatage Unix en ms)
- **Précision de l’UUID v1**: 100 nanosecondes (théoriquement 10 millions d’UUID par seconde)
- **UUID Nil**: `00000000-0000-0000-0000-000000000000` (UUID “vide” spécial)
- **UUID Max**: `ffffffff-ffff-ffff-ffff-ffffffffffff` (valeur maximale)

## Utilisation dans différents systèmes

### PostgreSQL

```
-- Extraction de la version de l'UUID
SELECT substring(id::text, 15, 1) as version
FROM users;

-- Filtrage par version
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';
```

### MySQL

```
-- Vérification du format de l'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}$';
```

## Other languages

- Čeština (cs): [UUID decoder a validátor](https://acrafto.com/cs/dekoder-uuid/) ([Markdown](https://acrafto.com/cs/dekoder-uuid/index.md))
- Slovenčina (sk): [UUID dekodér a validátor](https://acrafto.com/sk/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/sk/uuid-dekoder-validator/index.md))
- English (en): [UUID Decoder and Validator](https://acrafto.com/en/uuid-decoder-validator/) ([Markdown](https://acrafto.com/en/uuid-decoder-validator/index.md))
- Deutsch (de): [UUID Decoder & Validator](https://acrafto.com/de/uuid-dekodierer-validator/) ([Markdown](https://acrafto.com/de/uuid-dekodierer-validator/index.md))
- Español (es): [Decodificador y validador UUID](https://acrafto.com/es/decodificador-validador-uuid/) ([Markdown](https://acrafto.com/es/decodificador-validador-uuid/index.md))
- Italiano (it): [Decodificatore e validatore UUID](https://acrafto.com/it/decodificatore-validatore-uuid/) ([Markdown](https://acrafto.com/it/decodificatore-validatore-uuid/index.md))
- Português (pt): [Decodificador e validador de UUID](https://acrafto.com/pt/analise-uuid/) ([Markdown](https://acrafto.com/pt/analise-uuid/index.md))
- Nederlands (nl): [UUID decoder & validator](https://acrafto.com/nl/uuid-decoder-validator/) ([Markdown](https://acrafto.com/nl/uuid-decoder-validator/index.md))
- Polski (pl): [Dekoder i walidator UUID](https://acrafto.com/pl/dekoder-i-walidator-uuid/) ([Markdown](https://acrafto.com/pl/dekoder-i-walidator-uuid/index.md))
- Română (ro): [Decodor și validator UUID](https://acrafto.com/ro/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ro/uuid-decoder-validator/index.md))
- Magyar (hu): [UUID dekóder és validátor](https://acrafto.com/hu/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/hu/uuid-dekoder-validator/index.md))
- Ελληνικά (el): [Αποκωδικοποιητής UUID](https://acrafto.com/el/uuid-decoder/) ([Markdown](https://acrafto.com/el/uuid-decoder/index.md))
- Български (bg): [UUID декодер и валидатор](https://acrafto.com/bg/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/bg/uuid-dekoder-validator/index.md))
- Hrvatski (hr): [UUID dekoder i validator](https://acrafto.com/hr/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/hr/uuid-dekoder-validator/index.md))
- Slovenščina (sl): [UUID decoder in validator](https://acrafto.com/sl/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/sl/uuid-dekoder-validator/index.md))
- Eesti (et): [UUID dekooder ja validaator](https://acrafto.com/et/uuid-dekooder-validaator/) ([Markdown](https://acrafto.com/et/uuid-dekooder-validaator/index.md))
- Latviešu (lv): [UUID dekodētājs un validētājs](https://acrafto.com/lv/uuid-dekodetajs-validetajs/) ([Markdown](https://acrafto.com/lv/uuid-dekodetajs-validetajs/index.md))
- Lietuvių (lt): [UUID dekoderis](https://acrafto.com/lt/uuid-dekoderis-ir-validuoklis/) ([Markdown](https://acrafto.com/lt/uuid-dekoderis-ir-validuoklis/index.md))
- Svenska (sv): [UUID decoder och validator](https://acrafto.com/sv/uuid-avkodare-validerare/) ([Markdown](https://acrafto.com/sv/uuid-avkodare-validerare/index.md))
- Dansk (da): [UUID dekoder og validator](https://acrafto.com/da/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/da/uuid-dekoder-validator/index.md))
- Suomi (fi): [UUID-dekooderi ja validaattori](https://acrafto.com/fi/uuid-dekooderi/) ([Markdown](https://acrafto.com/fi/uuid-dekooderi/index.md))
- Norsk (no): [UUID-dekoder og validator](https://acrafto.com/no/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/no/uuid-dekoder-validator/index.md))
- Українська (uk): [Декодер і валідатор UUID](https://acrafto.com/uk/uuid-dekoder/) ([Markdown](https://acrafto.com/uk/uuid-dekoder/index.md))
- Русский (ru): [UUID декодер и валидатор](https://acrafto.com/ru/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/ru/uuid-dekoder-validator/index.md))
- Српски (sr): [UUID dekoder i validator](https://acrafto.com/sr/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/sr/uuid-dekoder-validator/index.md))
- Македонски (mk): [UUID декодер и валидатор](https://acrafto.com/mk/uuid-dekoder-validator/) ([Markdown](https://acrafto.com/mk/uuid-dekoder-validator/index.md))
- Bosanski (bs): [UUID dekoder i validator](https://acrafto.com/bs/uuid-dekoder-validat/) ([Markdown](https://acrafto.com/bs/uuid-dekoder-validat/index.md))
- Shqip (sq): [Dekodues UUID](https://acrafto.com/sq/dekodues-uuid/) ([Markdown](https://acrafto.com/sq/dekodues-uuid/index.md))
- Türkçe (tr): [UUID çözücü ve doğrulayıcı](https://acrafto.com/tr/uuid-cozucu-dogrulayici/) ([Markdown](https://acrafto.com/tr/uuid-cozucu-dogrulayici/index.md))
- 日本語 (ja): [UUIDデコード・検証](https://acrafto.com/ja/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ja/uuid-decoder-validator/index.md))
- 한국어 (ko): [UUID 디코더 및 검사기](https://acrafto.com/ko/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ko/uuid-decoder-validator/index.md))
- العربية (ar): [فك تشفير UUID والتحقق منه](https://acrafto.com/ar/uuid-decoder-validator/) ([Markdown](https://acrafto.com/ar/uuid-decoder-validator/index.md))
- हिन्दी (hi): [UUID डिकोडर और वैलिडेटर](https://acrafto.com/hi/uuid-decoder-validator/) ([Markdown](https://acrafto.com/hi/uuid-decoder-validator/index.md))
- Bahasa Indonesia (id): [UUID decoder dan validator](https://acrafto.com/id/dekoder-uuid-validator/) ([Markdown](https://acrafto.com/id/dekoder-uuid-validator/index.md))
- Tiếng Việt (vi): [Giải mã và kiểm tra UUID](https://acrafto.com/vi/giai-ma-xac-thuc-uuid/) ([Markdown](https://acrafto.com/vi/giai-ma-xac-thuc-uuid/index.md))
- ไทย (th): [UUID Decoder](https://acrafto.com/th/uuid-decoder-validator/) ([Markdown](https://acrafto.com/th/uuid-decoder-validator/index.md))
- עברית (he): [מפענח UUID](https://acrafto.com/he/uuid-decoder-validator/) ([Markdown](https://acrafto.com/he/uuid-decoder-validator/index.md))
