Generatore ULID e NanoID
Identificatori unici ordinabili nel tempo, alternativa all’UUID.
- Istantaneo
- Gratis
- Privato (elaborato localmente)
- Senza registrazione
Identificatori unici, ma meglio dell’UUID
L’UUID v4 è casuale e illeggibile, e rompe gli indici se usato come chiave. Questo strumento genera due alternative moderne: l’ULID (ordinabile per data di creazione) e il NanoID (corto e URL-safe), con casualità crittografica.
-
Scegli il tipo
ULID (ordinabile) o NanoID (compatto, dimensione regolabile).
-
Indica la quantità
Da 1 a 100 identificatori in una volta.
-
Copia
L’intero lotto va negli appunti.
ULID, NanoID o UUID?
| Formato | Lunghezza | Punto di forza |
|---|---|---|
| ULID | 26 caratteri | Ordinabile per data di creazione |
| NanoID | 21 caratteri (regolabile) | Corto e URL-safe |
| UUID v4 | 36 caratteri | Standard universale, ma non ordinabile |
Casualità da crypto.getRandomValues, tutto in locale. L’ULID è ideale come chiave primaria di database; il NanoID, come identificatore corto in un URL pubblico.
Domande frequenti
Cos’è un ULID e in cosa differisce dall’UUID?
L’ULID codifica il timestamp di creazione nei suoi primi 10 caratteri, seguiti da 16 casuali. Risultato: due ULID generati in momenti diversi si ordinano naturalmente in ordine cronologico, cosa che un UUID v4 (del tutto casuale) non permette.
Perché l’ordinamento temporale è utile?
In un database, le chiavi ordinabili evitano la frammentazione degli indici: le nuove righe si inseriscono in fondo invece che a caso. Puoi anche paginare o ordinare per data senza una colonna «created_at» dedicata, solo con la chiave primaria.
Cos’è un NanoID?
È un identificatore casuale compatto (21 caratteri di default, contro i 36 di un UUID) con un alfabeto URL-safe. Più corto, resta statisticamente altrettanto sicuro contro le collisioni per volumi ragionevoli, e sta meglio in un URL.
La generazione è davvero sicura?
Sì: la casualità viene da crypto.getRandomValues, il generatore crittografico del browser, non da Math.random (prevedibile). Tutto è generato localmente, nessun identificatore passa da un server.