Générateur d'UUID (v1, v4, v7)
Générez des UUID conformes à la RFC 4122 en version 1, 4 ou 7, à l'unité ou en lot, copiez ou téléchargez.
Chargement de Générateur d'UUID (v1, v4, v7)… Si rien ne se passe, activez JavaScript.
Un UUID (Universally Unique Identifier, ou identifiant universellement unique), également appelé GUID dans les écosystèmes Microsoft, est une valeur normalisée de 128 bits utilisée pour étiqueter des entités, des lignes de base de données, des fichiers, des nœuds réseau ou des transactions, sans qu'aucune autorité centrale n'ait à émettre les identifiants. La norme est définie dans la RFC 4122 et organisée en versions, chacune dotée d'une stratégie de génération différente. La version 1 encode un horodatage et l'adresse MAC de la machine hôte ; la version 4 utilise 122 bits d'aléa cryptographique ; et la plus récente version 7 combine un horodatage Unix à la précision de la milliseconde avec des bits aléatoires, ce qui la rend à la fois unique et triable lexicographiquement.
Exemples
Version 4 (random)
f47ac10b-58cc-4372-a567-0e02b2c3d479
122 bits aléatoires. Le treizième chiffre hexadécimal est toujours 4 (la version).
Format
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
y vaut 8, 9, a ou b ; les deux bits les plus significatifs encodent la variante.
Questions fréquentes
Les UUID générés sont-ils envoyés à un serveur ?
Quelle est la différence technique entre les UUID v1, v4 et v7 ?
Quelle est la probabilité d'une collision d'UUID v4 ?
Pourquoi devrais-je utiliser la v7 plutôt que la v4 pour les clés primaires de base de données ?
Puis-je utiliser cet UUID comme secret cryptographique ou jeton ?
Que signifie GUID et est-ce la même chose qu'un UUID ?
Puis-je générer des UUID hors ligne ?
Quelle est une erreur fréquente lors de l'utilisation des UUID v1 ?
Quel format suit un UUID ?
Puis-je générer des UUID en lot et les télécharger sous forme de fichier ?
À propos de Générateur d'UUID (v1, v4, v7)
Les systèmes distribués constituent le principal cas d'usage des UUID. Lorsque vous disposez de plusieurs serveurs, microservices ou clients mobiles capables de fonctionner hors ligne qui créent tous des enregistrements simultanément, coordonner un unique compteur entier à incrémentation automatique devient un goulet d'étranglement ou une source de conflits. Les UUID contournent entièrement ce problème : n'importe quel nœud peut générer un identifiant unique au niveau mondial de façon indépendante, et les enregistrements peuvent être fusionnés ultérieurement sans collision. On les trouve partout, des clés primaires de bases de données et des jetons d'idempotence dans les API de paiement, aux identifiants de session, aux noms de fichiers adressables par contenu et aux identifiants de trace dans les pipelines d'observabilité.
Cet outil génère les UUID entièrement dans votre navigateur à l'aide de la Web Crypto API. Pour la v4, il appelle `crypto.randomUUID()` lorsqu'il est disponible (Chrome 92+, Firefox 95+) et se rabat sinon sur `crypto.getRandomValues` avec une mise en forme manuelle. Pour la v7, il lit `Date.now()` pour le préfixe d'horodatage de 48 bits et remplit les bits restants avec de l'aléa cryptographique. Aucun identifiant n'est transmis à un serveur, et rien n'est journalisé. Vous pouvez générer un seul UUID ou un lot massif à importer dans un fixture de test ou un script de migration.
Une idée fausse répandue est que les UUID seraient des hachages opaques. Ils ne le sont pas : les UUID v1 intègrent votre adresse MAC et un horodatage, ce qui peut divulguer l'identité de l'appareil. Dans les contextes sensibles à la vie privée, préférez toujours la v4 ou la v7. Un autre piège consiste à utiliser des UUID comme clés de base de données séquentielles avec des index B-tree : les UUID v4 sont aléatoires, ce qui provoque une fragmentation de l'index. C'est pourquoi la v7 a été introduite : son préfixe d'horodatage maintient les insertions à peu près dans l'ordre, améliorant nettement les performances d'écriture de l'index sur les grandes tables.
Le problème de l'identité distribuée : comment les UUID sont nés du chaos des réseaux
L'ancêtre conceptuel de l'UUID est l'identifiant unique au niveau mondial conçu pour le Network Computing System d'Apollo Computer à la fin des années 1980, qui avait besoin d'un moyen d'identifier les interfaces RPC sans registre central. L'Open Software Foundation l'a adapté pour en faire la spécification d'UUID du DCE (Distributed Computing Environment) au début des années 1990, en y intégrant des adresses MAC et des horodatages afin que n'importe quelle machine sur n'importe quel réseau puisse forger un identifiant garanti unique dans l'espace et dans le temps.
Microsoft a adopté ce schéma pour COM et DCOM au milieu des années 1990 sous le nom de GUID, et il est devenu omniprésent sur les plateformes Windows. La norme moderne RFC 4122, publiée en 2005, a formalisé le format et défini les versions 1 à 5. La version 4, la variante purement aléatoire qui domine aujourd'hui, a été en partie motivée par des préoccupations de confidentialité, après que des chercheurs eurent démontré que les UUID v1 pouvaient servir à identifier et à pister la machine qui les avait générés.
La version 7 a été proposée dans un brouillon de l'IETF en 2021 et finalisée dans la RFC 9562 en 2024, en réponse directe aux problèmes de performances de base de données causés par les UUID aléatoires utilisés comme clés primaires. La spécification a été portée par des ingénieurs de grands fournisseurs de cloud qui avaient mesuré les coûts réels de la fragmentation des index des UUID v4 à l'échelle de milliards de lignes. La RFC 9562 a également déprécié les versions v1 et v2 pour les nouvelles applications, consacrant la v4 pour les contextes sensibles à la vie privée et la v7 pour le stockage ordonné dans le temps.