UUID-Generator: UUIDs v4 und v7 erzeugen, prüfen und Zeitstempel auslesen
Zufällige UUIDs der Version 4 und sortierbare UUIDs der Version 7 erzeugen, für Linux, Windows oder URN formatieren, vorhandene UUIDs zerlegen, Zeitstempel auslesen und alles mit Python prüfen.
WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Ob Primärschlüssel in einer Datenbank, Korrelations-ID für API-Aufrufe, Kennung in einer Konfigurationsdatei oder Eintrag in der /etc/fstab: UUIDs begegnen Administratoren und Entwicklern täglich. Mal braucht man schnell hundert neue Werte für Testdaten, mal will man wissen, was in einer fremden UUID steckt und wann sie erzeugt wurde. Der UUID-Generator auf s-edv.com/tools/uuid erzeugt zufällige UUIDs der Version 4 und zeitlich sortierbare UUIDs der Version 7, formatiert sie für Linux, Windows oder URN und zerlegt vorhandene UUIDs in ihre Felder. Diese Anleitung richtet sich an Administratoren, Datenbankverantwortliche und Entwickler in kleinen und mittleren Unternehmen. Sie zeigt jede Funktion so, wie sie im Browser tatsächlich arbeitet, erklärt die Unterschiede der Versionen und wie Sie die Ergebnisse mit Python und Linux-Bordmitteln gegenprüfen.
Voraussetzungen
- Einen aktuellen Browser mit JavaScript. Eine Anmeldung ist nicht nötig.
- Für die Gegenprobe ein Terminal mit Python 3; das Modul
uuidgehört zur Standardbibliothek. Unter Linux liefert zusätzlich/proc/sys/kernel/random/uuidzufällige UUIDs, unter WindowsNew-Guidin der PowerShell. - Wenn Sie UUIDs einsetzen wollen: Zugriff auf die Datenbank, die Anwendung oder die Konfiguration, in die sie gehören.
- Grundwissen zu Hexadezimalzahlen, also den Ziffern 0 bis 9 und a bis f.
Kurz zur Grundlage: Eine UUID (Universally Unique Identifier) ist eine 128-Bit-Kennung, die ohne zentrale Vergabestelle eindeutig sein soll. Geschrieben wird sie als 32 Hexziffern im Schema 8-4-4-4-12. Maßgeblich ist heute RFC 9562, der RFC 4122 ablöst. Die erste Ziffer der dritten Gruppe ist die Version, die erste Ziffer der vierten Gruppe enthält die Variante; bei UUIDs nach RFC 9562 ist sie 8, 9, a oder b. Microsoft nennt dasselbe Format GUID und schreibt es oft groß mit geschweiften Klammern.
Schritt 1: Tool öffnen und Version wählen
Öffnen Sie s-edv.com/tools/uuid. Oben stehen „Läuft komplett in Ihrem Browser“, „Keine Daten an einen Server“ und „Ohne Anmeldung, ohne Tracking“. Beim Laden erzeugt das Tool sofort fünf UUIDs der Version 4. Im Bereich „UUIDs erzeugen“ wählen Sie den Typ:
| Auswahl | Inhalt | Einsatz |
|---|---|---|
| „v4 zufällig“ | 122 zufällige Bits | Standardfall für IDs in Datenbanken, APIs, öffentlichen URLs |
| „v7 sortierbar“ | 48 Bit Unix-Zeit in Millisekunden plus Zufall | Datenbankschlüssel mit vielen Einfügungen |
| „Nil“ | alle Bits 0 | Platzhalter für „keine UUID“ |
| „Max“ | alle Bits 1 | Obergrenze, etwa für Bereichsabfragen |
Der Unterschied zwischen v4 und v7 ist für Datenbanken wichtig. Version 4 verteilt neue Schlüssel zufällig über den ganzen B-Baum-Index, was bei vielen Einfügungen Seitenteilungen und Cache-Verluste verursacht. Version 7 beginnt mit einem Zeitstempel, neue Werte landen am Ende des Index. Der Preis: Jede v7-UUID verrät ihre Erzeugungszeit. Für Kennungen in öffentlichen Links ist Version 4 deshalb die bessere Wahl.
Verifizieren: Rechts neben der Liste steht unter „TYP“ die gewählte Version, etwa „Version 7“, und in jeder UUID ist die Versionsziffer an der 13. Stelle sichtbar, also xxxxxxxx-xxxx-7xxx-….
Schritt 2: Anzahl und Format festlegen
Unter „Anzahl“ tragen Sie einen Wert von 1 bis 1000 ein oder nutzen die Schnellwahl „1“, „5“, „10“ und „100“. Werte außerhalb des Bereichs lehnt das Feld ab; im Test meldete der Browser bei 0 „Wert muss größer als oder gleich 1 sein“ und bei 1001 „Wert muss kleiner als oder gleich 1000 sein“, die Liste blieb dabei unverändert.
Das Format passen Sie mit drei Einstellungen an:
- „Großbuchstaben“ für Windows-Werkzeuge und die Registry. Beim Einlesen spielt die Schreibweise keine Rolle.
- „Ohne Bindestriche“ ergibt 32 Zeichen, etwa für Dateinamen oder Systeme, die nur Hex akzeptieren.
- „Hülle“ mit „keine“, „{…}“ für die Registry-Schreibweise oder „urn:uuid:“ für URN-Felder, etwa in XML oder SAML-Metadaten.
Unter „LÄNGE“ zeigt das Tool die Zeichenzahl je UUID: 36 im Normalformat, 32 ohne Bindestriche, 41 mit URN-Präfix ohne Bindestriche. „Neu erzeugen“ erstellt frische Werte; steht der Fokus auf der Liste, tun das laut Hinweis auch Leertaste oder Enter. „Kopieren“ übernimmt alle Werte in die Zwischenablage, „.txt“ speichert sie als Datei, im Test mit dem Namen uuids-v4-1000.txt für 1000 Werte der Version 4.
Bei Version 7 erscheint zusätzlich „ZEITSTEMPEL“ mit Uhrzeit und Datum in Ortszeit. Innerhalb derselben Millisekunde zählt der Generator laut Seite den Zufallsteil hoch, damit die Werte streng aufsteigend bleiben. Im Test war eine Liste von 100 v7-UUIDs exakt sortiert.
Verifizieren: Speichern Sie die Liste als Datei und prüfen Sie Eindeutigkeit, Version und Sortierung mit Python:
python3 - <<'EOF'
import uuid
lines = [l.strip() for l in open("uuids-v7-100.txt") if l.strip()]
u = [uuid.UUID(l) for l in lines]
print(len(u), len(set(u)), {x.version for x in u}, lines == sorted(lines))
EOF
# 100 100 {7} True
Passen Sie den Dateinamen an den Namen Ihres Downloads an. Für v4-Listen ist die Sortierung natürlich False.
Schritt 3: Eine vorhandene UUID prüfen und zerlegen
Im Bereich „UUID prüfen und zerlegen“ fügen Sie eine UUID in das Feld „UUID oder GUID“ ein. Das Tool akzeptiert sie auch mit geschweiften Klammern, mit urn:uuid: oder ohne Bindestriche. „Erste übernehmen“ setzt die erste erzeugte UUID ein, die Knöpfe „Beispiel v1“, „Beispiel v6“, „Beispiel v7“ und „Beispiel v4“ laden Muster.
Oben steht das Urteil, etwa „Gültige UUID, Version 4“. Darunter zeigt das Tool die fünf Gruppen mit ihren Feldnamen (bei Version 1 etwa time_low, time_mid, ver, time_high, node, bei Version 7 unix_ts_ms, rand_a, rand_b) und eine Tabelle mit „Normalform“, „Version“, „Variante“, „Großbuchstaben“, „URN“, „Registry-Schreibweise“ und „Als Zahl (128 Bit)“. Die Normalform ist praktisch, um eine Windows-GUID in die kleingeschriebene Form für Linux oder PostgreSQL zu bringen.
Namensbasierte UUIDs erkennt das Tool ebenfalls: Version 3 mit dem Hinweis auf MD5, Version 5 auf SHA-1. Nil- und Max-UUID erscheinen als „Nil-UUID“ bzw. „Max-UUID“.
Verifizieren: Python bestätigt Version, Variante und die 128-Bit-Zahl. Für das Beispiel v4 zeigt das Tool 193491124287564075115561252409011423400:
python3 -c 'import uuid; u=uuid.UUID("{919108F7-52D1-4320-9BAC-F847DB4148A8}"); print(u, u.version, u.variant, u.int)'
# 919108f7-52d1-4320-9bac-f847db4148a8 4 specified in RFC 4122 193491124287564075115561252409011423400
Schritt 4: Zeitstempel aus Version 1, 6 und 7 auslesen
Bei zeitbasierten UUIDs zeigt das Tool zusätzlich „Zeitstempel (UTC)“ und „Ortszeit“. Version 1 und 6 zählen 100-Nanosekunden-Schritte seit dem 15. Oktober 1582, dem Beginn des gregorianischen Kalenders; das Tool nennt den Rohwert mit. Dazu kommen „Clock-Sequence“ und „Knoten-ID“. Ist in der Knoten-ID das Multicast-Bit gesetzt, weist das Tool darauf hin, dass es sich um eine zufällige Kennung und keine echte MAC-Adresse handelt. Bei echten v1-UUIDs kann die Knoten-ID dagegen die Netzwerkkarte des erzeugenden Rechners verraten, ein Grund, warum RFC 9562 für neue Anwendungen Version 7 empfiehlt.
Version 7 enthält Millisekunden seit dem 1. Januar 1970. Das ist im Alltag nützlich: Taucht in einem Log eine unbekannte v7-ID auf, sehen Sie sofort, wann der Datensatz entstand. Die Versionen 3, 4, 5 und 8 enthalten keinen auslesbaren Zeitstempel.
Verifizieren: Rechnen Sie den Zeitstempel nach. Das Beispiel v7 017f22e2-79b0-7cc3-98c4-dc0c0c07398f und das Beispiel v1 ergeben im Tool beide den 22. Februar 2022, 19:22:22 Uhr UTC:
python3 - <<'EOF'
import uuid, datetime as d
v7 = "017f22e2-79b0-7cc3-98c4-dc0c0c07398f"
print(d.datetime.fromtimestamp(int(v7[:8] + v7[9:13], 16) / 1000, d.timezone.utc))
v1 = uuid.UUID("c232ab00-9414-11ec-b3c8-9f6bdeced846")
print(d.datetime(1582, 10, 15) + d.timedelta(microseconds=v1.time // 10), v1.clock_seq, hex(v1.node))
EOF
# 2022-02-22 19:22:22+00:00
# 2022-02-22 19:22:22 13256 0x9f6bdeced846
Schritt 5: UUIDs richtig einsetzen
Ein paar Regeln aus der Praxis, damit die Werte aus dem Tool auch gut ankommen:
- Datenbanken: Speichern Sie UUIDs in einem eigenen Datentyp oder binär mit 16 Byte statt als Text mit 36 Zeichen. PostgreSQL bringt den Typ
uuidmit,gen_random_uuid()erzeugt dort Version-4-Werte. Wie Sie PostgreSQL sauber aufsetzen, zeigt die Anleitung PostgreSQL nativ installieren und absichern. - Dateisysteme: Laufwerke bindet man in der
/etc/fstabüberUUID=…ein, weil sich Gerätenamen wie/dev/sdb1ändern können. Diese UUID vergibt das Dateisystem selbst;sudo blkidzeigt sie an. Erzeugen Sie dafür keine eigene im Tool. Details stehen in Festplatten unter Linux einbinden. - Geheimnisse: Eine UUID ist eine Kennung, kein Passwort. Auch wenn Version 4 viel Zufall enthält, landet sie in Logs und URLs. Für API-Schlüssel und Tokens nutzen Sie den Passwort-Generator oder die Werkzeuge Ihrer Anwendung.
Verifizieren: Eine in PostgreSQL eingefügte UUID muss in Normalform zurückkommen, egal ob Sie sie groß, mit Klammern oder ohne Bindestriche übergeben haben: SELECT '{919108F7-52D1-4320-9BAC-F847DB4148A8}'::uuid; liefert 919108f7-52d1-4320-9bac-f847db4148a8.
Typische Fehler
- „Ungültiges Zeichen „x““: Die Meldung nennt das erste Zeichen außerhalb von 0 bis 9, a bis f und Bindestrich. Häufig ein kopiertes Leerzeichen am Rand, ein O statt 0 oder ein Buchstabe wie g.
- „Eine UUID hat 32 Hex-Ziffern, hier sind es 31.“: Beim Kopieren ging ein Zeichen verloren. Erscheint bei Eingaben ohne Bindestriche.
- „Die Bindestriche stehen falsch.“: Das Schema 8-4-4-4-12 stimmt nicht. Die Meldung erscheint im Test auch, wenn mit Bindestrichen nur eine Ziffer am Ende fehlt; zählen Sie dann die letzte Gruppe nach.
- „Gültiges Format, andere Variante“: Die Variantenziffer ist nicht 8, 9, a oder b. Das Tool nennt „Microsoft, abwärtskompatibel reserviert“ (c oder d) oder „NCS, abwärtskompatibel reserviert“ (0 bis 7). Solche Werte stammen oft aus Altsystemen oder sind selbst gebastelt.
- Version 0: Eine Versionsziffer 0 akzeptiert das Tool als gültig, vermerkt aber, dass Version 0 in RFC 9562 nicht definiert ist. Das deutet auf einen Wert hin, der nur wie eine UUID aussieht.
- v7 in öffentlichen URLs: Der Zeitstempel ist für jeden lesbar. Wenn Erzeugungszeiten vertraulich sind, Version 4 verwenden.
Häufige Fragen
Ist eine GUID dasselbe wie eine UUID?
Im heutigen Sprachgebrauch ja. GUID ist Microsofts Bezeichnung für dasselbe 128-Bit-Format; die meisten GUIDs sind gewöhnliche UUIDs der Version 4.
Wie wahrscheinlich ist eine doppelte UUID?
Bei Version 4 praktisch ausgeschlossen. Für eine 50-prozentige Chance auf ein einziges doppeltes Paar bräuchte man etwa 2,7 mal 10 hoch 18 UUIDs. Voraussetzung ist ein guter Zufallsgenerator; das Tool nutzt laut Seite crypto.getRandomValues des Browsers.
Werden meine UUIDs übertragen?
Laut Seite nein. Im Test lud die Seite beim Erzeugen und Prüfen keine weiteren Ressourcen nach, und die Adresszeile blieb ohne Daten.
Kann ich Version 3 oder 5 erzeugen?
Nein, das Tool erzeugt nur v4, v7, Nil und Max; v3 und v5 kann es prüfen. Namensbasierte UUIDs erzeugen Sie mit Python, etwa uuid.uuid5(uuid.NAMESPACE_DNS, "python.org").
Testumfang
Das Tool wurde am 1. Oktober 2026 in einem aktuellen Chromium mit allen vier Typen, allen Formatoptionen, Listen bis 1000 Werte, sämtlichen Beispielen und mehreren gültigen und fehlerhaften Eingaben ausprobiert. Je 100 erzeugte v4- und v7-UUIDs waren eindeutig, trugen die richtige Version und Variante, und die v7-Liste war streng sortiert. Zeitstempel, Clock-Sequence, Knoten-ID und 128-Bit-Zahl stimmten mit dem Python-Modul uuid überein.
Fazit
Der UUID-Generator erledigt beide Alltagsaufgaben zuverlässig: schnell viele saubere UUIDs im gewünschten Format erzeugen und fremde UUIDs verstehen, inklusive Erzeugungszeit bei Version 1, 6 und 7. Für neue Datenbankschlüssel mit vielen Einfügungen spricht viel für Version 7, für öffentlich sichtbare Kennungen bleibt Version 4 die richtige Wahl. Speichern Sie UUIDs im passenden Datentyp und verwechseln Sie sie nie mit Geheimnissen. Für Skripte und Automatisierung sind Pythons uuid und /proc/sys/kernel/random/uuid die naheliegenden Gegenstücke.


