Was UUID und GUID wirklich unterscheidet
Eine UUID ist ein 128-Bit-Identifikator, der als 32 Hexadezimalzeichen in fünf Gruppen (8-4-4-4-12) geschrieben wird, z. B. 550e8400-e29b-41d4-a716-446655440000. Der Standard definiert mehrere „Versionen” — v1 bis v7 sind derzeit spezifiziert —, die sich darin unterscheiden, wie die 122 nutzbaren Bit gefüllt werden: zufällig, zeitbasiert oder aus einem Namen abgeleitet.
In der Praxis begegnet man dem Namen „GUID” vor allem in .NET-, SQL-Server- und Windows-Kontexten, während „UUID” in Unix-, Web- und den meisten anderen Programmiersprachen gebräuchlich ist. Der ToolPico-UUID-Generator kann beide Schreibweisen erzeugen — inklusive der geschweiften-Klammern-Variante über die entsprechende Formatoption.
v4 (zufällig) vs. v7 (zeitlich sortiert)
Eine v4-UUID füllt 122 Bit mit kryptografisch sicherer Zufälligkeit (im Browser über crypto.getRandomValues). Das macht sie ideal für Sitzungs-Tokens, API-Schlüssel oder überall dort, wo Unvorhersehbarkeit gewünscht ist. Der Nachteil: Weil die Werte komplett zufällig sind, landen neue Datensätze in einer Datenbanktabelle an zufälligen Stellen im Index, was bei sehr großen Tabellen zu mehr Indexfragmentierung führen kann.
Eine v7-UUID löst genau dieses Problem: Ihre ersten 48 Bit sind ein Unix-Zeitstempel in Millisekunden, der Rest bleibt zufällig. Dadurch sind nacheinander erzeugte v7-Werte auch numerisch aufsteigend sortiert — ähnlich wie ein klassischer Auto-Increment-Schlüssel, aber ohne zentrale Vergabestelle und ohne die Vorhersagbarkeit einer fortlaufenden Zahl.
| Version | Enthält Zeitstempel? | Sortierbar? | Typischer Einsatz |
|---|---|---|---|
| v4 (zufällig) | Nein | Nein | Sitzungs-IDs, API-Schlüssel, allgemeine Datensätze |
| v7 (zeitlich sortiert) | Ja (ms-genau) | Ja | Datenbank-Primärschlüssel, Event-Logs |
| v1-ähnlich (zeitbasiert) | Ja | Teilweise | Legacy-Systeme, ältere Standards |
Beide Modi lassen sich im UUID-Generator direkt über die Reiter „v4 Zufall” und „v7 Sortiert” erzeugen, jeweils mit Bulk-Generierung von 1 bis 1.000 Werten auf einmal.
Wann v5 (namensbasiert) sinnvoll ist
Anders als v4 oder v7 ist eine v5-UUID deterministisch: Sie wird aus einem Namespace (z. B. dem Standard-DNS-Namespace 6ba7b810-9dad-11d1-80b4-00c04fd430c8) und einem beliebigen Namen (etwa einer Domain oder einer Datei-ID) per SHA-1 berechnet. Gibst du denselben Namespace und Namen erneut ein, erhältst du exakt dieselbe UUID zurück.
v5(DNS-Namespace, "kunde-domain.de") neu — das Ergebnis ist immer identisch, ganz ohne zusätzliche Datenbanktabelle.Das ältere v3 nutzt denselben Mechanismus, aber mit MD5 statt SHA-1; v5 gilt heute als der empfohlene Nachfolger. Im ToolPico-Generator lassen sich unter dem Reiter „v3 / v5 Name” mehrere Namen zeilenweise gleichzeitig verarbeiten (Bulk-Modus), inklusive der vier Standard-Namespaces (DNS, URL, OID, X.500) oder eines eigenen.
Format, Länge und Kollisionswahrscheinlichkeit
Egal welche Version: Die Rohgröße einer UUID bleibt immer 128 Bit. In der textuellen Standardform (8-4-4-4-12) sind das 32 Hexzeichen plus 4 Bindestriche, also 36 Zeichen insgesamt. Ohne Bindestriche sind es 32 Zeichen, im .NET-GUID-Stil mit geschweiften Klammern 38 Zeichen — alle drei Formate lassen sich im Generator per Formatoption umschalten.
Zur Kollisionswahrscheinlichkeit bei v4: Da 122 Bit zufällig sind, wäre laut dem Geburtstagsparadoxon (ein kombinatorisches Beispielmodell, keine Garantie für jede konkrete Implementierung) eine Menge von grob 2,71 Trillionen generierten v4-UUIDs nötig, um eine 50-prozentige Kollisionschance zu erreichen. In normalen Anwendungen — selbst bei Milliarden von Datensätzen — bleibt das Risiko damit praktisch vernachlässigbar.
Der Validator-Reiter im Tool erkennt zudem automatisch Version und Variante einer eingefügten UUID und dekodiert bei v1, v7 und ULID den eingebetteten Erstellungszeitstempel in UTC und Lokalzeit.
UUIDs in v4, v7, v5 oder als ULID direkt im Browser generieren, validieren und im Bulk exportieren — ganz ohne Serveranfrage.
Zum UUID-Generator →