Generator UUID / GUID
Wybierz format (UUID v4, v7, NanoID, ULID), ustaw opcje i wygeneruj unikalne identyfikatory. Generowane lokalnie w przeglądarce z użyciem crypto.getRandomValues().
Generator UUID – unikalne identyfikatory online
UUID (Universally Unique Identifier) to 128-bitowy identyfikator gwarantujący globalną unikalność. Nasz generator tworzy UUID w różnych wersjach – od klasycznego v4 po nowoczesne ULID i NanoID.
Formaty identyfikatorów
UUID v4 (losowy)
Najpopularniejsza wersja. 122 bity losowości dają prawdopodobieństwo kolizji bliskie zeru (1 na 2.71 × 10¹⁸ przy miliardzie wygenerowanych UUID). Format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx.
UUID v7 (timestamp + losowy)
Nowsza wersja zawierająca timestamp w pierwszych 48 bitach. Zaletą jest naturalne sortowanie chronologiczne – nowsze UUID są „większe". Idealne do kluczy głównych w bazach danych.
NanoID
Kompaktowy, 21-znakowy identyfikator z alfabetem URL-safe (A-Za-z0-9_-). Krótszy niż UUID, równie bezpieczny. Popularny w JavaScript i frontendzie.
ULID
Universally Unique Lexicographically Sortable Identifier. 26 znaków, sortowalne chronologicznie. Format: 01ARZ3NDEKTSV4RRFFQ69G5FAV – 10 znaków timestamp + 16 znaków losowych.
Kiedy używać UUID?
- Klucze główne w bazie danych – zamiast auto-increment (lepsza skalowalność)
- Identyfikatory sesji – bezpieczne i nieprzewidywalne
- Nazwy plików – unikalne, bez kolizji
- Śledzenie zdarzeń – logi, analytics, tracing
- API – identyfikatory zasobów w REST/GraphQL
- Systemy rozproszone – brak potrzeby centralnego generatora
Porównanie formatów
| Format | Długość | Sortowalne | Entropia | Czytelność URL |
|---|---|---|---|---|
| UUID v4 | 36 znaków | ❌ | 122 bity | Średnia |
| UUID v7 | 36 znaków | ✅ | 62 bity | Średnia |
| NanoID | 21 znaków | ❌ | 126 bitów | ✅ Dobra |
| ULID | 26 znaków | ✅ | 80 bitów | ✅ Dobra |
Prawdopodobieństwo kolizji
Przy generowaniu 1 miliarda UUID v4 na sekundę przez 86 lat, prawdopodobieństwo choćby jednej kolizji wynosi 50%. W praktyce oznacza to: kolizja nie nastąpi nigdy w typowej aplikacji.
Porównanie z innymi formatami:
- NanoID (21 znaków): ~149 lat przy 1000 ID/sekundę, żeby osiągnąć 1% szansy kolizji
- ULID: Kolizja możliwa tylko w tej samej milisekundzie (16 bajtów losowości)
UUID w bazach danych
Zalety UUID jako klucza głównego
- Brak centralnego punktu generowania – skaluje się horyzontalnie
- Można generować offline (aplikacje mobilne, edge computing)
- Bezpieczne mergowanie danych z wielu źródeł
- Nie ujawnia informacji o wielkości bazy (w przeciwieństwie do auto-increment)
Wady i rozwiązania
- Rozmiar: 128 bit vs 32/64 bit dla int – ale w 2026 roku to nieistotne
- Indeksowanie: UUID v4 jest losowy, co powoduje fragmentację B-tree → rozwiązanie: UUID v7 lub ULID (sortowalne)
- Czytelność: Długi string – w URL-ach lepszy NanoID
Bezpieczeństwo
Generator wykorzystuje kryptograficznie bezpieczny crypto.getRandomValues(). Identyfikatory są generowane wyłącznie w Twojej przeglądarce – nie są nigdzie wysyłane ani zapisywane.
Jak używać w kodzie
JavaScript / TypeScript
crypto.randomUUID(); // UUID v4 natywnie w przeglądarce/Node.js
Python
import uuid
str(uuid.uuid4()) # UUID v4
SQL (PostgreSQL)
SELECT gen_random_uuid(); -- UUID v4
Porównanie formatów
| Format | Długość | Sortowalne | Entropia | Czytelność URL |
|---|---|---|---|---|
| UUID v4 | 36 znaków | ❌ | 122 bity | Średnia |
| UUID v7 | 36 znaków | ✅ | 62 bity | Średnia |
| NanoID | 21 znaków | ❌ | 126 bitów | ✅ Dobra |
| ULID | 26 znaków | ✅ | 80 bitów | ✅ Dobra |
Bezpieczeństwo
Generator wykorzystuje kryptograficznie bezpieczny crypto.getRandomValues(). Identyfikatory są generowane wyłącznie w Twojej przeglądarce – nie są nigdzie wysyłane ani zapisywane.
Jeśli ten kalkulator był przydatny, sprawdź również: JSON, .htpasswd, CV i więcej kalkulatorów.
Kalkulator zawiera walidację danych wejściowych i działa lokalnie w przeglądarce. Dzięki temu możesz szybko porównać różne scenariusze bez przesyłania danych na serwer.
Najczęstsze pytania (FAQ)
Jaka jest różnica między UUID v4 a v7?
UUID v4 jest w pełni losowy (122 bity entropii). UUID v7 zawiera timestamp w pierwszych 48 bitach – dzięki temu UUID-y są naturalnie sortowalne chronologicznie, co jest zaletą w bazach danych.
Kiedy używać NanoID zamiast UUID?
NanoID jest krótszy (21 vs 36 znaków), URL-safe i ma porównywalną entropię (126 bitów). Idealny do frontend-u, URL-i i wszędzie gdzie liczy się długość identyfikatora.
Czy UUID może się powtórzyć?
Teoretycznie tak, ale prawdopodobieństwo jest znikome – 1 na 2.71 × 10¹⁸ przy miliardzie wygenerowanych UUID. W praktyce traktujemy je jako unikalne.