UUID-Generator

Erzeugen Sie zufällige UUIDs der Version 4 oder zeitgeordnete der Version 7, eine oder tausend auf einmal, im Format, das Ihr Code erwartet. Fügen Sie unten eine beliebige UUID ein, um Version, Variante und Timestamp zu lesen.

Version

122 Zufallsbits aus dem kryptografischen Zufallsgenerator Ihres Browsers. Die übliche Wahl.

Format

Wird in Ihrem Browser erzeugt…

Sie bauen eine App, die solche IDs braucht? Dann braucht sie auch einen Server. Heute ab 3,02 € im Monat (Auswahl: 2.226 Server).

UUID prüfen

Fügen Sie eine UUID ein, um zu sehen, was in ihr steckt.

Läuft in Ihrem Browser: Nichts, was Sie eingeben, wird irgendwohin gesendet.

So werden die UUIDs erzeugt

Eine UUID besteht aus 128 Bit, geschrieben als 32 Hex-Ziffern in fünf Gruppen. Vier Bit geben die Version an, zwei oder drei Bit die Variante; der Rest hängt von der Version ab. RFC 9562, 2024 veröffentlicht, hat den älteren RFC 4122 ersetzt und die Versionen 6, 7 und 8 ergänzt.

v4  xxxxxxxx-xxxx-4xxx-Vxxx-xxxxxxxxxxxx
v7  tttttttt-tttt-7ccc-Vxxx-xxxxxxxxxxxx

t = Unix time in ms (48 bits)
c = counter or random (12 bits)
x = random, V = 8, 9, a or b

Version 4 füllt die übrigen 122 Bit mit Zufallsdaten; diese Seite holt sie vom kryptografischen Zufallsgenerator Ihres Browsers. Version 7 beginnt mit der Unix-Zeit in Millisekunden (48 Bit), sodass später erzeugte UUIDs hinter früheren einsortiert werden, und füllt den Rest mit Zufallsbits. Werden viele in derselben Millisekunde erzeugt, dienen die 12 Bit nach der Version als Zähler, wie RFC 9562 es erlaubt, sodass auch eine Liste von 1.000 UUIDs in der richtigen Reihenfolge bleibt.

Die Prüfung liest die Versions- und Variantenbits jeder UUID und bei den Versionen 1, 6 und 7 die darin gespeicherte Zeit. Eine UUID v4 enthält keine Zeit, daher lässt sich aus ihr nur die Version ablesen.

Beispiel

Das Beispiel in RFC 9562 ist 017f22e2-79b0-7cc3-98c4-dc0c0c07398f. Die ersten 12 Hex-Ziffern, 017f22e279b0, sind 1.645.557.742.000 Millisekunden seit 1970: 22. Februar 2022, 19:22:22 UTC. Die 7 nach dem zweiten Bindestrich ist die Version, und die 9 nach dem dritten kennzeichnet die Standardvariante.

Fragen

UUID v4 oder v7: Welche sollte ich verwenden?

Verwenden Sie v7 für Primärschlüssel in Datenbanken: Neue Zeilen bekommen größere IDs und landen daher am Ende des Index statt an zufälligen Stellen, was Einfügungen schnell und Indizes kompakt hält. Verwenden Sie v4, wenn die ID nicht verraten soll, wann sie erzeugt wurde, etwa in einem öffentlichen Link. Beide sind für jeden praktischen Zweck eindeutig genug.

Können zwei UUIDs jemals gleich sein?

Theoretisch ja, praktisch nein. Eine UUID v4 hat 122 Zufallsbits: Sie müssten etwa 2,7 Trillionen (2,7 × 10^18) davon erzeugen, um mit 50 % Wahrscheinlichkeit ein einziges Duplikat zu bekommen. Eine UUID v7 hat hinter ihrem Millisekunden-Timestamp je nach Erzeugung 62 bis 74 Zufallsbits, eine Kollision bräuchte also riesige Mengen in derselben Millisekunde. Schlechte Zufallszahlengeneratoren verursachen Duplikate, nicht das Format.

Ist eine GUID dasselbe wie eine UUID?

Ja. GUID ist Microsofts Name für dieselbe 128-Bit-Kennung, und Guid.NewGuid() in .NET erzeugt eine UUID der Version 4. Microsoft-Tools schreiben GUIDs oft in Großbuchstaben und in geschweiften Klammern: Mit den Optionen oben erhalten Sie diese Form.

Verrät eine UUID v7, wann sie erzeugt wurde?

Ja, auf die Millisekunde genau: Fügen Sie eine in die Prüfung oben ein, und sie zeigt die Zeit. Das macht sie gut sortierbar, verrät aber auch jedem, der die ID sieht, wann der Datensatz angelegt wurde. Wenn das eine Rolle spielt, verwenden Sie v4 für IDs, die Sie öffentlich zeigen.

Wie erzeuge ich eine UUID auf der Kommandozeile?

Unter Linux: cat /proc/sys/kernel/random/uuid oder uuidgen. Unter macOS: uuidgen (Großbuchstaben). In PostgreSQL: gen_random_uuid() für v4 und uuidv7() ab Version 18. In Python: import uuid; uuid.uuid4() und uuid.uuid7() ab Python 3.14. In JavaScript: crypto.randomUUID().