Générateur UUID
Générez instantanément un UUID v4 aléatoire ou un UUID v7 chronologique, ou jusqu'à 10 000 à la fois. C'est aussi un générateur de GUID en ligne : un nouveau GUID est le même type de valeur de 128 bits. Collez n'importe quel UUID pour décoder sa version, sa date de création et chacun de ses champs.
Le chiffre en couleur est la version : le premier chiffre du troisième groupe de tout UUID.
Créé et lu dans votre navigateur avec crypto.getRandomValues ; rien n'est envoyé.
Qu'est-ce qu'un UUID, et que signifie UUID ?
UUID signifie Universally Unique Identifier (identifiant unique universel) : une étiquette de 128 bits que n'importe quel ordinateur peut créer seul, en comptant qu'aucun autre ordinateur ne créera la même. Il s'écrit en 32 chiffres hexadécimaux répartis en cinq groupes, comme dans cet exemple d'UUID : 919108f7-52d1-4320-9bac-f847db4148a8.
Le format est défini par la RFC 9562 (mai 2024), qui a remplacé la RFC 4122 et ajouté les versions 6, 7 et 8. Aucun registre central ne distribue les UUID : l'unicité vient du hasard, d'un horodatage ou du hachage d'un nom, selon la version.
Les bases de données s'en servent comme clés primaires, les API comme identifiants de requêtes et d'objets, les systèmes d'exploitation pour les disques, les partitions et les composants logiciels. GUID (Globally Unique Identifier) est le nom que Microsoft donne à la même chose.
UniversallyUniqueIDentifier
- 128 bits
- 16 octets
- 32 chiffres hex
- 36 caractères avec les tirets
919108f7-52d1-4320-9bac-f847db4148a8
GUIDLe nom que Microsoft donne à la même valeur

Choisir une versionv4 aléatoire, v7 chronologique, v5 basé sur un nom et les autres, chacun avec sa couleur.Un clicCopiez-le ou créez-en un autre ; un lot de 10 000 au maximum s'exporte en texte, CSV, JSON ou SQL.Chaque champLes bits que la RFC 9562 définit pour cette version, avec l'heure que porte un v7, lue en clair.Tout formatAccolades, sans tirets, majuscules, Base64url, un entier ou l'ordre des octets .NET.Format et longueur d'un UUID : 36 caractères
Un UUID fait 128 bits, écrits en 32 chiffres hexadécimaux et 4 tirets, en groupes de 8, 4, 4, 4 et 12 : 36 caractères. Le premier chiffre du troisième groupe est la version, et le premier chiffre du quatrième groupe indique la variante : 8, 9, a ou b pour les UUID de la RFC 9562.
Exemple : 017f22e2-79b0-7cc3-98c4-dc0c0c07398f est un UUID de version 7, de variante RFC. Majuscules, minuscules et casse mixte sont toutes valides ; la plupart des outils écrivent en minuscules, uuidgen sous macOS en majuscules. Sans tirets, il fait 32 caractères, entre accolades 38 (le format B de .NET), sous la forme urn:uuid: 45, et en Base64url 22.
Une expression régulière qui vérifie la forme RFC : ^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$, avec l'option insensible à la casse. Elle refuse les UUID Nil et Max, valides mais spéciaux ; le décodeur ci-dessus les nomme.
32 chiffres hex + 4 tirets = 36 caractères
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxxM version : 1–8N variante : 8, 9, a ou b^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$- Standard36
- Sans tirets32
- Accolades {…}38
- urn:uuid:45
- Base64url22
- Base6424
- Base5821
- Base3226
- Entierjusqu'à 39
- Binaire16 octets
Les versions d'UUID expliquées : de v1 à v8
La version indique comment un UUID a été créé : v4 à partir de bits aléatoires, v7 à partir de l'heure et de bits aléatoires, v1 et v6 à partir d'un horodatage et d'un identifiant de nœud, v3 et v5 par hachage d'un nom, et v8 selon une structure propre à son créateur.
Les versions 2 et 0 ne sont pas générées ici : v2 (DCE Security) est réservée et la RFC 9562 n'en définit pas la structure, et 0 n'est pas une version. Les deux valeurs spéciales n'ont pas de version : l'UUID Nil ne contient que des zéros et l'UUID Max que des uns (ffffffff-ffff-ffff-ffff-ffffffffffff, nouveau dans la RFC 9562).
Pour les nouveaux systèmes, la RFC 9562 recommande v7 plutôt que v1 et v6, et v5 plutôt que v3. v4 reste le choix simple quand la valeur ne doit rien dire du moment de sa création.
- heure
- aléatoire
- hachage
- séquence d'horloge
- nœud
- version
- variante
UUID v4 ou v7 : lequel utiliser ?
Utilisez v7 pour les clés de base de données et tout ce que vous triez ou indexez : il commence par l'heure de création, donc les nouvelles lignes arrivent en fin d'index. Utilisez v4 quand l'identifiant ne doit pas révéler quand il a été créé : ses 122 bits libres sont tous aléatoires.
Des clés v4 aléatoires dispersent chaque insertion dans tout l'index B-tree, ce qui provoque des divisions de pages et garde une plus grande partie de l'index en mémoire ; les clés v7 arrivent dans l'ordre, comme un nombre auto-incrémenté, mais n'importe quel serveur peut les créer sans interroger la base. Un v7 garde 74 bits aléatoires par milliseconde : deux serveurs qui en créent un au même instant n'entrent donc pas en collision pour autant.
La contrepartie : quiconque voit un v7 peut lire la milliseconde de sa création (collez-en un dans le décodeur ci-dessus). Si cela compte, utilisez v4, ou gardez v7 en interne et affichez publiquement un autre identifiant.
c100eb4b-4f3f-4b29-ad77-da7cd9d1eda592c97333-2db8-4fc2-b5b6-cedd8c7abede01a16d3e-e1c0-70f6-99ec-6d454991b2fa01a16d3e-e1c0-70f6-99ec-6d45c2f6b35b- déjà dans l'index
- libre
- nouvelle clé v4
- nouvelle clé v7
- division de page : la moitié de ses clés passe sur une nouvelle page
GUID ou UUID : y a-t-il une différence ?
Un GUID et un UUID sont la même valeur de 128 bits sous la même forme texte ; GUID est le nom que Microsoft lui donne. Guid.NewGuid() en .NET crée un UUID aléatoire de version 4, et Guid.CreateVersion7() de .NET 9 un UUID de version 7.
La différence se trouve en mémoire. La structure GUID de Microsoft stocke ses trois premiers groupes sous forme d'entiers little-endian, si bien que ToByteArray() de .NET donne les 8 premiers octets dans un autre ordre que l'ordre réseau de la RFC 9562 : 919108f7-52d1-… devient les octets f7 08 91 91 d1 52 …. Le texte est identique ; les octets bruts transférés d'un système à l'autre doivent être convertis. Le décodeur montre les deux ordres.
Le type uniqueidentifier de SQL Server trie en outre d'abord par ses six derniers octets, si bien que les valeurs v7 n'y restent pas dans l'ordre chronologique ; NEWSEQUENTIALID() crée des valeurs qui le restent, mais elles peuvent repartir plus bas après un redémarrage et sont faciles à deviner. Les anciens GUID COM peuvent porter les bits de variante propres à Microsoft au lieu de ceux de la RFC 9562 ; le décodeur nomme cette variante.
919108f7-52d1-4320-9bac-f847db4148a8- Data1 · 4 octets, inversés
- Data2 · inversés
- Data3 · inversés
- Data4 · tels quels
Comment générer un UUID dans le code
La plupart des langages créent un UUID v4 en une ligne, et beaucoup créent désormais aussi des v7 : uuid.uuid7() de Python 3.14, Guid.CreateVersion7() de .NET 9, UUID.ofEpochMillis() de Java 26, uuid.NewV7() de Go 1.27, crypto.randomUUIDv7() de Node.js 26.1 et uuidv7() de PostgreSQL 18. Les navigateurs n'ont toujours que crypto.randomUUID(), un v4.
Choisissez votre langage pour obtenir la ligne de code. Tous les v7 ne gardent pas dans l'ordre les UUID créés dans la même milliseconde : ceux de Python et de Go le font, ceux de .NET et de Node ne le garantissent pas. Et UUID() de MySQL renvoie un UUID de version 1 qui, sous Linux et Windows, porte la vraie adresse MAC du serveur.
Fonctions UUID intégrées, par langage
import uuid
uuid.uuid4() # v4
uuid.uuid7() # v7, Python 3.14+
uuid.uuid5(uuid.NAMESPACE_DNS, "www.example.com") # v5
uuid7() tient un compteur de 42 bits : les UUID d'une même milliseconde restent dans l'ordre.
Deux UUID peuvent-ils être identiques ?
En théorie oui, en pratique non : un UUID v4 a 122 bits aléatoires, soit environ 5,3 × 10³⁶ valeurs. Il faudrait en créer environ 103 000 milliards pour avoir une chance sur un milliard que deux d'entre eux soient identiques, et environ 2,7 trillions (2,7 × 10¹⁸) pour une chance sur deux.
C'est la borne du paradoxe des anniversaires : avec n valeurs aléatoires parmi N, la probabilité d'un doublon vaut environ 1 − e^(−n(n−1)/2N). À un milliard d'UUID par seconde, une probabilité de 50 % demanderait environ 86 ans. Les vrais doublons viennent de générateurs défaillants : une graine non aléatoire, une machine virtuelle clonée avec son état aléatoire, ou des identifiants copiés à la main.
Pour v7, seuls des UUID créés dans la même milliseconde peuvent coïncider, et 74 bits aléatoires les distinguent. Le générateur de cette page garde aussi un lot dans l'ordre au sein d'une milliseconde (RFC 9562 §6.2) : 10 000 UUID créés d'un coup sont donc uniques et triés.
À un milliard par seconde, en créer autant prend 1 seconde.
Décodeur d'UUID : lire l'horodatage d'un UUID
Collez un UUID dans l'onglet « Décoder et valider », le décodeur et validateur d'UUID ci-dessus : il lit la version et la variante à deux emplacements fixes, puis les champs que cette version définit. Un v7 donne la milliseconde de sa création, un v1 ou un v6 l'heure à 100 nanosecondes près, plus une séquence d'horloge et un identifiant de nœud.
Un nœud v1 ou v6 dont le bit multicast est à 0 peut être la vraie adresse MAC de la carte réseau ; cherchez son fabricant avec la recherche d'adresse MAC. Les générateurs soucieux de la vie privée mettent ce bit à 1 et utilisent un nœud aléatoire, comme celui-ci.
L'heure est celle que le générateur a écrite, pas la preuve du moment où l'UUID a été créé. Un v4 ne contient aucune heure, seulement des bits aléatoires, et v3, v5 et v8 contiennent des hachages : il n'y a rien à relire, et un hachage ne permet pas de retrouver le nom. Collez une liste pour en vérifier jusqu'à 1 000 d'un coup : lignes invalides, doublons et ordre des UUID basés sur le temps.
017f22e2-79b0-7cc3-98c4-dc0c0c07398f- unix_ts_ms
0x017f22e279b0 - ms depuis 1970
1 645 557 742 000 - UTC
2022-02-22T19:22:22.000Z
c232ab00-9414-11ec-b3c8-9f6bdeced846- time_high · time_mid · time_low
1ec 9414 c232ab00 - pas de 100 ns depuis le 1582-10-15
138 648 505 420 000 000 - UTC
2022-02-22T19:22:22.0000000Z
Le même instant : les exemples de la RFC 9562 ont été créés ensemble.
UUID basés sur un nom : v5 et v3
Un UUID v5 est le hachage SHA-1 d'un UUID d'espace de noms et d'un nom, tronqué à 128 bits avec la version et la variante fixées ; v3 fait de même avec MD5. Le même espace de noms et le même nom donnent toujours le même UUID, sur n'importe quel ordinateur : choisissez v5 ci-dessus pour utiliser cette page comme générateur d'UUID v5.
La RFC 9562 définit quatre espaces de noms : DNS pour les noms de domaine, URL, OID et X.500. Ainsi, www.example.com dans l'espace de noms DNS donne toujours 2ed6657d-e927-568b-95e1-2665a8aea6a2 en v5. Utilisez les UUID basés sur un nom pour donner un identifiant stable à quelque chose qui a déjà un nom unique, sans stocker de table de correspondance.
Préférez v5 à v3 : MD5 est plus faible, et la RFC 9562 recommande v5. Ni l'un ni l'autre ne cache le nom : quiconque peut le deviner peut calculer le même UUID. L'option v8 de cette page utilise SHA-256 de la même façon, comme l'exemple v8 de la RFC elle-même.
- Espace de noms
6ba7b810-9dad-11d1-80b4-00c04fd430c8DNS · 16 octets - Nom
"www.example.com"UTF-8 · 15 octets - Empreinte SHA-1, 160 bits
2ed6657de927468b55e12665a8aea6a22dee3e35les 128 premiers bits sont conservés - L'UUID
2ed6657d-e927-568b-95e1-2665a8aea6a2chiffre de version 4 → 5 · chiffre de variante 5 → 9
- DNS
6ba7b810… - URL
6ba7b811… - OID
6ba7b812… - X.500
6ba7b814…
ULID ou UUID v7 (et autres identifiants)
Un ULID et un UUID v7 commencent tous deux par un horodatage de 48 bits en millisecondes et se trient par date. La différence : un ULID consacre ses 80 autres bits au hasard et s'écrit en 26 caractères Base32, tandis qu'un v7 dépense 6 bits pour sa version et sa variante et s'intègre à toute colonne et toute bibliothèque UUID.
Si votre base de données, votre ORM ou votre API parle déjà UUID, v7 vous donne l'ordre chronologique sans nouveau type. NanoID et les identifiants courts similaires sont des chaînes aléatoires d'une longueur choisie, sans heure ni structure standard. Tout UUID peut aussi s'écrire plus court : 22 caractères en Base64url, 22 au plus en Base58.
- millisecondes depuis 1970
- aléatoire
- version et variante
Les UUID sont-ils sûrs comme jetons ?
Non. La RFC 9562 dit de ne pas supposer que les UUID sont difficiles à deviner, et de ne jamais en utiliser un comme capacité de sécurité : un identifiant dont la simple possession donne un accès, comme un lien de réinitialisation de mot de passe ou une clé d'API.
Un v4 issu d'un bon générateur est aléatoire, mais un v1, v6 ou v7 révèle sa date de création et un v3 ou v5 peut être recalculé à partir de son nom. Pour les secrets, utilisez un jeton prévu pour cela, par exemple 256 bits aléatoires issus d'un générateur cryptographique, et vérifiez les droits à chaque requête. Les UUID conviennent comme identifiants publics quand l'accès est contrôlé séparément.
Générateur UUID : questions et réponses
Comment générer un UUID ?
crypto.randomUUID() en JavaScript, uuid.uuid4() en Python et Guid.NewGuid() en C# créent chacun un v4 en une ligne.Que signifie UUID ?
Un GUID est-il la même chose qu'un UUID ?
Quelle version d'UUID utiliser ?
Peut-on obtenir deux fois le même UUID ?
Peut-on décoder un UUID ?
Quelle est la longueur d'un UUID ?
Qu'est-ce qu'un GUID vide ou UUID Nil ?
L'UUID v7 est-il triable ?
Peut-on utiliser un UUID comme mot de passe ou jeton d'accès ?
Les UUID créés ici sont-ils envoyés quelque part ?
Il vous manque quelque chose ?Suggérez une fonction ou un nouvel outil
Outils associés
Générateur de Mots de Passe
Mots de passe, phrases secrètes et PIN forts créés dans votre navigateur, avec bits et temps de cassage
Recherche d'Adresse MAC
Identifiez le fabricant d'un appareil par adresse MAC via la base de données IEEE
Calculateur de sous-réseau
Réseau, broadcast, hôtes utilisables et masques de tout bloc IPv4 ou IPv6, avec VLSM, découpage et sous-réseaux cloud
Caractère invisible
Copiez-collez un caractère invisible ou un espace vide, et trouvez ou supprimez les caractères cachés d'un texte