Programista

Generator ULID i NanoID

Unikalne, sortowalne czasowo identyfikatory, alternatywa dla UUID.

  • Natychmiast
  • Za darmo
  • Prywatnie (przetwarzane lokalnie)
  • Bez rejestracji

ULID-y są sortowalne według kolejności utworzenia (prefiks czasowy).

Unikalne identyfikatory, ale lepsze niż UUID

UUID v4 jest losowy i nieczytelny, a jako klucz psuje indeksy. To narzędzie generuje dwie nowoczesne alternatywy: ULID (sortowalny według czasu utworzenia) i NanoID (krótki i URL-safe), z kryptograficzną losowością.

  1. Wybierz typ

    ULID (sortowalny) lub NanoID (kompaktowy, regulowany rozmiar).

  2. Podaj ilość

    Od 1 do 100 identyfikatorów naraz.

  3. Skopiuj

    Cała partia trafia do schowka.

ULID, NanoID czy UUID?

FormatDługośćGłówny atut
ULID26 znakówSortowalny według czasu utworzenia
NanoID21 znaków (regulowane)Krótki i URL-safe
UUID v436 znakówUniwersalny standard, ale niesortowalny

Losowość z crypto.getRandomValues, wszystko lokalnie. ULID jest idealny jako klucz główny bazy danych; NanoID — jako krótki identyfikator w publicznym URL-u.

Najczęstsze pytania

Czym jest ULID i jak różni się od UUID?

ULID koduje znacznik czasu utworzenia w pierwszych 10 znakach, po których następuje 16 losowych. W efekcie dwa ULID-y utworzone w różnych chwilach sortują się naturalnie chronologicznie, czego (w pełni losowy) UUID v4 nie umożliwia.

Dlaczego sortowanie czasowe jest przydatne?

W bazie danych sortowalne klucze zapobiegają fragmentacji indeksów: nowe wiersze wstawiają się na końcu, a nie losowo. Można też paginować lub sortować po dacie bez osobnej kolumny „created_at”, tylko po kluczu głównym.

Czym jest NanoID?

To kompaktowy losowy identyfikator (domyślnie 21 znaków wobec 36 w UUID) używający alfabetu URL-safe. Krótszy, przy rozsądnych ilościach pozostaje statystycznie równie bezpieczny wobec kolizji i lepiej mieści się w URL-u.

Czy generowanie jest naprawdę bezpieczne?

Tak: losowość pochodzi z crypto.getRandomValues, kryptograficznego generatora przeglądarki, a nie z Math.random (przewidywalnego). Wszystko generowane jest lokalnie, żaden identyfikator nie przechodzi przez serwer.