Sviluppatore

Generatore ULID e NanoID

Identificatori unici ordinabili nel tempo, alternativa all’UUID.

  • Istantaneo
  • Gratis
  • Privato (elaborato localmente)
  • Senza registrazione

Gli ULID sono ordinabili per ordine di creazione (prefisso temporale).

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.

  1. Scegli il tipo

    ULID (ordinabile) o NanoID (compatto, dimensione regolabile).

  2. Indica la quantità

    Da 1 a 100 identificatori in una volta.

  3. Copia

    L’intero lotto va negli appunti.

ULID, NanoID o UUID?

FormatoLunghezzaPunto di forza
ULID26 caratteriOrdinabile per data di creazione
NanoID21 caratteri (regolabile)Corto e URL-safe
UUID v436 caratteriStandard 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.