Générateur de Nano ID
Générez en masse, directement dans votre navigateur, des identifiants courts, uniques et sûrs pour les URL. Choisissez librement le jeu de caractères (par défaut, alphanumérique, minuscules, majuscules, chiffres ou hexadécimal) et la longueur — idéal lorsque vous avez besoin de quelque chose de plus court qu'un UUID.
Comparaison des formats d'ID
| Format | Longueur | Taille de l'alphabet | Triable par ordre de création | Description |
|---|---|---|---|---|
| Nano ID | 21 caractères par défaut (configurable de 1 à 64) | 64 caractères | Non (entièrement aléatoire) | Un ID court et aléatoire composé uniquement de caractères sûrs pour les URL. L'alphabet et la longueur sont librement configurables. |
| UUID v4 | 36 caractères (dont 4 tirets) | 16 caractères (hexadécimal) | Non (entièrement aléatoire) | Un identifiant de 128 bits normalisé dans la RFC 9562. La notation hexadécimale séparée par des tirets est le format standard. |
| ULID | 26 caractères | 32 caractères (Base32) | Oui (les 10 premiers caractères forment un horodatage) | Commence par un horodatage à la milliseconde, ce qui permet de trier les ID par ordre lexicographique correspondant à l'ordre de création. |
Astuces
- Nano ID est généré avec un aléa cryptographiquement sûr via l'API Web Crypto et entièrement traité dans votre navigateur — rien n'est jamais envoyé aux serveurs de toolbase.cc.
- L'alphabet par défaut de 64 caractères (
A-Za-z0-9_-) ne contient ni symboles ni espaces, il peut donc être utilisé sans risque directement dans des chemins d'URL ou des noms de fichiers. - Restreindre l'alphabet aux chiffres uniquement ou à l'hexadécimal permet de générer des ID conformes au format utilisé par des systèmes existants (par exemple des numéros de commande composés uniquement de chiffres).
- Plus l'ID est court, plus la probabilité de collision augmente. Les systèmes émettant de nombreux ID devraient rester proches des 21 caractères par défaut, tandis que 8 à 10 caractères peuvent suffire pour de petits jeux de test.
- Augmentez le nombre puis utilisez « Tout copier » pour générer rapidement en masse des données de test ou des jeux de données initiaux.
Questions fréquentes
Anecdote — Pourquoi Nano ID peut être plus court qu'un UUID
Nano ID est une bibliothèque JavaScript de génération d'ID publiée en 2017 par Andrey Sitnik, le développeur de PostCSS. Bien que dépourvue de dépendances et minuscule (à peine quelques centaines d'octets de code), son usage d'un aléa cryptographiquement sûr lui a valu une large reconnaissance, et elle totalise aujourd'hui plusieurs dizaines de millions de téléchargements hebdomadaires sur npm.
La brièveté d'un ID dépend du nombre de caractères distincts que compte son alphabet. Un UUID n'utilise que des chiffres hexadécimaux (16 symboles) pour encoder 128 bits, ce qui nécessite 36 caractères. Nano ID utilise 64 symboles et peut ainsi condenser une quantité comparable d'aléa (126 bits par défaut) en seulement 21 caractères. La raison : chaque caractère transporte davantage d'information (log₂64 = 6 bits contre log₂16 = 4 bits pour l'hexadécimal).
Les réglages par défaut (21 caractères, alphabet de 64 symboles) offrent environ 126 bits d'aléa, ce qui équivaut presque aux 122 bits d'UUID v4. D'après l'approximation du problème des anniversaires, il faudrait générer environ 1,09×10¹⁹ ID avant que la probabilité de collision n'atteigne 50 %, il y a donc en pratique peu de quoi s'inquiéter.