Outils pour développeurs

Générateur d’UUID

Générez les huit versions d’UUID côte à côte. Utilisez les réglages pour les identifiants MAC ou de nœud, les identifiants locaux DCE, les noms d’espace et les charges utiles UUIDv8 personnalisées, puis copiez le résultat souhaité.

8 versions RFC dans le navigateur Lire la RFC 9562

Générateur

Générer des UUID

Les UUID sont recréés au rechargement de la page ou au clic sur un bouton

Réglages des versions

Les navigateurs ne peuvent pas lire votre adresse MAC. Saisissez-en une pour reproduire un champ de nœud, ou laissez ce champ vide pour un identifiant de nœud aléatoire qui préserve la confidentialité.

Un UID, GID ou autre identifiant de 32 bits ayant un sens dans le domaine DCE sélectionné.

UUIDv2 est un format de compatibilité avec DCE Security, peu courant dans les nouvelles applications.

Le nom est encodé en UTF-8 avant le hachage. Le même espace de noms et le même nom produisent le même UUID.

UUIDv8 ne standardise que ses bits de version et de variante. Cette valeur est une charge utile expérimentale propre à l’application, et non un mécanisme garantissant l’unicité.

La génération, le hachage et les réglages restent dans cet onglet du navigateur. Rien de ce que vous saisissez n’est envoyé au serveur ni enregistré.

Résultats

Prêt à générer.

v1

Basé sur le temps

Temps grégorien + séquence d’horloge + nœud

Cliquez pour générer
horodatage MAC / nœud hérité

Utile pour l’interopérabilité avec les anciens systèmes. Une véritable MAC peut identifier l’hôte ; cette page utilise donc un nœud local aléatoire, sauf si vous en fournissez un.

v2

DCE Security

Identifiant local + domaine DCE + temps + nœud

Cliquez pour générer
horodatage identifiant local MAC / nœud hérité

La RFC 9562 renvoie UUIDv2 aux spécifications DCE. Ce générateur fournit la structure courante UID / GID / organisation pour les besoins de compatibilité.

v3

Basé sur le nom · MD5

UUID d’espace de noms + nom haché avec MD5

Cliquez pour générer
basé sur le nom déterministe MD5

Déterministe et interopérable avec les anciens systèmes. Préférez v5 pour les nouvelles conceptions basées sur un nom, sauf en cas de compatibilité v3.

v4

Aléatoire

122 bits cryptographiquement aléatoires

Cliquez pour générer
aléatoire sans MAC usage général

Le choix par défaut courant sur de nombreuses plateformes. Il ne contient ni horodatage, ni adresse MAC, ni nom, ni indication de tri.

v5

Basé sur le nom · SHA-1

UUID d’espace de noms + nom haché avec SHA-1

Cliquez pour générer
basé sur le nom déterministe SHA-1

À utiliser lorsqu’un nom stable doit correspondre au même UUID entre plusieurs systèmes. Le hachage sert à l’espace de noms, pas à la sécurité des mots de passe.

v6

Basé sur le temps réordonné

Champs de v1 avec les octets temporels déplacés au début

Cliquez pour générer
ordonné par le temps MAC / nœud triable

Conçu pour améliorer la localité des charges de travail de type v1. Choisissez v7 pour un nouveau système qui n’a pas besoin de la compatibilité v1.

v7

Ordonné par le temps Unix

Millisecondes depuis l’époque Unix + bits aléatoires

Cliquez pour générer
ordonné par le temps aléatoire triable

Le choix moderne ordonné par le temps : les octets d’horodatage sont triés en premier, tandis que les autres bits assurent l’unicité sans adresse MAC.

v8

Personnalisé / expérimental

122 bits définis par l’application

Cliquez pour générer
charge utile personnalisée expérimental aléatoire

Seuls la version et la variante sont standardisées. Définissez la structure et les règles d’unicité avant d’utiliser v8 dans un format d’échange.

Guide de compatibilité

Ce que votre langage génère généralement

Les API intégrées et les fonctions de base de données couvrent souvent uniquement les versions les plus utilisées de leur écosystème. Vérifiez toujours la version et le contrat d’ordre des octets à la frontière.

.NET / ASP.NET

v4v7 · .NET 9+

Guid.NewGuid() produit v4. .NET moderne propose aussi Guid.CreateVersion7() pour v7 ; les autres versions proviennent généralement d’une bibliothèque ou du code de l’application.

Java SE

v3v4

UUID.randomUUID() produit v4 et UUID.nameUUIDFromBytes() produit v3. Le type UUID standard de Java peut examiner les anciens champs, tandis que les autres versions nécessitent généralement une bibliothèque ou du code d’application.

Python

v1 · v3 · v4 · v5v6 · v7 · v8 · Python 3.14+

Le module standard uuid couvre v1, v3, v4 et v5 ; Python 3.14 ajoute v6, v7 et v8. UUIDv2 ne fait pas partie du module standard.

Node.js / JavaScript

core · v4uuid · v1/v3/v4/v5/v6/v7

Le crypto.randomUUID() intégré à Node produit v4, tandis que les versions récentes de Node exposent aussi v7. Le paquet populaire uuid fournit v1, v3, v4, v5, v6 et v7 ; il laisse intentionnellement v8 propre à l’application.

Ce que les bases de données génèrent nativement

Ce que les bases de données génèrent nativement

La prise en charge native varie selon le moteur et sa version. Un utilitaire UUID séquentiel ou binaire n’est pas automatiquement un UUIDv6 ou UUIDv7.

v4 · v7 · PostgreSQL 18+

Génération native de v4 et v7 : gen_random_uuid() pour v4 et uuidv7() pour v7 ordonné par le temps.

v1 · binary(16)

UUID() renvoie v1. UUID_TO_BIN(..., 1) peut réordonner les champs temporels de v1 pour le stockage, mais ne produit pas UUIDv6 ni UUIDv7.

v4 · GUID séquentiel

NEWID() produit un GUID conforme à la RFC 4122. NEWSEQUENTIALID() est séquentiel pour la localité des index, mais ce n’est ni UUIDv6 ni UUIDv7.

v4 · Oracle 23ai+

UUID() renvoie v4 dans Oracle Database 23ai et les versions ultérieures. SYS_GUID() reste un générateur RAW de 16 octets, mais n’est pas désigné comme une version UUID de la RFC.

pas d’UUID natif · randomblob(16)

SQLite n’a ni type UUID ni générateur d’UUID versionné. randomblob(16) et hex() peuvent créer un texte aléatoire de 128 bits, mais les applications doivent définir elles-mêmes les bits d’un UUID v4.

v4 · mongosh UUID() · ObjectId ≠ UUID

UUID() dans mongosh génère des UUID BSON v4 aléatoires. L’ObjectId par défaut est un identifiant distinct de 12 octets, et non l’un des UUID v1-v8.

Tri

v6 et v7 placent le temps en premier : le tri de leurs octets ou de leur texte opaque suit donc l’ordre de création. Ils sont utiles pour la localité des bases de données ; l’ordre historique des champs de v1 n’est pas naturellement lexicographique.

Confidentialité MAC / nœud

v1, v2 et v6 possèdent un champ de nœud. Il peut s’agir d’une adresse MAC ou d’une valeur aléatoire. Cette page ne détecte jamais la MAC du navigateur et utilise un nœud multicast aléatoire lorsque le réglage est vide.

UUIDv8 n’est pas un hash magique

v8 réserve 122 bits pour votre format ; il ne garantit pas l’unicité mondiale. Documentez la charge utile, le versionnage et la stratégie de collision avec votre application.