🧰 ToolPicoTous les outils →
🆔 Outil développeur · Générateur UUID/GUID

Générateur UUID

Générez des UUID/GUID v4 aléatoires, v1 horodatées, v3/v5 basées sur un nom et v7 triées dans le temps. Génération en masse jusqu'à 1 000 à la fois, avec options de format et un validateur — tout dans votre navigateur, rien n'est jamais envoyé à un serveur.

🔒 100% dans votre navigateur 5 modes UUID + ULID Jusqu'à 1 000 en masse Mis à jour : 19 juil. 2026
122 bits d'aléa cryptographique (crypto.getRandomValues) plus des bits fixes de version/variante.
Aucune adresse MAC réelle n'est utilisée. Un « nœud » est généré aléatoirement à chaque génération, avec le bit multicast activé (comme le recommande la RFC 4122) pour signaler qu'il ne s'agit pas d'une véritable adresse matérielle.
Le même namespace + le même nom produisent toujours la même UUID (déterministe) — pas aléatoire.
Les 48 premiers bits sont un horodatage en millisecondes — des UUID v7 générées en séquence se trient aussi dans l'ordre chronologique, alphabétiquement/numériquement. Recommandé pour les clés primaires de bases de données.
Saisissez une UUID standard, sans tirets, entre accolades ({}), ou préfixée par urn:uuid:, ou un ULID de 26 caractères — pour v1, v7 et ULID, l'heure de création intégrée est aussi décodée en UTC/local.
Réponse rapide Le générateur UUID crée des valeurs UUID/GUID conformes RFC 4122/9562 v4 (aléatoire), v1 (horodatée), v3/v5 (basée sur un nom) et v7 (triée dans le temps) directement dans votre navigateur, grâce à crypto.getRandomValues, cryptographiquement sécurisé. Il prend en charge la génération en masse jusqu'à 1 000 à la fois, des options de format et un validateur — aucune donnée n'est jamais envoyée à un serveur.
128 bitsLongueur d'une UUID (16 octets)
5Versions (v1, v3, v4, v5, v7)
100%Côté navigateur, privé
1 000Limite de génération en masse
🔒 Confidentialité : toute la génération et la validation se font dans votre navigateur ; aucune saisie ni UUID générée n'est jamais envoyée à un serveur, ni stockée ou journalisée par celui-ci. L'aléa provient de la Web Crypto API intégrée au navigateur (crypto.getRandomValues) ; le hachage MD5/SHA-1 pour le mode v3/v5 est également calculé avec notre propre code JavaScript pur / Web Crypto — aucune bibliothèque externe ni CDN n'est utilisé. Ce n'est que lorsque vous cliquez sur « Copier le lien » que vos réglages (et, en mode v3/v5, le champ nom) sont encodés dans une adresse partageable.

Qu'est-ce qu'une UUID, et quelles sont ses versions ?

Une explication complète des versions d'UUID selon la RFC 4122/9562, quand utiliser chacune, et en quoi un GUID diffère.

Une UUID (Universally Unique Identifier, identifiant universel unique) est un identifiant de 128 bits (16 octets) considéré comme unique en pratique, même généré sans autorité centrale. Sous forme de texte standard, elle s'écrit avec 32 caractères hexadécimaux et 4 tirets, regroupés 8-4-4-4-12 (par ex. 550e8400-e29b-41d4-a716-446655440000). Cet outil peut générer chaque version définie par la RFC 4122 et l'actuelle RFC 9562 — v1, v3, v4, v5 et v7.

Comment une UUID v4 est-elle générée ?

Réponse rapideUne UUID v4 remplit 122 de ses 128 bits avec la sortie d'un générateur de nombres aléatoires cryptographiquement sécurisé (dans le navigateur, crypto.getRandomValues) ; les 6 bits restants portent les valeurs fixes de version (0100) et de variante (10). La probabilité de collision entre deux UUID v4 différentes est statistiquement négligeable.

Quelle est la différence entre UUID v1 et v4 ?

