Qu'est-ce que NanoID ?

NanoID est un générateur d'identifiants uniques minuscule et sûr pour les URL, conçu pour JavaScript. Il produit des chaînes aléatoires compactes qui sont statistiquement uniques — similaires à UUID v4, mais plus courtes par défaut (21 caractères contre 36) et conçues pour être compatibles avec les URL sans aucun encodage. Chaque caractère est choisi dans un alphabet soigneusement équilibré de sorte que chaque identifiant possible est également probable, éliminant ainsi tout biais dans la distribution.

NanoID utilise un générateur de nombres aléatoires cryptographiquement fort (crypto.getRandomValues dans les navigateurs, crypto.randomFill dans Node.js), ce qui rend les identifiants générés adaptés aux contextes sensibles à la sécurité tels que les tokens de session et les liens à usage unique. La longueur par défaut de 21 caractères offre environ 2,1 × 10³⁰ combinaisons possibles — comparable à UUID v4 — tandis que le format compact économise la bande passante et l'espace de stockage.

Description de l'outil

Ce générateur NanoID en ligne vous permet de créer un ou plusieurs NanoIDs instantanément dans votre navigateur sans installation requise. Vous pouvez contrôler la longueur de l'identifiant, le nombre d'identifiants à générer et l'alphabet utilisé — de la valeur par défaut sécurisée à l'hexadécimal, l'alphanumérique, les chiffres uniquement, ou un ensemble de caractères entièrement personnalisé.

Exemples

Alphabet par défaut, taille 21 :

V1StGXR8_Z5jdHi6B-myT
useandom-26T198340PX7
bfghjklqvwyzrictV1StG

Alphabet hexadécimal, taille 16 :

3f9a1c2b4e7d0f85
a0c4e8f23b6d917c

Chiffres uniquement, taille 8 :

04817263
93571048

Alphabet personnalisé (abc123), taille 12 :

b2ca31b1ca2b
3a1c2b3c1ab2

Fonctionnalités

  • Longueur ajustable : Définissez la taille de l'identifiant de 1 à 64 caractères (par défaut 21)
  • Génération en masse : Générez jusqu'à 1 000 identifiants à la fois
  • Présets d'alphabet : Choisissez parmi Défaut, Chiffres, Minuscules, Majuscules, Alphanumérique, Hexadécimal, Hexadécimal majuscule, Sans ressemblances, ou un ensemble de caractères entièrement personnalisé
  • Preset Sans ressemblances : Supprime les caractères visuellement ambigus (par exemple 0, O, I, l) pour des identifiants lisibles par l'homme
  • Télécharger en tant que fichier : Enregistrez tous les identifiants générés dans nanoids.txt en un clic

Cas d'utilisation

  • Développement d'applications : Utilisez NanoIDs comme clés primaires dans les bases de données ou comme identifiants d'enregistrement dans les API où une chaîne courte et sûre pour les URL est préférée à un UUID complet.
  • Génération de tokens : Générez des tokens aléatoires courts pour les liens de réinitialisation de mot de passe, les codes d'invitation ou les slugs de parrainage où la lisibilité et la sécurité pour les URL sont importantes.
  • Tests et données fictives : Produisez rapidement un lot d'identifiants uniques d'apparence réaliste pour remplir les fixtures de test ou les données de prototype.

Options expliquées

Option Description
Taille Nombre de caractères dans chaque identifiant généré (1–64). La valeur par défaut de 21 donne ~126 bits d'entropie, équivalent à UUID v4.
Quantité Nombre d'identifiants à générer en un seul lot (1–1 000).
Alphabet Le pool de caractères à utiliser. Les alphabets plus grands et plus diversifiés augmentent l'entropie par caractère.
Alphabet personnalisé Visible lorsque Personnalisé est sélectionné. Entrez n'importe quels caractères ; les doublons sont supprimés automatiquement pour éviter une distribution biaisée.

Comment ça marche

NanoID sélectionne chaque caractère en générant un octet aléatoire, en le masquant pour s'adapter à la taille de l'alphabet, et en réessayant si le résultat sort de la plage valide — une technique appelée échantillonnage par rejet. Cela garantit une distribution parfaitement uniforme sur tous les caractères de l'alphabet, que la taille de l'alphabet soit une puissance de deux ou non. L'alphabet par défaut (useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict) est sûr pour les URL (pas de +, / ou =) et compte 64 caractères, ce qui signifie que chaque caractère porte exactement 6 bits d'entropie.