NanoID Generator

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.

Uses crypto.getRandomValues for cryptographically secure random generation.

Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand NanoID Generator

Génère des identifiants aléatoires courts et compatibles URL, avec une longueur et un alphabet configurables.

How it works

Les octets proviennent de crypto.getRandomValues et sont masqués à la taille de l'alphabet, les valeurs hors plage étant écartées afin que chaque caractère reste équiprobable. La longueur par défaut de 21 caractères sur un alphabet de 64 symboles (A-Z, a-z, 0-9, tiret bas, trait d'union) porte 126 bits d'aléa — davantage que les 122 bits d'un UUID v4 — en 21 caractères plutôt qu'en 36. Raccourcir l'identifiant ou réduire l'alphabet ampute ce total à proportion : 21 caractères d'hexadécimal ne font que 84 bits.

When to use it

  • Des identifiants publics dans des URL, là où un UUID de 36 caractères est encombrant.
  • Des liens de partage, des codes d'invitation et des identifiants de documents que les gens vont recopier ici et là.
  • Des noms de fichiers et des clés d'objets qui doivent être sûrs dans une URL et sur une ligne de commande.
  • Un identifiant hexadécimal ou purement numérique pour un système en aval qui refuse les autres caractères.
  • Réduire la longueur d'un identifiant dans un système où le stockage ou la longueur d'URL comptent vraiment.

Watch out for

  • Raccourcir n'est pas gratuit. Passer de 21 caractères de l'alphabet par défaut à 10 fait chuter de 126 bits à 60, où les collisions cessent d'être théoriques à grande échelle. Dimensionnez la longueur d'après votre volume de génération, pas d'après ce qui paraît net.
  • L'alphabet par défaut contient le trait d'union et le tiret bas. Les deux sont compatibles URL, mais un identifiant commençant par un trait d'union est lu comme une option par beaucoup d'outils en ligne de commande — utilisez le jeu alphanumérique pour les valeurs qui seront passées en argument.
  • Indevinable ne veut pas dire autorisé. Un NanoID dans une URL est une capacité : quiconque reçoit le lien obtient l'accès que ce lien accorde, à moins que les permissions ne soient vérifiées séparément.
  • Un identifiant sur alphabet numérique est une chaîne, pas un nombre. L'analyser comme un entier supprime les zéros de tête et perd en précision au-delà d'environ 16 chiffres.

Not the right tool for: Des clés primaires de base de données où l'ordre d'insertion compte. Les NanoID sont purement aléatoires, sans composante temporelle, et fragmentent donc les index exactement comme l'UUID v4 — utilisez plutôt ULID ou UUID v7.

Frequently Asked Questions

Comment NanoID se compare-t-il à UUID ?

La longueur par défaut de 21 caractères de NanoID offre environ 126 bits d'entropie, comparable à un UUID v4 (122 bits), mais n'utilise que 21 caractères contre 36 (UUID avec traits d'union). Il est compatible URL, sans traits d'union, et évite le surcoût de mise en forme d'un UUID. Il convient aux identifiants dans les URL, les noms de fichiers et les bases de données.

Que se passe-t-il si je raccourcis l'identifiant ?

Des identifiants plus courts présentent un risque de collision plus élevé. Utilisez le calculateur de collisions de NanoID : à raison de 10 identifiants par seconde, un identifiant de 21 caractères met environ 149 ans à atteindre 1 % de probabilité de collision. Un identifiant de 13 caractères n'y met qu'environ 12 ans au même rythme. Dimensionnez la longueur selon votre volume de génération.

Puis-je utiliser un alphabet personnalisé ?

Oui — remplacez l'alphabet par défaut (A-Za-z0-9_-) par les caractères de votre choix. Uniquement numérique (0-9) pour des identifiants d'allure numérique, hexadécimal (0-9a-f) pour des identifiants hexadécimaux, ou votre propre jeu. L'outil affiche la probabilité de collision pour votre configuration.

How to Use NanoID Generator

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.