onlinetools.dev

Generator UUID

Generuj UUID v4/v7, ULID i Nano ID — pojedynczo lub masowo

Działa lokalnie
loading…
O tym narzędziu

Generuj uniwersalne identyfikatory w czterech odmianach: UUID v4 (w pełni losowy, codzienny domyślny wybór), UUID v7 (uporządkowany czasowo, nowoczesny wybór na klucze bazodanowe), ULID (uporządkowany czasowo, w zwartym zapisie Crockford Base32) oraz Nano ID (krótki, przyjazny adresom URL). Wygeneruj jeden albo nawet tysiąc naraz — po jednym w wierszu, gotowe do wklejenia w skrypt zasilający bazę.

Losowość pochodzi z Web Crypto API (crypto.getRandomValues), czyli źródła bezpiecznego kryptograficznie, a nie z Math.random. Generowanie jest lokalne, co oznacza, że identyfikatory nie są znane nikomu innemu, nigdzie nie trafiają do logów i działają offline.

Jeśli wybierasz format identyfikatora dla nowego systemu: v7 i ULID sortują się według czasu utworzenia, co sprzyja indeksom B-drzewa i sprawia, że identyfikatory w logach układają się mniej więcej chronologicznie; v4 nie zdradza nic o momencie powstania, co czasem jest dokładnie tym, czego chcesz.

Często zadawane pytania

Czym różni się UUID v4 od v7?
v4 to 122 losowe bity. v7 (RFC 9562) zaczyna się od 48-bitowego znacznika czasu w milisekundach uniksowych, po którym idą bity losowe, więc identyfikatory utworzone później sortują się później. Dla kluczy głównych w bazie v7 zwykle poprawia lokalność wstawień i rozmiar indeksu; v4 pozostaje w porządku tam, gdzie kolejność nie ma znaczenia albo moment utworzenia nie może wyciekać.
Czy dwa wygenerowane UUID mogą się powtórzyć?
Przy 122 losowych bitach prawdopodobieństwo jest tak małe, że nie warto się przed nim zabezpieczać: trzeba by generować miliardy identyfikatorów na sekundę przez dziesięciolecia, żeby w ogóle dojść do nikłej szansy. Kolizje w praktyce biorą się z błędów (użycie tego samego ziarna, kopiowanie wierszy), a nie z losowości.
Kiedy wybrać ULID zamiast UUID v7?
Rozwiązują ten sam problem. ULID to 26 znaków Crockford Base32 bez rozróżniania wielkości liter — krócej i czyściej w adresach i logach — a v7 zachowuje standardowy 36-znakowy kształt UUID, który każda baza i biblioteka już akceptuje. Wybierz to, co Twój ekosystem obsługuje bardziej natywnie.
Czy takich identyfikatorów można używać jako sekretów lub tokenów?
Losowość jest bezpieczna kryptograficznie, ale identyfikatory zwykle się wyświetla, loguje i indeksuje — traktuje jak dane jawne. Na tokeny sesji czy klucze API wygeneruj osobny sekret o co najmniej 128 losowych bitach i traktuj go jak hasło.
Powiązane narzędzia