Mode d'emploi
- Choisissez le Type d'identifiant et le nombre voulu sous Combien.
- Pour un nanoid, réglez sa Longueur et les caractères de son Alphabet.
- Copiez un identifiant de Identifiants créés. Chaque ligne donne l'heure que contient l'identifiant, ou un tiret pour un nanoid.
- Collez un ULID ou un UUID version 7 dans Lire l'heure de pour lire l'heure qu'il contient.
Trois sortes d'identifiants
Un ULID (ulid/spec) fait 128 bits : 48 bits de temps Unix en millisecondes, puis 80 bits aléatoires, écrits en 26 caractères de base32 de Crockford. Un UUID version 7 (RFC 9562, section 5.7) commence aussi par un temps de 48 bits en millisecondes, dans la forme 8-4-4-4-12 d'un UUID. Un nanoid est une chaîne aléatoire de la longueur et de l'alphabet que vous choisissez, et il ne contient aucune heure.
- ULID : 26 caractères, par exemple 01ARZ3NDEKTSV4RRFFQ69G5FAV
- UUID version 7 : 36 caractères, par exemple 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
- Nanoid : toute longueur et tout alphabet, sans heure
Ordre lorsque les identifiants sont créés ensemble
Les identifiants créés d'un seul coup partagent une même milliseconde. Un ULID compte alors sa partie aléatoire d'une unité par rapport à l'identifiant précédent, et un UUID version 7 compte un compteur de 12 bits, si bien que les identifiants se trient dans l'ordre de leur création (ulid/spec, Monotonicity ; RFC 9562, section 6.2). Au sein d'une même milliseconde, un nanoid n'est pas trié : chacun est tiré à nouveau.
Les valeurs aléatoires viennent de crypto.getRandomValues, la source d'octets aléatoires du navigateur. Un nanoid tire chaque caractère sans biais, en écartant les valeurs d'octets qui favoriseraient certains caractères.
Exemple détaillé : lire l'heure d'un ULID
En collant 01ARZ3NDEKTSV4RRFFQ69G5FAV, l'exemple ULID de la spécification, on obtient ce résultat : L'heure est le 30 juillet 2016 à 23:54:10 UTC, soit 1 469 922 850 259 millisecondes après le 1er janvier 1970.
Les dix premiers caractères, 01ARZ3NDEK, contiennent l'heure. Les seize derniers contiennent 80 bits aléatoires : l'identifiant se trie donc par son heure comme un simple texte.
Questions fréquentes
Un ULID est-il la même chose qu'un UUID ?
Il a 128 bits comme un UUID, mais il s'écrit en 26 caractères de base32 de Crockford et n'a pas le format UUID. L'UUID version 7 est la forme de la RFC 9562 qui commence aussi par une heure, et cette page fabrique les deux.
Puis-je utiliser ces identifiants comme mots de passe ou jetons de session ?
Non. Ils sont faits pour être uniques et triables, non pour être secrets. Les identifiants créés ensemble partagent une heure et se comptent, si bien que le suivant peut être deviné. Utilisez le générateur de mots de passe ou un jeton cryptographique pour les secrets.
Qu'est-ce qu'un identifiant de type nanoid ?
Une chaîne aléatoire tirée de l'alphabet que vous choisissez, avec la longueur que vous choisissez. Un identifiant de 21 caractères tirés des 64 caractères compatibles avec les URL porte environ 126 bits d'aléa : c'est la valeur par défaut de cette page.
Pourquoi une ligne affiche-t-elle un tiret au lieu d'une heure ?
Un nanoid est aléatoire du début à la fin et ne contient aucune heure : il n'y a donc rien à lire. Seuls les ULID et les UUID en version 7 portent une heure de création.
Pourquoi l'heure d'un UUID ne peut-elle pas être lue ?
Seuls les UUID en version 7 contiennent une heure. La page indique la version de l'UUID que vous avez collé, et lit un UUID en version 7 qui suit la RFC 9562.
Mes identifiants ou le texte que je colle sont-ils envoyés quelque part ?
Non. Les identifiants sont créés dans votre navigateur à partir de crypto.getRandomValues, et le texte collé n'est lu qu'ici. Rien n'est envoyé ni stocké.
Sources
- ULID (en anglais) : specification (ulid/spec on GitHub)
- IETF (en anglais) : RFC 9562, Universally Unique IDentifiers (UUIDs), version 7
- Crockford (en anglais) : Base32 encoding
- W3C (en anglais) : Web Cryptography API, getRandomValues
Chiffres et texte vérifiés pour la dernière fois le mardi 10 novembre 2026.