onlinetools.dev

Générateur d’UUID

Générez des UUID v4/v7, ULID et Nano ID — à l’unité ou en lot

Exécution locale
loading…
À propos de cet outil

Générez des identifiants universellement uniques en quatre variantes : UUID v4 (entièrement aléatoire, le choix courant), UUID v7 (ordonné dans le temps, le choix moderne pour les clés de base de données), ULID (ordonné dans le temps avec une écriture compacte en Base32 de Crockford) et Nano ID (court, adapté aux URL). Générez-en un seul ou jusqu’à mille à la fois — un par ligne, prêts à coller dans un script de seed.

L’aléa provient de l’API Web Crypto (crypto.getRandomValues), la source cryptographiquement sûre, pas de Math.random. La génération est locale : les identifiants ne sont connus de personne d’autre, journalisés nulle part, et disponibles hors ligne.

Si vous choisissez un format d’identifiant pour un nouveau système : v7 et ULID se trient par date de création, ce qui ménage les index B-tree et rend les identifiants à peu près chronologiques dans les logs ; v4 ne révèle rien de sa date de création, ce qui est parfois exactement ce que vous voulez.

Questions fréquentes

Quelle est la différence entre UUID v4 et v7 ?
v4, ce sont 122 bits aléatoires. v7 (RFC 9562) commence par un horodatage Unix de 48 bits en millisecondes suivi de bits aléatoires : les identifiants générés plus tard se trient plus tard. Pour des clés primaires de base de données, v7 améliore généralement la localité d’insertion et la taille des index ; v4 reste très bien quand l’ordre est sans importance ou que le moment de création ne doit pas fuiter.
Deux UUID générés peuvent-ils entrer en collision ?
Avec 122 bits aléatoires, la probabilité est si faible qu’elle ne mérite pas d’ingénierie : il faudrait générer des milliards d’identifiants par seconde pendant des décennies pour atteindre ne serait-ce qu’une chance infime. En pratique, les collisions viennent de bugs (réutilisation d’une graine, copie de lignes), pas de l’aléa.
Pourquoi choisir ULID plutôt qu’UUID v7 ?
Ils résolvent le même problème. ULID, ce sont 26 caractères en Base32 de Crockford insensible à la casse — plus court et plus propre dans les URL et les logs — tandis que v7 conserve la forme standard d’UUID à 36 caractères que toutes les bases et bibliothèques acceptent déjà. Prenez celui que votre écosystème gère le plus nativement.
Ces identifiants peuvent-ils servir de secrets ou de jetons ?
L’aléa est cryptographiquement sûr, mais les identifiants sont généralement affichés, journalisés et indexés — traités comme publics. Pour des jetons de session ou des clés d’API, générez un secret dédié d’au moins 128 bits aléatoires et traitez-le comme un mot de passe.
Outils associés