Generator UUID
Generuj UUID v4/v7, ULID i Nano ID — pojedynczo lub masowo
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.