Générateur UUIDv7, ULID et Nano ID

Choisissez le format et la taille du lot, puis copiez ou téléchargez le résultat. UUIDv7 et ULID portent l’horloge du navigateur en 48 bits ; les valeurs créées dans la même milliseconde n’ont pas d’ordre entre elles.

Fonctionne localement dans votre navigateur
Tout dans cet outil est traité dans ce navigateur. KivTools ne télécharge pas, ne stocke pas et n’appelle aucune API tierce avec votre entrée.
Paramètres de l'identifiantUtilise le caractère aléatoire Web Crypto ; UUIDv7 et ULID incluent un horodatage local.
Inspecter UUIDv7 ou ULIDDécodez uniquement le composant d'horodatage affiché par le format.

Comment générer des UUIDv7, ULID et Nano ID

La page génère trois familles d’identifiants avec l’API d’aléa du navigateur : UUIDv7 (horodatage de 48 bits en millisecondes, bits de version et de variante, 74 bits aléatoires), ULID (le même horodatage de 48 bits en 10 caractères Crockford base 32 plus 80 bits aléatoires) et Nano ID (alphabet sûr pour URL, longueur de 8 à 64). Choisissez un format et une taille de lot (1 à 25), puis copiez ou téléchargez le résultat.

Tout s’exécute dans ce navigateur : les valeurs ne sont pas envoyées, la page n’émet aucune requête pendant le travail, et la seconde carte décode l’horodatage d’un UUIDv7 ou d’un ULID collé.

  1. Choisissez un format. UUIDv7 et ULID commencent par l’heure courante ; un Nano ID est aléatoire dès le premier caractère.
  2. Sélectionnez le nombre d’identifiants (1, 5, 10 ou 25) et cliquez sur Générer les identifiants.
  3. Cliquez sur Copier pour reprendre le lot, ou sur Télécharger pour obtenir un fichier texte avec un identifiant par ligne.
  4. Pour relire un horodatage, collez un UUIDv7 ou un ULID dans le second champ et cliquez sur Inspecter l’identifiant.
  5. Cliquez sur Effacer pour vider la sortie, le champ d’inspection et le rapport avant le lot suivant.

Ce que contient chaque format

Ce que contiennent les valeurs générées

Un UUIDv7 est un UUID dont les 48 premiers bits sont l’heure Unix en millisecondes, suivis du nibble de version 7, des bits de variante 10 et de 74 bits aléatoires ; l’outil le formate selon les groupes habituels 8-4-4-4-12. Un ULID porte cette même heure de 48 bits dans ses 10 premiers caractères et 80 bits aléatoires dans les 16 suivants, le tout en Crockford base 32, qui omet I, L, O et U pour éviter les confusions de lecture. Un Nano ID provient d’un alphabet de 64 caractères sûr pour URL : 21 caractères portent donc environ 126 bits.

L’aléa vient de window.crypto.getRandomValues : si l’API manque, l’outil refuse de générer et le dit. La longueur du Nano ID est contrôlée sur la même plage 8 à 64 qu’annonce le champ.

Horodatages et ordre

UUIDv7 et ULID portent l’horloge de la machine qui exécute le navigateur : deux identifiants créés dans la même milliseconde partagent donc l’horodatage, et leurs parties aléatoires n’ont aucun ordre entre elles. Trier un lot garantit les groupes de millisecondes, pas un ordre strict de création, ce que la RFC 9562 laisse justement libre dans rand_a.

L’horodatage tient sur 48 bits et s’épuise en 10889. L’inspecteur s’appuie sur cette limite : une valeur de 26 caractères dont le premier caractère Crockford dépasse 7 serait décodée au-delà des 48 bits, et la page la refuse au lieu d’afficher une date de l’an 12004.

Relire un horodatage

L’inspecteur ne décode que l’horodatage. Collez un UUIDv7 avec tirets (ou sans), ou un ULID de 26 caractères en majuscules ou minuscules : le rapport affiche l’instant de création en ISO 8601 UTC.

Les valeurs sans horodatage décodable sont refusées : un UUIDv4, une chaîne aléatoire ou un ULID hors de la plage de 48 bits. Rien n’est interrogé en ligne : l’horodatage vient uniquement de l’identifiant.

Outils récents :