Comment ça marche
- Choisissez le type d’identifiant et le nombre.
- Réglez le format de sortie.
- Copiez ou téléchargez la liste.
Pourquoi l’utiliser
- UUID v4, v7, v5, nul et ULID.
- Jusqu’à 10 000 d’un coup.
- Formats JSON, CSV, entre guillemets et entre accolades.
- Décodage de l’horodatage dans les v7 et les ULID.
UUID v4, v7, v5 et ULID : quel identifiant utiliser
Les types, côte à côte
| Type | Fabriqué à partir de | Trié par date | À utiliser pour |
|---|---|---|---|
| UUID v4 | 122 bits aléatoires | Non | Identifiants généraux, jetons, noms de fichiers |
| UUID v7 | L’heure en millisecondes plus 74 bits aléatoires | Oui | Clés de base de données, journaux, événements |
| UUID v5 | Un espace de noms et un nom, hachés en SHA-1 | Non | Le même identifiant pour le même nom, à chaque fois |
| ULID | L’heure en millisecondes plus 80 bits aléatoires | Oui | Identifiants triables courts et lisibles |
| Nul | Que des zéros | Non | Une valeur de remplacement signifiant « pas d’identifiant » |
Version 4 : aléatoire
Un UUID v4 se compose de 122 bits aléatoires dans une disposition fixe, comme 9b2f6c1e-4a7d-4e3b-8f21-5c9d0a7e3b64. La probabilité que deux soient un jour identiques est si faible qu’on peut l’ignorer : il faudrait en créer environ 2,7 trillions pour avoir 50 % de chances d’une seule collision. C’est le choix par défaut chaque fois qu’un identifiant doit seulement être unique.
Version 7 et ULID : aléatoires, mais dans l’ordre du temps
Les identifiants aléatoires ont un coût dans les bases de données : les nouvelles lignes s’insèrent partout dans l’index au lieu de s’ajouter à la fin, ce qui ralentit les grandes tables. Un UUID v7 commence par l’heure de sa création, à la milliseconde, suivie de bits aléatoires : les identifiants créés plus tard se trient plus loin, et les insertions restent en fin d’index. Les identifiants créés dans la même milliseconde par ce générateur sortent tout de même dans l’ordre. Utiliser une heure fixe règle l’horodatage, pratique pour les données de test.
Un ULID porte la même idée en 26 caractères de Base32 de Crockford, comme 01JA8Z3V6Q8X2M7K4N9R5T1B0C, plus court qu’un UUID et sans lettres faciles à confondre. Utilisez le v7 là où une colonne ou une API attend un UUID, et l’ULID là où un texte plus court est bienvenu.
Version 5 : le même nom, le même identifiant
Un UUID v5 n’est pas aléatoire : c’est un hachage d’un espace de noms et d’un nom. example.com dans l’espace de noms DNS donne toujours le même UUID, sur n’importe quel ordinateur, dans n’importe quel langage. C’est utile pour donner des identifiants stables à des choses qui ont déjà un nom unique, comme des URL ou des adresses e-mail, sans en stocker une table. Choisissez DNS, URL, OID ou X.500 comme espace de noms, ou un UUID personnalisé de votre choix.
Inspecter un identifiant
Collez n’importe quel UUID ou ULID dans Inspecter un identifiant pour voir ce qu’il est : la version, la variante et, pour les identifiants fondés sur le temps, l’instant de leur création. Utile pour déboguer, par exemple pour savoir quand un enregistrement d’une base de données a été créé à partir de sa seule clé.
Des formats prêts à coller
Choisissez majuscules ou minuscules, avec ou sans tirets, et entourez chaque identifiant de guillemets doubles, d’apostrophes ou d’accolades pour le code. Séparez-les par des retours à la ligne ou des virgules, ou écrivez-les en tableau JSON ou en colonne CSV, puis copiez-les tous ou enregistrez-les en fichier texte, CSV ou JSON. Les minuscules avec tirets sont la forme standard et le choix le plus sûr.
En cas de problème
- Un identifiant n’est pas reconnu. Ce n’est pas un UUID ou un ULID valide : vérifiez sa longueur et ses caractères. Les UUID ont 32 chiffres hexadécimaux ; les ULID ont 26 caractères.
- Des identifiants v4 ralentissent une base de données. Passez les nouvelles clés en v7 pour que les insertions arrivent dans l’ordre.
Questions et réponses
Quelle différence entre v4 et v7 ?
La version 4 est entièrement aléatoire. La version 7 commence par un horodatage : les identifiants se trient donc par date de création, ce qui convient mieux aux index de bases de données.
Ces valeurs aléatoires sont-elles sûres ?
Elles viennent du générateur de nombres aléatoires cryptographique de votre navigateur.
Deux identifiants peuvent-ils entrer en collision ?
La probabilité est négligeable pour des UUID aléatoires.