Cos'è NanoID?

NanoID è un generatore di ID univoci minuscolo e sicuro per gli URL per JavaScript. Produce stringhe casuali compatte che sono statisticamente univoche — simili a UUID v4, ma più corte per impostazione predefinita (21 caratteri rispetto a 36) e progettate per essere compatibili con gli URL senza alcuna codifica. Ogni carattere viene scelto da un alfabeto attentamente bilanciato in modo che ogni possibile ID abbia la stessa probabilità, eliminando distorsioni nella distribuzione.

NanoID utilizza un generatore di numeri casuali crittograficamente sicuro (crypto.getRandomValues nei browser, crypto.randomFill in Node.js), rendendo gli ID generati adatti a contesti sensibili alla sicurezza come token di sessione e link monouso. La lunghezza predefinita di 21 caratteri fornisce circa 2,1 × 10³⁰ combinazioni possibili — comparabili a UUID v4 — mentre il formato compatto risparmia larghezza di banda e spazio di archiviazione.

Descrizione dello strumento

Questo generatore NanoID online ti consente di creare uno o più NanoID istantaneamente nel tuo browser senza alcuna installazione necessaria. Puoi controllare la lunghezza dell'ID, quanti ID generare e quale alfabeto utilizzare — dall'impostazione predefinita sicura a esadecimale, alfanumerico, solo numeri o un set di caratteri completamente personalizzato.

Esempi

Alfabeto predefinito, dimensione 21:

V1StGXR8_Z5jdHi6B-myT
useandom-26T198340PX7
bfghjklqvwyzrictV1StG

Alfabeto esadecimale, dimensione 16:

3f9a1c2b4e7d0f85
a0c4e8f23b6d917c

Solo numeri, dimensione 8:

04817263
93571048

Alfabeto personalizzato (abc123), dimensione 12:

b2ca31b1ca2b
3a1c2b3c1ab2

Funzionalità

  • Lunghezza regolabile: Imposta la dimensione dell'ID da 1 a 64 caratteri (predefinito 21)
  • Generazione in blocco: Genera fino a 1.000 ID contemporaneamente
  • Preset alfabeto: Scegli tra Predefinito, Numeri, Minuscole, Maiuscole, Alfanumerico, Esadecimale, Esadecimale maiuscolo, Senza caratteri simili o un set di caratteri completamente personalizzato
  • Preset Senza caratteri simili: Rimuove i caratteri visivamente ambigui (ad es. 0, O, I, l) per ID leggibili dall'uomo
  • Scarica come file: Salva tutti gli ID generati in nanoids.txt con un clic

Casi d'uso

  • Sviluppo di applicazioni: Utilizza NanoID come chiavi primarie nei database o come identificatori di record nelle API dove una stringa breve e sicura per gli URL è preferita rispetto a un UUID completo.
  • Generazione di token: Genera brevi token casuali per link di ripristino della password, codici di invito o slug di referral dove la leggibilità e la sicurezza degli URL sono importanti.
  • Test e dati mock: Produci rapidamente un batch di identificatori univoci dall'aspetto realistico per popolare fixture di test o dati prototipali.

Opzioni spiegate

Opzione Descrizione
Dimensione Numero di caratteri in ogni ID generato (1–64). L'impostazione predefinita di 21 fornisce ~126 bit di entropia, equivalente a UUID v4.
Quantità Quanti ID generare in un batch (1–1.000).
Alfabeto Il pool di caratteri da cui attingere. Alfabeti più grandi e diversificati aumentano l'entropia per carattere.
Alfabeto personalizzato Visibile quando è selezionato Personalizzato. Inserisci qualsiasi carattere; i duplicati vengono rimossi automaticamente per evitare una distribuzione distorta.

Come funziona

NanoID seleziona ogni carattere generando un byte casuale, mascherandolo per adattarlo alla dimensione dell'alfabeto e riprovando se il risultato esce dall'intervallo valido — una tecnica chiamata rejection sampling. Questo garantisce una distribuzione perfettamente uniforme su tutti i caratteri dell'alfabeto indipendentemente dal fatto che la dimensione dell'alfabeto sia una potenza di due. L'alfabeto predefinito (useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict) è sicuro per gli URL (nessun +, / o =) e ha 64 caratteri, rendendo ogni carattere portatore di esattamente 6 bit di entropia.