Was ist eine UUID?
Eine UUID (Universally Unique Identifier) ist eine 128-Bit-Zahl, mit der man Datenbankzeilen, Dateien, API-Anfragen oder Geräte kennzeichnet, ohne einen zentralen Server nach der nächsten freien ID zu fragen. Sie wird als 32 Hexadezimalziffern in fünf Gruppen geschrieben, 8-4-4-4-12, zum Beispiel f47ac10b-58cc-4372-a567-0e02b2c3d479.
UUIDs sind in RFC 9562 (2024) definiert, der den älteren RFC 4122 ersetzt und die Versionen 6, 7 und 8 ergänzt hat. Die erste Hex-Ziffer der dritten Gruppe gibt die Version an (die 4 in 4372 oben), die erste Ziffer der vierten Gruppe zeigt die Variante (8, 9, a oder b bei Standard-UUIDs).

UUID-Versionen erklärt
Jede Version füllt dieselben 128 Bit auf andere Weise. Diese Versionen begegnen Ihnen in der Praxis:
122 zufällige Bits. Keine Bedeutung im Inneren, nichts, was etwas preisgeben könnte. Der Standard in den meisten Sprachen (crypto.randomUUID(), uuid.uuid4(), Guid.NewGuid()).
Ein 48-Bit-Unix-Zeitstempel in Millisekunden, gefolgt von Zufallsbits, sodass neue IDs hinter alten einsortiert werden. RFC 9562 empfiehlt sie anstelle von v1 und v6.
Ein 60-Bit-Zeitstempel, eine Clock Sequence und eine 48-Bit-Node-ID, die ursprünglich die MAC-Adresse des Computers war. Unser Generator verwendet stattdessen eine zufällige Node-ID.
Eine Namespace-UUID plus ein Name, gehasht mit SHA-1 (v5) oder MD5 (v3). Dieselbe Eingabe ergibt immer dieselbe UUID. Bevorzugen Sie v5.
Die Felder von Version 1 so umgestellt, dass sich die IDs nach der Zeit sortieren. Vor allem eine Brücke für Systeme, die bereits v1 verwenden.
Nur Nullen (00000000-0000-0000-0000-000000000000) oder nur f. Dienen als Platzhalter für „kein Wert“ oder „Ende des Bereichs“.
Advertisement
UUID erstellen: So geht's
v4 für eine zufällige ID, v7, wenn die IDs in einen Datenbankindex kommen oder nach Erstellungszeit sortiert sein sollen, v5, wenn derselbe Name immer auf dieselbe UUID abgebildet werden muss.
Erzeugen Sie 1, 10, 100 oder bis zu 1.000 auf einmal. Jede UUID stammt aus dem kryptografisch sicheren Zufallsgenerator des Browsers.
Standard in Kleinbuchstaben, {Klammern} und Großbuchstaben für GUIDs im Windows-Stil, 32 Zeichen ohne Bindestriche oder eine urn:uuid:-URN.
Kopieren Sie eine einzelne UUID oder die ganze Liste, oder laden Sie sie als .txt-Datei herunter. Die Seitenadresse speichert Ihre Einstellungen, sodass Sie sie als Lesezeichen ablegen können.
UUID vs. GUID: Gibt es einen Unterschied?
GUID (Globally Unique Identifier) ist Microsofts Name für dasselbe. Eine GUID, die mit Guid.NewGuid() in .NET oder New-Guid in PowerShell erzeugt wird, ist eine Standard-UUID der Version 4.
Der sichtbare Unterschied liegt in der üblichen Schreibweise: Windows-Tools zeigen GUIDs oft in Großbuchstaben und in geschweiften Klammern, etwa {F47AC10B-58CC-4372-A567-0E02B2C3D479}. Wählen Sie das Format GUID mit Klammern und aktivieren Sie Großbuchstaben, um genau das zu erhalten. Intern speichern Windows und .NET die ersten drei Gruppen in Little-Endian-Bytereihenfolge, sodass sich die rohen 16 Bytes von der UUID-Bytereihenfolge unterscheiden, obwohl der Text identisch ist. Einige sehr alte COM-GUIDs verwenden Microsofts eigene Varianten-Bits, die der Decoder oben kennzeichnet.
Advertisement
UUID v4 vs. v7: Welche sollten Sie verwenden?
Beide lassen sich bedenkenlos als eindeutige IDs verwenden. Der Unterschied zeigt sich, wenn Sie Millionen davon in einem Datenbankindex speichern.
Verwenden Sie v7 für Primärschlüssel. Da jede neue v7-UUID größer ist als die vorherige, landen neue Einträge am Ende eines B-Tree-Index statt an zufälligen Stellen. Das hält Indizes in PostgreSQL und MySQL kompakt und Inserts schnell. SQL Server ist die Ausnahme: Es sortiert
uniqueidentifier-Werte zuerst nach ihren letzten sechs Bytes, sodass v7 dort keinen solchen Vorteil bringt.Verwenden Sie v4, wenn die ID nichts verraten darf. Eine v7-UUID enthält ihre Erstellungszeit auf die Millisekunde genau; wer sie sieht, kann diese Zeit mit dem Decoder oben auslesen.
Verwenden Sie v5 für stabile IDs aus Namen, zum Beispiel eine UUID pro Domainname oder URL, damit jedes System denselben Wert berechnet, ohne eine Tabelle zu teilen.
Vermeiden Sie v1 für neue Projekte. Eine klassische v1-UUID enthält die MAC-Adresse des Rechners und die Erstellungszeit; RFC 9562 empfiehlt stattdessen v7.
Können zwei UUIDs jemals gleich sein?
Theoretisch ja, praktisch nein. Eine UUID der Version 4 hat 122 zufällige Bits, also rund 5,3 × 10^36 mögliche Werte. Sie müssten etwa 2,7 Trillionen (2,7 × 10^18) davon erzeugen, bevor auch nur eine Wahrscheinlichkeit von 50 % für ein einziges Duplikat besteht. Das sind eine Milliarde UUIDs pro Sekunde, rund 86 Jahre lang.
Das echte Risiko ist ein fehlerhafter Zufallsgenerator, nicht die Mathematik. Dieses Tool verwendet crypto.getRandomValues(), die kryptografisch sichere Quelle des Browsers, und v7 führt einen Zähler, sodass UUIDs aus derselben Millisekunde trotzdem korrekt sortiert werden und sich nie wiederholen.
Advertisement
UUID dekodieren: Version, Variante und Zeitstempel
Öffnen Sie den Tab Dekodieren und fügen Sie eine oder mehrere UUIDs ein, eine pro Zeile, in Standardform, mit Klammern, als urn:uuid: oder mit 32 Zeichen. Für jede UUID sehen Sie, ob sie gültig ist, ihre Version und Variante sowie bei v1, v6 und v7 das Datum und die Uhrzeit ihrer Erstellung.
Bei UUIDs der Versionen v1 und v6 zeigt der Decoder außerdem die Node-ID und ob sie wie eine echte MAC-Adresse oder wie ein Zufallswert aussieht. So prüfen Sie schnell, ob alte IDs in Ihrem System Hardware-Adressen preisgeben.
UUID im Code erzeugen
Die meisten großen Sprachen und Datenbanken erzeugen UUIDs ohne zusätzliche Pakete. Die Unterstützung für Version 7 ist neuer: Python 3.14, PostgreSQL 18, .NET 9 und Go 1.27 haben sie eingeführt.
crypto.randomUUID()
// 'f47ac10b-58cc-4372-a567-0e02b2c3d479' (Version 4)import uuid
uuid.uuid4() # zufällig
uuid.uuid5(uuid.NAMESPACE_DNS, 'example.com') # namensbasiert, immer gleich
uuid.uuid7() # Python 3.14+SELECT gen_random_uuid(); -- Version 4 (PostgreSQL 13+)
SELECT uuidv7(); -- Version 7 (PostgreSQL 18+)Guid.NewGuid() // Version 4
Guid.CreateVersion7() // Version 7 (.NET 9+)
# PowerShell
New-Guiduuidgen # zufällige UUID (macOS gibt Großbuchstaben aus)
uuidgen --time # Version 1 (util-linux)
cat /proc/sys/kernel/random/uuid # Linux-KernelUUID.randomUUID() // Java, Version 4
uuid.NewV4() // Go 1.27+ Standardbibliothek, Version 4
uuid.NewV7() // Go 1.27+, Version 7
// älteres Go: github.com/google/uuid (uuid.New, uuid.NewV7)Advertisement
Weitere Entwickler-Tools
Weitere kostenlose Tools für Entwickler und Systemadministratoren, die alle direkt in Ihrem Browser laufen: