Generator UUID
UUID v4 to 128-bitowy losowy identyfikator w formacie 8-4-4-4-12 hex (np. 550e8400-e29b-41d4-a716-446655440000). Używaj jako kluczy głównych DB, correlation ID i unikalności nazw plików bez centralnego alokatora. Generowany lokalnie przez crypto.getRandomValues, gdy dostępne.
Wynik
c14fdb0b-53f1-46ee-9368-d844cfbac3c6
Jak generować UUID
1. Kliknij generuj (lub wiele, jeśli obsługiwane).
2. Skopiuj UUID do schowka.
3. Wklej do request API, INSERT SQL lub configu.
4. Trzymaj lowercase konsekwentnie, jeśli DB jest case-sensitive.
Zastosowania UUID
Klucz główny bazy
Insert user z id UUID zamiast sekwencyjnego int — bezpieczne dla publicznych API bez enumeracji.
Correlation ID requestu
Dodaj nagłówek X-Request-ID ze świeżym UUID na każde wywołanie HTTP do distributed tracing.
Prefix klucza S3
uploads/{uuid}/photo.jpg unika kolizji nazw w współdzielonych bucketach.
Kiedy UUID v4 pasuje
• Gdy ID muszą być unikalne w systemach rozproszonych bez koordynacji.
• Gdy eksponujesz ID publicznie — losowe UUID trudno zgadnąć.
• Gdy scalasz dane z offline klientów bez konfliktów ID.
Kiedy nie UUID v4
• Gdy liczy się sekwencyjna czytelność (numery faktur) — użyj sekwencji.
• Gdy fragmentacja indeksu na random UUID PK boli DB w ogromnej skali — rozważ UUID v7 lub ULID.
• Gdy potrzebne krótkie slugi URL — użyj short id lub nanoid.
Nibble wersji
Znak po trzecim bloku myślników wskazuje wersję — 4 oznacza random UUID. Szybka walidacja formatu w code review.
Indeksowanie w bazie
Losowe UUID powodują splits stron B-tree vs sekwencyjne int — OK do miliardów wierszy; monitoruj insert perf.
UUID w URL
OK dla prywatnych zasobów z auth. Nie polegaj na sekrecie UUID samego w sobie dla autoryzacji.
Najczęstsze pytania
UUID v4 vs v1?
v4 jest losowy; v1 zawiera timestamp i node z MAC — v4 preferowany dla prywatności.
Prawdopodobieństwo kolizji?
Astronomicznie niskie praktycznie — paradox urodzin nieistotny w skali aplikacji.
Uppercase czy lowercase?
RFC pozwala oba — wybierz konwencję na projekt; typ Postgres uuid normalizuje.
Wymagane myślniki?
Standardowy format ma myślniki; niektóre systemy akceptują 32 hex bez.
Kryptograficznie bezpieczny?
Używa CSPRNG przeglądarki, gdy dostępny — nie Math.random.
Ile mogę wygenerować?
Brak praktycznego limitu lokalnie — jeden naraz lub batch według UI.