Generator UUID

Generuj standardowe identyfikatory UUID online. Ta strona korzysta z losowego formatu UUID v4 ze 122 bitami losowymi i znanym 36-znakowym formatem.

Format
Wygenerowane identyfikatory
Gotowe. Generuj identyfikatory UUID w przeglądarce.

Jak budowany jest ten identyfikator

Układ
UUID v4: grupy szesnastkowe w układzie 8-4-4-4-12 z bitami wariantu RFC.
Entropia
122 bity losowe; wersja i wariant zużywają 6 bitów ze 128-bitowej wartości.
Czas
Nie są kodowane żadne znaczniki czasu ani dane urządzeń.
Ryzyko kolizji
Granica paradoksu dnia urodzin dla 122 bitów losowości jest pomijalna w przypadku typowych zastosowań w aplikacjach, testach i bazach danych.
Przykład
757f018e-2094-4004-94e1-be336b23ed0c

Identyfikatory są generowane lokalnie przy użyciu silnego generatora losowości w przeglądarce. Nic nie jest wysyłane do BroBroGo.

Najczęściej zadawane pytania (FAQ)

Jaki rodzaj UUID generuje ta strona?

Generuje wartości UUID v4: losowe identyfikatory UUID ze standardowymi myślnikami. Użyj dedykowanej strony UUID v4, jeśli chcesz skorzystać z tego samego silnika z informacjami skupionymi na wersji v4.

Czy wygenerowane UUID są wysyłane na serwer?

Nie. Generowanie odbywa się bezpośrednio w przeglądarce przy użyciu interfejsu Web Crypto API, więc wartości nie opuszczają Twojego urządzenia.

UUID v4 – generator identyfikatorów o losowym porządku

Generator UUID v4 na tej stronie tworzy identyfikatory w formacie 36-znakowym według standardu 8-4-4-4-12, wyłącznie w przeglądarce użytkownika, z wykorzystaniem silnego generatora losowego. Możesz kontrolować liczbę wygenerowanych identyfikatorów (od 1 do 100), decydować o wielkości liter oraz obecności myślników. Każda zmiana opcji natychmiast powoduje ponowne wygenerowanie całego zestawu.

Co wyróżnia tę stronę

UUID v4 wykorzystuje 122 bity losowości bez osadzonego znacznika czasu. Każda wartość jest praktycznie nieprzewidywalna, a prawdopodobieństwo kolizji jest zaniedbywalnie małe. W przeciwieństwie do UUID v7 czy ULID, które niosą informację o czasie, identyfikatory v4 sortują się dowolnie – nie mają żadnego porządku chronologicznego. To sprawia, że przy użyciu ich jako kluczy głównych w bazach danych należy liczyć się z fragmentacją indeksów.

Strona pozwala na przełączanie między wielkimi i małymi literami oraz włączanie lub wyłączanie myślników, ale wewnętrzna losowość i format są stałe (122 bity losowości w 16 oktetach). Domyślnie identyfikatory są generowane małymi literami z myślnikami. Zmiana dowolnego parametru odświeża cały zestaw wyników.

Struktura UUID v4 i źródło losowości

Format identyfikatorów

UUID v4 ma 128 bitów całkowitej długości, z czego:

  • 6 bitów jest zarezerwowanych na oznaczenie wersji (4) i wariantu (RFC 4122)
  • 122 bity są losowe

W zapisie szesnastkowym daje to 36 znaków: 32 cyfry hex oraz 4 myśniki w układzie 8-4-4-4-12. Bez myślników identyfikator ma 32 znaki.

Element Liczba bitów Uwagi
Całkowity UUID v4 128 16 oktetów
Bity wersji (0100) 4 Stała wartość binarna
Bity wariantu (10xx) 2 Dwa bity w trzynastym oktecie
Bity losowe 122 Generowane w przeglądarce

Źródło losowości w przeglądarce

Całe generowanie odbywa się lokalnie, bez wysyłania jakichkolwiek danych do serwera. Przeglądarka wykorzystuje kryptograficznie bezpieczny generator pseudolosowy (CSPRNG), dostępny przez interfejs crypto.getRandomValues(). Ten mechanizm produkuje wartości zgodne z wymaganiami RFC 4122 dla UUID wersji 4.

Ponieważ dane nigdy nie opuszczają przeglądarki, generator działa również w trybie offline (po pierwszym załadowaniu strony). Nie ma ryzyka przechwycenia identyfikatorów w trakcie transmisji ani przechowywania ich na serwerze.

Prawdopodobieństwo kolizji

Przy 122 bitach losowości prawdopodobieństwo przypadkowego wygenerowania dwóch identycznych UUID v4 jest znikome. Aby osiągnąć 50% szans na kolizję, trzeba by wygenerować około 2,71×10^18 identyfikatorów (co wynika z paradoksu urodzinowego dla 122 bitów). Dla porównania, generowanie miliarda identyfikatorów na sekundę przez miliard lat daje około 3,16×10^25 sztuk, co wciąż pozostawia ogromny margines bezpieczeństwa.

Opcje formatowania i ich wpływ

Przełącznik wielkich/malych liter

Domyślnie generowane są małe litery. Włączenie opcji "Uppercase" zamienia wszystkie cyfry szesnastkowe (a-f) na ich wielkie odpowiedniki (A-F). Ma to znaczenie wyłącznie wizualne – format wewnętrzny pozostaje identyczny, a wartość numeryczna się nie zmienia.

Przykład tego samego UUID v4 w dwóch wersjach:

6ba7b810-9dad-11d1-80b4-00c04fd430c8  (małe litery)
6BA7B810-9DAD-11D1-80B4-00C04FD430C8  (wielkie litery)

Przełącznik myślników