Réponse rapidev1 intègre l'horodatage de sa création et un identifiant de nœud (classiquement, une adresse MAC) ; elle peut théoriquement être retracée jusqu'à un moment de création et une machine. v4 est entièrement aléatoire et ne porte aucune information de temps ou de machine. Le mode « v1 » de cet outil utilise un identifiant de nœud généré aléatoirement plutôt qu'une véritable adresse MAC — il ne lit jamais d'information matérielle réelle.

Comment fonctionnent les UUID v3 et v5 basées sur un nom ?

Réponse rapidev3 (MD5) et v5 (SHA-1) sont générées en combinant une UUID de namespace avec un nom (par ex. un nom de domaine), puis en hachant le résultat. Le même namespace + le même nom produisent toujours la même UUID — c'est donc déterministe, pas aléatoire. Cela sert lorsque différents systèmes doivent dériver le même identifiant à partir des mêmes données (par ex. retrouver toujours le même enregistrement à partir d'une URL donnée).

Qu'est-ce que l'UUID v7, et pourquoi est-elle recommandée pour les bases de données ?

Réponse rapidev7 est une version d'UUID plus récente (RFC 9562) dont les 48 premiers bits portent un horodatage à la milliseconde près, le reste étant aléatoire. De ce fait, des UUID v7 générées en séquence se trient aussi lexicographiquement dans l'ordre chronologique — ce qu'une UUID v4 ne peut pas faire — ce qui donne un avantage de performance aux index de base de données en réduisant la fragmentation des arbres B.

Quelle est la différence entre un GUID et une UUID ?

Réponse rapideGUID est le nom donné par Microsoft à la même structure de 128 bits ; il repose sur le même standard RFC 4122. La seule différence pratique concerne généralement le format : dans .NET, les GUID sont souvent affichés entourés d'accolades ({550e8400-e29b-41d4-a716-446655440000}). Cet outil peut produire ce format avec l'option de format « { } .NET ».

Mini-outils supplémentaires : UUID NIL, ULID, Base64 & UUID courte

Quatre mini-outils supplémentaires inspirés d'outils UUID concurrents : une UUID vide fixe, un identifiant ULID triable, un convertisseur UUID vers Base64/Hex, et un encodeur d'UUID courte.

UUID NIL
Une UUID spéciale et fixe dont chaque bit est à zéro — utilisée pour représenter « vide » ou « aucune valeur ».
🕒Générer un ULID
128 bits, 26 caractères Crockford Base32 — triable car les 48 premiers bits sont un horodatage.
🔁UUID → Base64/Hex
Affichez les 16 octets d'une UUID en Base64 et en hexadécimal brut — pour une représentation plus courte dans des tokens ou des URL.
✂️UUID courte (Base62)
Encodez les 128 bits d'une UUID en une chaîne alphanumérique compacte (0-9, a-z, A-Z) d'environ 22 caractères, réversible.

Tableaux de référence des versions UUID et formats

Une comparaison citable des versions, des exemples de format, et une comparaison UUID/GUID/ULID.

Versions d'UUID — RFC 4122 / RFC 9562
VersionSource des donnéesTriable ?Usage typique
v1Horodatage + identifiant de nœudPartiellementSystèmes existants, compatibilité ascendante
v3Namespace + nom (MD5)NonIdentifiant déterministe (historique)
v4Entièrement aléatoireNonUsage général, la plus courante
v5Namespace + nom (SHA-1)NonIdentifiant déterministe (recommandée)
v7Horodatage + aléatoireOuiClés primaires de base de données
ULID (extra)Horodatage + aléatoire (Base32)OuiIdentifiant triable, chaîne courte
Variantes de format de la même UUID v4
FormatExemple
Standard (minuscules)550e8400-e29b-41d4-a716-446655440000
Majuscules550E8400-E29B-41D4-A716-446655440000
Sans tirets550e8400e29b41d4a716446655440000
Accolades (GUID .NET){550e8400-e29b-41d4-a716-446655440000}
Préfixe URNurn:uuid:550e8400-e29b-41d4-a716-446655440000
Base64 (16 octets)VQ6EAOKbQdSnFkRmVUQAAA==
UUID vs GUID vs ULID
PropriétéUUIDGUIDULID
Longueur en bits128128 (même standard)128
Longueur en texte36 caractères36 (ou 38 avec accolades)26 caractères
AlphabetHexadécimal (0-9, a-f) + tiretsHexadécimal + tiretsCrockford Base32
Triable dans l'ordre chronologique ?Seulement v1/v7Seulement v1/v7Oui (par défaut)
Usage courantUsage généralÉcosystème .NET / WindowsClés de base de données, IDs de logs

