Generator UUID: twórz i sprawdzaj UUID v4 i v7
Tworzy UUID (GUID) bezpośrednio w przeglądarce – losowe w wersji 4 lub sortowalne według czasu w wersji 7 (RFC 9562). W trybie „Sprawdź” narzędzie pokazuje, czy UUID jest poprawny, jaka to wersja i kiedy został utworzony.
Jak to obliczamy
UUID (Universally Unique Identifier, w świecie Microsoftu GUID) to 128-bitowy identyfikator, który jest unikalny na całym świecie bez żadnego centralnego rejestru. Zapisuje się go jako 32 cyfry szesnastkowe w pięciu grupach: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx. Cyfra M to wersja, a najwyższe bity N to wariant (8, 9, a lub b w dzisiejszych UUID). Obowiązującym standardem jest RFC 9562 (2024), który zastąpił RFC 4122.
Wersja 4 czy wersja 7?
- Wersja 4 składa się ze 122 losowych bitów. Nie zdradza niczego o czasie ani urządzeniu – dobry wybór dla tokenów, nazw plików i wszystkiego, co nie wymaga kolejności.
- Wersja 7 zaczyna się od czasu uniksowego w milisekundach (48 bitów), po którym następują 74 losowe bity. Nowe UUID sortują się więc w kolejności powstania – idealne jako klucze główne w bazie danych, bo nowe wiersze trafiają na koniec indeksu zamiast w losowe miejsca. Wada: każdy może odczytać czas utworzenia.
Gdy generujesz wiele UUID v7 naraz, większość wypada w tej samej milisekundzie. Narzędzie zwiększa wtedy część losową o jeden (RFC 9562 § 6.2, metoda 2), dzięki czemu lista pozostaje ściśle rosnąca.
Jak dobra jest losowość?
Losowe bity pochodzą z crypto.getRandomValues() – kryptograficznie bezpiecznego generatora Twojej przeglądarki, tego samego, z którego korzysta crypto.randomUUID(). Nic nie jest wysyłane na serwer ani zapisywane. Przy 122 losowych bitach potrzeba około 2,7 tryliona (2,7 × 1018) UUID, zanim szansa na choćby jeden duplikat osiągnie 50%.
Sprawdzanie i odczytywanie UUID
W trybie „Sprawdź” narzędzie rozkłada istniejący UUID na części: sprawdza długość i znaki, odczytuje wersję i wariant, a dla wersji 1, 6 i 7 przelicza zapisany znacznik czasu na UTC i Twój czas lokalny. Wersje 1 i 6 liczą odcinki 100 nanosekund od 15 października 1582 r. (początek kalendarza gregoriańskiego), wersja 7 – milisekundy od 1 stycznia 1970 r. Wartości specjalne to Nil UUID (same zera) i Max UUID (same f).
Najczęściej zadawane pytania
Co to jest UUID?
UUID to 128-bitowy identyfikator zapisywany jako 32 znaki szesnastkowe w pięciu grupach (8-4-4-4-12). Służy do nadawania unikalnych numerów rekordom, plikom czy urządzeniom bez centralnego rejestru.
Czym różni się UUID od GUID?
W praktyce niczym: GUID (Globally Unique Identifier) to nazwa, której Microsoft używa dla tego samego 128-bitowego formatu. GUID z Windows lub .NET to zwykle UUID w wersji 4.
Czy UUID może się powtórzyć?
Teoretycznie tak, praktycznie nie: wersja 4 ma 2122 możliwych wartości. Nawet przy miliardzie UUID na sekundę trzeba by około 86 lat, aby szansa na duplikat wyniosła 50% – pod warunkiem dobrego generatora losowego, takiego jak użyty tu crypto.getRandomValues().
Której wersji UUID użyć w bazie danych?
Wersji 7. Ponieważ zaczyna się od znacznika czasu, nowe rekordy są wstawiane po kolei, co utrzymuje indeksy B-drzewa zwarte i szybkie. PostgreSQL 18 ma do tego wbudowaną funkcję uuidv7().
Czy da się odczytać, kiedy UUID został utworzony?
Dla wersji 1, 6 i 7 tak – wybierz „Sprawdź / odczytaj UUID”. Wersja 4 zawiera wyłącznie losowość i nie zdradza ani czasu, ani urządzenia.
Wielkie czy małe litery?
Oba zapisy są poprawne. RFC 9562 zaleca małe litery na wyjściu i wymaga, aby przy odczycie wielkość liter nie miała znaczenia. Niektóre narzędzia Microsoftu pokazują GUID wielkimi literami w nawiasach klamrowych.
Źródła i podstawa prawna
- § 4 (Format, Variante, Version), § 5.4 (v4), § 5.7 (v7), § 6.2 (Monotonie), Anhang A (Testvektoren): RFC 9562 – Universally Unique IDentifiers (UUIDs), IETF 2024
- W3C Web Cryptography API – Crypto.getRandomValues()
- MDN Web Docs – Crypto.randomUUID()
Stan na:
Podobne narzędzia
- Konwerter czasu Unix (timestamp)Konwerter czasu Unix: zamień timestamp na datę i datę na timestamp. Sekundy, milisekundy, mikro- i nanosekundy rozpoznawane automatycznie; UTC i ISO 8601.
- Sprawdzenie DNS domenySprawdzenie DNS domeny online: rekordy A, AAAA, MX, TXT, CNAME, NS, SOA, CAA, SRV i PTR – z TTL, statusem DNSSEC i objaśnieniem kodów błędów. Za darmo.
- Generator hash: SHA-256, SHA-512, SHA-1, MD5Generator hash online: oblicz SHA-256, SHA-384, SHA-512, SHA-1 i MD5 tekstu lub pliku i sprawdź sumę kontrolną – lokalnie w przeglądarce, bez wysyłania.
- Kodowanie i dekodowanie Base64Kodowanie i dekodowanie Base64 oraz Base64url z poprawnym UTF-8, do tego kodowanie URL (percent-encoding). Jasne komunikaty błędów, działa w przeglądarce.
- JSON formatter, walidator i minifikatorSprawdź JSON według RFC 8259: dokładna linia, kolumna i zrozumiały opis błędu. Formatowanie JSON, minifikacja, sortowanie kluczy – lokalnie w przeglądarce.
- Regex testerRegex tester: sprawdzaj wyrażenia regularne JavaScript na żywo – podświetlone dopasowania, grupy w tabeli i objaśnienie wzorca. Za darmo, bez wysyłania danych.