Domyślnie myślniki są włączone (format 8-4-4-4-12). Usunięcie myślników skraca identyfikator do 32 znaków:

6ba7b8109dad11d180b400c04fd430c8

Wybór ten może być przydatny w kontekstach, gdzie potrzebny jest ciągły ciąg znaków (np. w nazwach plików, w niektórych formatach API). Należy jednak pamiętać, że bez myślników identyfikator traci czytelność i łatwiej popełnić błąd przy ręcznym przepisywaniu.

Dla kogo jest to narzędzie

  • Programiści potrzebujący unikalnych, nieprzewidywalnych identyfikatorów dla tokenów bezpieczeństwa, identyfikatorów sesji, kluczy w systemach rozproszonych (gdzie nie ma centralnego punktu nadawania identyfikatorów).
  • Administratorzy baz danych, którzy rozumieją kompromis: UUID v4 zapewnia praktyczną unikalność bez ryzyka wyczerpania sekwencji, ale fragmentuje indeksy drzewiaste (B‑tree, B+‑tree) przy użyciu jako klucz główny z powodu arbitralnego sortowania.
  • Zespoły testowe generujące zestawy danych testowych, identyfikatory zewnętrzne lub klucze anonimizowane, gdzie porządek chronologiczny nie jest wymagany, a nieprzewidywalność jest pożądana.
  • Każdy kto potrzebuje szybko wygenerować partię identyfikatorów UUID v4 (do 100 sztuk) i skopiować je w wybranym formacie (duże/małe litery, z myślnikami lub bez).

Reguły i przypadki brzegowe

Ograniczenia liczbowe

  • Liczba identyfikatorów musi zawierać się w przedziale od 1 do 100 włącznie. Wprowadzenie wartości 0 lub powyżej 100 nie jest akceptowane – system nie wygeneruje wtedy nowych identyfikatorów.
  • Zmiana dowolnego parametru (liczby, wielkości liter, obecności myślników) natychmiast powoduje regenerację wszystkich identyfikatorów. Nie ma możliwości zmiany tylko jednego elementu bez odświeżenia całego zestawu.

Kopiowanie identyfikatorów

  • Kliknięcie pojedynczego identyfikatora kopiuje go do schowka.
  • Przycisk "Copy all" kopiuje wszystkie wyświetlone identyfikatory jednocześnie. Domyślnie są one skopiowane jako osobne wiersze, ale format może zależeć od implementacji poszczególnych przeglądarek.
  • Po skopiowaniu wszystkich identyfikatorów pojawia się komunikat „Copied all!”.

Komunikaty statusu

Generator wyświetla trzy komunikaty:

  • „Ready.” – stan początkowy przed pierwszą generacją
  • „Generated.” – po wygenerowaniu identyfikatorów
  • „Copied all!” – po skopiowaniu wszystkich identyfikatorów

Zmiana formatu identyfikatorów

Strona oferuje również inne formaty: UUID v7, ULID i NanoID. Zmiana formatu poza UUID v4 może zmienić dostępne opcje (np. przełącznik wielkich liter i myślników może nie być dostępny lub działać inaczej). Ten artykuł dotyczy wyłącznie trybu UUID v4.

FAQ – najczęstsze pytania

Czy mogę wygenerować więcej niż 100 identyfikatorów naraz?

Nie. Generator obsługuje od 1 do 100 identyfikatorów w jednym przejściu. Jeśli potrzebujesz więcej, możesz wygenerować setki w kolejnych partiach, pamiętając o znikomym ryzyku kolizji między partiami.

Czy identyfikatory są bezpieczne do użytku w produkcji?

Tak, o ile akceptujesz ograniczenia UUID v4 (brak sortowalności, fragmentacja indeksów). Losowość jest dostarczana przez kryptograficznie bezpieczny generator przeglądarki, ale proces generowania odbywa się lokalnie – nigdy nie opuszcza twojej maszyny.

Jaka jest różnica między UUID v4 a UUID v7?

UUID v7 zawiera osadzony znacznik czasu (milisekundy od epoki Unix), co pozwala na sortowanie chronologiczne i lepszą wydajność przy indeksowaniu. UUID v4 nie ma żadnej informacji o czasie, więc identyfikatory sortują się arbitralnie. v7 jest lepszy dla kluczy głównych w bazach danych, v4 – gdy potrzebna jest maksymalna nieprzewidywalność.

Czy UUID v4 nadaje się na klucz główny w PostgreSQL lub MySQL?

Tak, ale z ostrzeżeniem. Arbitralne sortowanie powoduje, że nowe identyfikatory są wstawiane w losowych miejscach indeksu, co prowadzi do fragmentacji stron i obniżenia wydajności przy dużych tabelach. Jeśli zależy ci na wydajności, rozważ UUID v7 (który jest sortowalny po czasie) lub ULID.

Czy mogę użyć UUID v4 w URL bez kodowania?

Możesz, ale myślniki są dozwolone w URL, więc standardowy format 8-4-4-4-12 jest bezpieczny. Jeśli myślniki przeszkadzają, możesz wyłączyć je w generatorze (otrzymasz 32-znakowy ciąg hex). Upewnij się tylko, że używasz małych liter, ponieważ niektóre systemy rozróżniają wielkość liter w URL.

Co się stanie, jeśli wygeneruję dwa takie same UUID v4?

Ponieważ istnieje 2^122 możliwych wartości, prawdopodobieństwo kolizji jest zaniedbywalne w praktyce. Jeśli jednak zdarzy się kolizja (co jest statystycznie niemal niemożliwe), oznacza to, że obie instancje wygenerowały identyczny ciąg losowy – należy wtedy zmienić źródło losowości lub użyć innego generatora. W przypadku większości zastosowań nie musisz się tym martwić.