Exemples de code par langage : comment générer une UUID

Code prêt à copier pour générer des UUID/GUID en Python, JavaScript/Node, Java, C#, Go, PHP, PostgreSQL et MySQL. Chaque exemple montre l'approche standard du langage concerné.

Python 3 — le module intégré uuid, aucune installation nécessaire.
# Bibliothèque standard, aucune installation nécessaire
import uuid

# v4 (aléatoire) — usage le plus courant
print(uuid.uuid4())          # 550e8400-e29b-41d4-a716-446655440000

# v5 (basée sur un nom, SHA-1) — déterministe
print(uuid.uuid5(uuid.NAMESPACE_DNS, "example.com"))

# v1 (temps + nœud)
print(uuid.uuid1())

# Formats texte
u = uuid.uuid4()
print(u.hex)                 # sans tirets
print(str(u).upper())        # majuscules
JavaScript / Node.jscrypto.randomUUID() intégré dans les navigateurs modernes et Node 19+.
// Navigateur + Node 19+ (intégré, v4)
const id = crypto.randomUUID();
console.log(id);             // 550e8400-e29b-41d4-a716-446655440000

// Node.js (via le module crypto)
import { randomUUID } from "node:crypto";
console.log(randomUUID());

// Majuscules / sans tirets
console.log(id.toUpperCase());
console.log(id.replace(/-/g, ""));
Java — la classe intégrée java.util.UUID (v4 aléatoire et v3 basée sur un nom).
import java.util.UUID;

// v4 (aléatoire)
UUID id = UUID.randomUUID();
System.out.println(id);      // 550e8400-e29b-41d4-a716-446655440000

// v3 (basée sur un nom, MD5)
UUID named = UUID.nameUUIDFromBytes("example.com".getBytes());
System.out.println(named);

// Analyse à partir de texte
UUID parsed = UUID.fromString("550e8400-e29b-41d4-a716-446655440000");
C# / .NET — la structure Guid. .NET 9 ajoute aussi Guid.CreateVersion7(), triée dans le temps.
using System;

// GUID de type v4 (aléatoire)
Guid id = Guid.NewGuid();
Console.WriteLine(id);              // 550e8400-e29b-41d4-a716-446655440000
Console.WriteLine(id.ToString("B")); // {550e8400-...} format GUID .NET
Console.WriteLine(id.ToString("N")); // sans tirets
Console.WriteLine(id.ToString("D").ToUpper()); // majuscules

// .NET 9+ : v7 (triée dans le temps, adaptée aux bases de données)
Guid v7 = Guid.CreateVersion7();
Go — le paquet populaire github.com/google/uuid (go get github.com/google/uuid).
package main

import (
    "fmt"

    "github.com/google/uuid"
)

func main() {
    fmt.Println(uuid.New())     // v4 (aléatoire)

    // v5 (basée sur un nom, SHA-1)
    fmt.Println(uuid.NewSHA1(uuid.NameSpaceDNS, []byte("example.com")))

    // v7 (triée dans le temps) — google/uuid v1.6+
    v7, _ := uuid.NewV7()
    fmt.Println(v7)
}
PHP — le paquet ramsey/uuid (composer require ramsey/uuid).
use Ramsey\Uuid\Uuid;

// v4 (aléatoire)
echo Uuid::uuid4()->toString();   // 550e8400-e29b-41d4-a716-446655440000

// v7 (triée dans le temps, adaptée aux bases de données)
echo Uuid::uuid7()->toString();

// v5 (basée sur un nom, SHA-1) — déterministe
echo Uuid::uuid5(Uuid::NAMESPACE_DNS, "example.com")->toString();
PostgreSQLgen_random_uuid() est intégrée à partir de la version 13 (les versions plus anciennes nécessitent l'extension pgcrypto).
-- Générer une UUID v4 (aléatoire)
SELECT gen_random_uuid();

-- Valeur par défaut automatique sur une colonne de table
CREATE TABLE users (
  id    uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  name  text NOT NULL
);

-- Versions plus anciennes (PostgreSQL 12 et antérieures) :
-- CREATE EXTENSION IF NOT EXISTS pgcrypto;
MySQL 8UUID() génère une valeur de type v1 ; UUID_TO_BIN(..., 1) est recommandé pour un stockage trié.
-- Générer une UUID texte (type v1)
SELECT UUID();

-- Stocker sous forme de BINARY triée sur 16 octets (optimisée pour l'index)
SELECT UUID_TO_BIN(UUID(), 1);

CREATE TABLE users (
  id    BINARY(16) PRIMARY KEY,
  name  VARCHAR(120) NOT NULL
);

-- Reconvertir en texte à la lecture :
-- SELECT BIN_TO_UUID(id, 1) FROM users;

Glossaire des termes UUID

Définitions courtes des concepts essentiels utilisés lorsqu'on parle d'UUID/GUID, et la structure anatomique d'une UUID.

550e8400time_low
-
e29btime_mid
-
41d4time_hi + version
-
a716clock_seq + variante
-
446655440000node
nibble de version (13ᵉ caractère hex, ici 4 = v4) bits de variante (17ᵉ caractère hex, ici a = RFC 4122/9562)

Une UUID est toujours 32 caractères hexadécimaux regroupés 8-4-4-4-12 (36 caractères avec les 4 tirets = 128 bits / 16 octets). Seuls le 1ᵉʳ caractère du 3ᵉ groupe (nibble de version) et les 1-2 premiers bits du 4ᵉ groupe (bits de variante) sont des positions fixes ; tout le reste dépend de la version (aléa, horodatage, ou hachage du nom).

UUID / GUIDUn identifiant de 128 bits considéré comme unique en pratique ; défini par le standard RFC 4122/9562.
Nibble de versionLe 13e caractère hexadécimal d'une UUID ; indique quelle version (1, 3, 4, 5, 7) l'a générée.
Bits de varianteLes premiers bits du 17e caractère hexadécimal ; indiquent si l'UUID est conforme à la RFC 4122 (généralement 8, 9, a ou b).
CSPRNGUn générateur de nombres aléatoires cryptographiquement sécurisé ; fourni dans le navigateur par crypto.getRandomValues.
UUID de namespaceUne UUID de préfixe fixe combinée à un nom lors de la génération v3/v5 (DNS, URL, OID, X.500 ou personnalisée).
UUID nilUne UUID spéciale dont chaque bit est à zéro (00000000-0000-0000-0000-000000000000) ; signifie « aucune valeur ».
Identifiant de nœudLes 48 bits classiquement dérivés d'une adresse MAC dans une UUID v1 ; générés aléatoirement dans cet outil par sécurité.
ULIDUn identifiant triable de 26 caractères combinant un horodatage et de l'aléa, encodé avec Crockford Base32.
Crockford Base32Un alphabet de 32 caractères qui exclut les lettres I, L, O et U pour réduire les confusions de lecture.
CollisionDeux générations distinctes produisant le même identifiant ; statistiquement négligeable pour v4.
Ordre monotoneDes identifiants générés successivement qui augmentent/se trient dans leur ordre de création (vrai pour v7 et ULID).
RFC 4122 / RFC 9562Les standards IETF définissant les UUID ; la RFC 9562 met à jour la RFC 4122 et ajoute v6/v7/v8.

Guides détaillés

Réponses détaillées aux questions les plus courantes sur les UUID.

Quelle version d'UUID dois-je utiliser ?

Pour la plupart des scénarios, v4 (entièrement aléatoire) est un bon choix par défaut : simple, respectueuse de la vie privée, et elle ne fuit aucune information. Si vous l'utilisez comme clé primaire de base de données et que la performance de l'index compte, préférez v7 ; comme les valeurs v7 générées séquentiellement se trient dans l'ordre chronologique, elles causent moins de fragmentation des index en arbre B.

Si vous devez toujours dériver le même identifiant à partir de la même entrée (par ex. une URL ou une adresse e-mail), utilisez v5 (basée sur SHA-1) ; v3 (basée sur MD5) est conservée uniquement pour la compatibilité avec des systèmes existants. Ne recourez à v1 que lorsque vous travaillez avec d'anciens systèmes qui l'exigent pour la compatibilité ascendante.

Pour une clé primaire de base de données : UUID, auto-incrément, ou ULID ?

Les entiers auto-incrémentés indexent le plus rapidement, mais peuvent entrer en collision dans des systèmes distribués (lorsque plusieurs serveurs insèrent des enregistrements simultanément) et révèlent publiquement le nombre de lignes. Une UUID v4 n'entre jamais en collision, mais étant entièrement aléatoire, elle peut fragmenter les index en arbre B et ralentir les écritures.

L'UUID v7 ou ULID résout ce problème grâce à un préfixe horodaté : ni l'une ni l'autre n'entre en collision, et comme elles sont insérées dans l'ordre, leur performance d'indexation se rapproche de l'auto-incrément. ULID est aussi plus court (26 caractères contre 36 pour l'UUID) ; le choix dépend généralement de ce que prend en charge votre écosystème (ORM/base de données).

Quelle est vraiment la probabilité de collision d'une UUID v4 ?

Une UUID v4 comporte 122 bits générés aléatoirement, ce qui donne 2122 (≈5,3 × 1036) valeurs possibles. Selon le calcul du paradoxe des anniversaires, il faudrait générer environ 2,71 trillions (2,71 × 1018) d'UUID avant d'atteindre 50% de chances de collision — une échelle pratiquement impossible, équivalente à ce que chaque personne sur Terre génère des milliards d'UUID chaque seconde.

Pour cette raison, les UUID v4 sont considérées en toute sécurité comme « uniques » dans les applications réelles. Cela dit, la qualité du générateur de nombres aléatoires compte ; cet outil utilise le crypto.getRandomValues cryptographique plutôt que l'insécurisé Math.random().

Ajouter cet outil à votre site (code d'intégration)

Intégrez gratuitement le générateur UUID sur votre propre site. Copiez le code ci-dessous dans votre HTML — l'outil s'affiche dans une vue simplifiée et renvoie vers cette page comme source.

L'outil intégré a une mise en page fixe ; vous pouvez ajuster la valeur de height selon votre site. Pas de publicité ni de données personnelles, fonctionne entièrement côté client.

Questions fréquentes

Qu'est-ce qu'une UUID ?
UUID (Universally Unique Identifier) est un identifiant de 128 bits (16 octets) considéré comme unique en pratique. En notation standard, elle s'écrit avec 32 caractères hexadécimaux et 4 tirets selon un motif 8-4-4-4-12. Elle est définie par la RFC 4122/9562 et utilisée partout où un identifiant unique est nécessaire sans autorité centrale — clés de base de données, identifiants de session, et bien d'autres usages.
Comment une UUID v4 est-elle générée ?
Une UUID v4 remplit 122 bits sur les 128 au total à partir d'un générateur de nombres aléatoires cryptographique (crypto.getRandomValues) ; les bits restants portent les valeurs fixes de version (0100) et de variante (10). Cela rend la probabilité de collision statistiquement négligeable.
Quelle est la différence entre un GUID et une UUID ?
GUID est le nom donné par Microsoft à la même structure de 128 bits ; il repose sur le même standard RFC 4122. La seule vraie différence concerne généralement le format : dans .NET, les GUID sont souvent affichés entourés d'accolades ({...}). Vous pouvez produire ce format ici avec l'option « { } .NET ».
Comment générer des UUID en masse ?
Saisissez un nombre de 1 à 1 000 dans le champ quantité, ou choisissez une puce préréglée, puis cliquez sur « Générer ». Les résultats sont listés un par ligne ; copiez-les tous en un clic ou téléchargez-les en .txt/.csv.
Combien de caractères ou d'octets compte une UUID ?
En données brutes, 128 bits / 16 octets. Sous forme de texte standard : 32 caractères hexadécimaux + 4 tirets = 36 caractères ; sans les tirets, 32 ; entourée d'accolades (style GUID .NET), 38.
Un générateur d'UUID en ligne est-il sûr à utiliser ?
Oui. Toute la génération et la validation se font dans votre navigateur ; il utilise crypto.getRandomValues, et aucune saisie ni UUID générée n'est jamais envoyée à un serveur, ni stockée ou journalisée par celui-ci. Aucune bibliothèque externe ni CDN n'est utilisé.
Quelle est la différence entre UUID v1 et v4 ?
v1 intègre l'horodatage de création et un identifiant de nœud (classiquement une adresse MAC) ; elle peut théoriquement être retracée. v4 est entièrement aléatoire. Le mode « v1 » utilise ici un identifiant de nœud généré aléatoirement plutôt qu'une véritable adresse MAC.
Qu'est-ce qu'un ULID, et en quoi diffère-t-il d'une UUID ?
ULID porte 128 bits comme une UUID mais est encodé avec Crockford Base32 à 26 caractères, et ses 48 premiers bits sont un horodatage en millisecondes. Cela signifie qu'il se trie aussi dans l'ordre chronologique alphabétiquement, ce qui peut donner un avantage de performance aux index de base de données.
Comment savoir quand une UUID v7 ou v1 a été générée ?
Les UUID v1 et v7, ainsi que les ULID, portent un horodatage de création intégré. Lorsque vous en collez une dans l'onglet Valider, en plus des informations de version/variante, l'horodatage intégré est décodé et affiché en UTC comme en heure locale. Les 48 premiers bits d'une UUID v7 sont un horodatage Unix en millisecondes ; une UUID v1 porte le nombre de ticks de 100 ns depuis 1582 ; les 10 premiers caractères Base32 d'un ULID portent un horodatage en millisecondes. v3/v4/v5 ne portent aucune information temporelle, donc aucune date ne peut en être décodée.
Comment génère-t-on une UUID en Python, C#, PostgreSQL et langages similaires ?
La section Exemples de code de cette page contient des blocs copiables. En résumé : Python uuid.uuid4(), JavaScript/Node crypto.randomUUID(), Java UUID.randomUUID(), C#/.NET Guid.NewGuid(), Go uuid.New(), PHP Uuid::uuid4(), PostgreSQL gen_random_uuid(), MySQL UUID(). Les exemples basés sur un nom (v5) et triés dans le temps (v7) figurent dans la même section.

Méthodologie & sources

Le générateur UUID de ToolPico est un outil de génération UUID/GUID gratuit et indépendant. L'aléa des versions v4 et v7 est produit avec la Web Crypto API standard du navigateur (crypto.getRandomValues). Pour la génération basée sur un nom v3/v5, MD5 est calculé avec notre propre implémentation JavaScript pure (RFC 1321), et SHA-1 avec la Web Crypto API (crypto.subtle.digest) — aucune bibliothèque externe ni CDN n'est utilisé. En mode v1, aucune information matérielle/MAC réelle n'est jamais lue ; l'identifiant de nœud est généré aléatoirement à chaque génération.

Sources : RFC 4122 (A Universally Unique IDentifier) · RFC 9562 (le standard UUID actuel, ajoutant v6/v7/v8) · W3C Web Cryptography API · la spécification officielle ULID (Crockford Base32). Dernière mise à jour : 19 juillet 2026. Les résultats sont algorithmiques ; v3/v5 sont déterministes, tandis que v1/v4/v7 et ULID reposent sur l'aléa cryptographique.
Découvrez tous les outils ToolPico →

🔗 Ajouter cet outil à votre site

Copiez le code ci-dessous sur votre propre site. L'outil est gratuit, toujours à jour, et fonctionne entièrement sur votre page. Aucune inscription requise.

Aperçu →
⚡ Créé avec ToolPico · toolpico.com