Skip to content

UUID-Generator & -Dekodierer — v1, v4, v5, v7 Stapelmodus

Kostenloser UUID-Generator — v1-, v4-, v5-, v7-UUIDs sofort erstellen. Beliebige UUID dekodieren & validieren. Bis zu 50 auf einmal. Ohne Anmeldung, 100 % browserbasiert.

Kein Tracking Läuft im Browser Kostenlos
Alle UUIDs werden lokal in Ihrem Browser generiert. Keine Daten werden an einen Server gesendet.
Geprüft auf RFC-9562-Konformität und strukturelle Korrektheit — Go Tools Engineering Team · Mar 22, 2026

Was ist ein UUID-Generator?

Eine UUID (Universally Unique Identifier) ist ein 128-Bit global eindeutiger Bezeichner, der durch RFC 9562 (IETF, Mai 2024) standardisiert ist und dazu dient, kollisionsfreie IDs in verteilten Systemen ohne zentrale Koordination zu erzeugen. UUIDs sind das am weitesten verbreitete Bezeichnerformat in moderner Software — eingesetzt in Datenbank-Primärschlüsseln, API-Request-Tracing, Sitzungsverwaltung und Microservice-Architekturen.

UUIDs werden als 32 Hexadezimalziffern im kanonischen 8-4-4-4-12-Format geschrieben, beispielsweise `550e8400-e29b-41d4-a716-446655440000`. Die Spezifikation wird von der IETF gepflegt; RFC 9562 ersetzt den früheren RFC 4122 (2005) und führt offiziell die UUID-Versionen 6, 7 und 8 ein.

Es gibt fünf weit verbreitete UUID-Versionen. Version 1 (v1) kodiert den aktuellen Zeitstempel und die MAC-Adresse des erzeugenden Geräts, wodurch jede UUID sowohl zeitlich als auch räumlich eindeutig ist. Version 3 (v3) und Version 5 (v5) sind deterministisch — sie hashen einen Namensraum und einen Namen mit MD5 bzw. SHA-1 und erzeugen für dieselben Eingaben immer dieselbe UUID. Version 4 (v4) ist die gebräuchlichste: Sie füllt 122 Bits mit kryptografisch sicheren Zufallsdaten und bietet über 5,3 × 10³⁶ mögliche Werte (RFC 9562, Abschnitt 5.4). Version 7 (v7) ist der neueste Standard: Wie RFC 9562 Abschnitt 5.7 besagt, „UUID version 7 features a time-ordered value field derived from the widely implemented and well-known Unix Epoch timestamp source“ — sie kombiniert einen 48-Bit-Millisekunden-Zeitstempel mit Zufallsdaten, um UUIDs zu erzeugen, die sowohl eindeutig als auch natürlich nach Erstellungszeit sortierbar sind.

UUIDs sind in verteilten Systemen, Datenbanken, APIs und überall dort unverzichtbar, wo eindeutige Bezeichner ohne zentrale Koordination benötigt werden. Sie eliminieren das Risiko von ID-Kollisionen über unabhängige Systeme hinweg und eignen sich daher ideal für Microservices, Event Sourcing und mandantenfähige Architekturen.

Dieses Tool generiert alle UUID-Versionen vollständig in Ihrem Browser mit der Web Crypto API — es werden keine UUIDs an einen Server übermittelt. Im Gegensatz zu serverbasierten Generatoren gibt es keine Uploads, keine Protokollierung und keine Datenspeicherung. Sicher verwendbar für Produktions-Datenbankschlüssel, API-Bezeichner und sicherheitskritische Anwendungen. Sie können auch vorhandene UUIDs dekodieren und validieren, um deren Version, Variante und eingebettete Daten zu prüfen.

UUIDs sind eng mit anderen Entwickler-Grundbausteinen verbunden. UUID v1 und v7 betten Unix-Zeitstempel direkt ein, UUID v3 und v5 verwenden MD5- und SHA-1-Hashes als Grundlage, und UUID-Zeichenketten werden häufig in JSON-Payloads transportiert, die am besten mit einem JSON-Formatierer untersucht werden. Für eine umfassende Einführung in das UUID-Format, die Versionen und Praxisanwendungen lesen Sie unseren vollständigen UUID-Leitfaden. Wenn Sie zwischen UUID v4, v7, ULID und Snowflake-IDs für einen Datenbank-Primärschlüssel wählen, lesen Sie unseren ID-Auswahlvergleich.

// Generate a UUID v4 using the Web Crypto API
const uuid = crypto.randomUUID();
console.log(uuid);
// → '550e8400-e29b-41d4-a716-446655440000'

// Manual v4 generation with crypto.getRandomValues()
function generateUUIDv4() {
  const bytes = new Uint8Array(16);
  crypto.getRandomValues(bytes);
  bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4
  bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10
  const hex = Array.from(bytes, b => b.toString(16).padStart(2, '0')).join('');
  return `${hex.slice(0,8)}-${hex.slice(8,12)}-${hex.slice(12,16)}-${hex.slice(16,20)}-${hex.slice(20)}`;
}

Hauptfunktionen

UUID-v7-Unterstützung (RFC 9562)

Generieren Sie das neueste UUID-v7-Format mit eingebetteten Unix-Zeitstempeln für zeitgeordnete, datenbankfreundliche Bezeichner. Eines der wenigen Online-Tools, das den RFC-9562-Standard unterstützt.

UUID-Dekodierer & -Validierer

Analysieren Sie jede UUID, um Version, Variante, Zeitstempel (v1/v7), Taktsequenz und Knoteninformationen offenzulegen. Validieren Sie sofort, ob eine Zeichenkette eine korrekt formatierte UUID ist.

Mehrversionen-Unterstützung

Generieren Sie UUIDs in fünf Versionen — v1 (zeitbasiert), v3 (MD5), v4 (zufällig), v5 (SHA-1) und v7 (zeitgeordnet zufällig) — alle konform zu RFC 9562.

Stapelgenerierung

Generieren Sie bis zu 50 eindeutige UUIDs auf einmal. Jede UUID wird unabhängig mit vollständiger kryptografischer Zufälligkeit oder korrekter versionsspezifischer Kodierung erzeugt.

Mehrere Ausgabeformate

UUIDs in Standard-Kleinschreibung, GROSSBUCHSTABEN, ohne Bindestriche oder im Format mit geschweiften Klammern {GUID} ausgeben — passend zum exakten Format, das Ihr System oder Framework erfordert.

Kryptografisch sicher

Verwendet die Web Crypto API (crypto.getRandomValues()) für echte Zufallszahlengenerierung — derselbe Standard, der von modernen Browsern und Sicherheitstools verwendet wird.

100 % browserbasiert

Alle UUIDs werden lokal in Ihrem Browser generiert. Nichts wird an einen Server gesendet — Ihre generierten Bezeichner bleiben vollständig privat.

UUID-Versionen im Vergleich

Wählen Sie die richtige UUID-Version für Ihren Anwendungsfall.

Version Basis Sortierbar Datenschutz Geeignet für
v1 Zeitstempel + MAC-Adresse Nach Erstellungszeit Gibt MAC & Zeit preis Ältere Systeme, die zeitbasierte Sortierung erfordern
v4 122 Bits kryptografischer Zufall Nein Vollständig anonym Allgemeiner Einsatz — meistverwendete Version
v5 SHA-1-Hash aus Namensraum + Name Nein Deterministisch, reproduzierbar Konsistente IDs aus bekannten Eingaben (URLs, DNS)
v7 Unix-Zeitstempel (ms) + Zufall Nach Erstellungszeit Gibt nur Erstellungszeit preis Moderne Datenbanken — sortierbar, indexfreundlich (RFC 9562)

Alternativen zu UUID

ULID

26 Zeichen, Crockford Base32

Lexikografisch sortierbar wie UUID v7, verwendet aber Crockford-Base32-Kodierung (26 Zeichen vs. 36). UUID v7 ist jetzt die IETF-standardisierte Alternative mit breiterer Tooling-Unterstützung.

nanoid

21 Zeichen, URL-sicheres Alphabet

Kürzer und URL-sicher, ideal wenn Kompaktheit wichtig ist. Kein formaler Standard — es fehlen native Datenbanktypen und plattformübergreifende Bibliotheken, die UUID bietet.

CUID2

Variable Länge, alphanumerisch

Entwickelt für horizontale Skalierung mit Kollisionsresistenz. Weniger weit verbreitet als UUID; keine native Datenbankunterstützung. Für standardisierte zeitsortierte IDs empfiehlt sich UUID v7.

Beispiele

UUID v4 (Zufällig)

550e8400-e29b-41d4-a716-446655440000

Die am häufigsten verwendete Version. 122 Bits kryptografischer Zufälligkeit bieten über 5,3 × 10^36 mögliche Werte — geeignet für praktisch jeden Anwendungsfall, bei dem Eindeutigkeit ohne Koordination erforderlich ist.

UUID v7 (Zeitgeordnet)

01906b5e-4a3e-7234-8f56-b8c12d4e5678

Kombiniert einen 48-Bit-Unix-Zeitstempel in Millisekunden mit Zufallsdaten. UUIDs sortieren sich chronologisch, was sie ideal für Datenbank-Primärschlüssel macht, bei denen Index-Lokalität wichtig ist. Für neue Projekte gegenüber v1 und v4 empfohlen.

UUID v1 (Zeitbasiert)

6ba7b810-9dad-11d1-80b4-00c04fd430c8

Kodiert einen 60-Bit-Zeitstempel und die 48-Bit-MAC-Adresse des erzeugenden Geräts. Garantiert Eindeutigkeit in Zeit und Raum, kann aber Hardware-Identitätsinformationen preisgeben. Durch v6/v7 in RFC 9562 abgelöst.

UUID v5 (SHA-1-namensbasiert)

886313e1-3b8a-5372-9b90-0c9aee199e5d

Deterministische UUID, generiert durch Hashing des DNS-Namensraums mit dem Namen 'python.org' unter Verwendung von SHA-1. Derselbe Namensraum und Name erzeugen immer dieselbe UUID, was v5 ideal für reproduzierbare Bezeichner macht.

Anleitung

  1. 1

    UUID-Version auswählen

    Wählen Sie zwischen v1 (zeitbasiert), v3 (MD5-namensbasiert), v4 (zufällig), v5 (SHA-1-namensbasiert) oder v7 (zeitgeordnet zufällig). Jede Version dient einem anderen Zweck — v4 ist die gebräuchlichste für den allgemeinen Einsatz.

  2. 2

    Optionen konfigurieren

    Für v3 und v5 wählen Sie einen Namensraum (DNS, URL, OID, X.500 oder benutzerdefiniert) und geben einen zu hashenden Namen ein. Legen Sie die Anzahl von 1 bis 50 fest und wählen Sie ein Ausgabeformat: Standard-Kleinschreibung, GROSSBUCHSTABEN, ohne Bindestriche oder geschweifte Klammern {GUID}.

  3. 3

    UUIDs generieren

    Klicken Sie auf die Schaltfläche „Generieren“. Jede UUID wird mit der Web Crypto API (crypto.getRandomValues()) für kryptografische Sicherheit erzeugt. Versionsspezifische Felder wie Zeitstempel (v1/v7) und Hashes (v3/v5) werden korrekt kodiert.

  4. 4

    Kopieren und verwenden

    Klicken Sie auf die Schaltfläche „Kopieren“ neben einer UUID, um sie in Ihre Zwischenablage zu kopieren, oder verwenden Sie „Alle kopieren“, um alle generierten UUIDs auf einmal zu erfassen. Wechseln Sie zum Tab „Dekodieren“, um Version, Variante, Zeitstempel und weitere eingebettete Informationen einer vorhandenen UUID zu analysieren.

Häufige Anwendungsfälle

Datenbank-Primärschlüssel
Verwenden Sie UUID v4 oder v7 als eindeutige Primärschlüssel ohne Koordination zwischen Datenbankknoten. UUID v7 eignet sich besonders gut, da die zeitgeordnete Eigenschaft die B-Baum-Index-Leistung verbessert.
Verteilte Systeme
Generieren Sie eindeutige Bezeichner unabhängig über Microservices, Nachrichtenwarteschlangen und Event-Sourcing-Systeme hinweg. UUIDs machen einen zentralen ID-Generierungsdienst überflüssig.
API-Entwicklung
Erstellen Sie eindeutige Request-IDs, Korrelations-IDs und Idempotenz-Schlüssel für RESTful- und GraphQL-APIs. UUIDs erleichtern die Nachverfolgung von Anfragen über verteilte Dienstgrenzen hinweg.
Sitzungs- & Token-Verwaltung
Generieren Sie eindeutige Sitzungsbezeichner und temporäre Token für Authentifizierungsflows. UUIDs bieten ausreichende Eindeutigkeit, um Sitzungskollisionen bei großen Nutzerbasen zu verhindern.
Testen & Entwicklung
Generieren Sie schnell Testdaten, Mock-Bezeichner und eindeutige Fixture-IDs für automatisierte Tests. Die Stapelgenerierung erleichtert das Befüllen von Entwicklungsdatenbanken und Testsuiten.

Technische Details

UUID-Struktur
Eine UUID umfasst 128 Bits (16 Bytes), dargestellt als 32 Hexadezimalzeichen im Format 8-4-4-4-12. Die Bits 48-51 (die 13. Hexadezimalziffer) kodieren die Versionsnummer. Die Bits 64-65 kodieren das Variantenfeld, das das UUID-Layout identifiziert. Die übrigen Bits tragen die versionsspezifische Nutzlast: Zeitstempel, Zufallsdaten oder Hash-Ausgabe.
Versionsbits
Die Bits 48-51 (das obere Nibble des 7. Bytes) kodieren die UUID-Version: 0001 = v1 (zeitbasiert), 0011 = v3 (MD5-namensbasiert), 0100 = v4 (zufällig), 0101 = v5 (SHA-1-namensbasiert), 0110 = v6 (umsortierte Zeit), 0111 = v7 (Unix-Epoch-Zeit). Diese vier Bits werden bei der Generierung immer explizit gesetzt.
Variantenfeld
Die Bits 64-65 (die zwei höchstwertigen Bits des 9. Bytes) definieren die Variante. Das Muster 10x kennzeichnet RFC-4122/9562-UUIDs (die überwiegende Mehrheit). Das Muster 110 kennzeichnet Microsoft-GUIDs mit gemischter Byte-Reihenfolge (Mixed-Endian). Das Muster 0xx kennzeichnet NCS-rückwärtskompatible UUIDs (veraltet). Das Muster 111 ist für zukünftige Verwendung reserviert.
RFC-9562-Standard
RFC 9562, veröffentlicht im Mai 2024, ersetzt RFC 4122 als die maßgebliche UUID-Spezifikation. Er führt offiziell die UUID-Versionen 6, 7 und 8 ein. Version 6 ordnet v1-Felder für Sortierbarkeit um. Version 7 verwendet einen 48-Bit-Unix-Zeitstempel in Millisekunden plus Zufallsdaten und ist damit die empfohlene Version für neue zeitbasierte UUIDs. Version 8 bietet ein Format für benutzerdefinierte, implementierungsspezifische UUIDs. RFC 9562 stuft v1 offiziell zugunsten von v6/v7 als veraltet ein.

Best Practices

Die richtige Version wählen
Verwenden Sie v4 für allgemeine eindeutige Bezeichner, bei denen weder Sortierung noch Determinismus benötigt werden. Verwenden Sie v7 für Datenbank-Primärschlüssel — die zeitgeordnete Eigenschaft liefert deutlich bessere Index-Leistung. Verwenden Sie v5, wenn Sie deterministische IDs aus Namen ableiten müssen (bevorzugen Sie v5 gegenüber v3 für stärkeres Hashing).
UUID v7 für Datenbank-Primärschlüssel verwenden
Die zeitgeordnete Struktur von UUID v7 hält B-Baum-Einfügungen sequenziell und reduziert die Indexfragmentierung um etwa 90 % im Vergleich zu zufälligen v4-UUIDs. Dies bedeutet schnellere Schreibvorgänge, kleinere Indizes und bessere Cache-Nutzung. Die meisten modernen Datenbanken (PostgreSQL 17+, MySQL 8.0+) bieten native UUID-Unterstützung, die für dieses Muster optimiert ist.
UUIDs niemals als Sicherheitstoken verwenden
UUIDs sind für Eindeutigkeit konzipiert, nicht für Geheimhaltung. UUID v1 gibt den Generierungszeitstempel und die MAC-Adresse preis. UUID v4 hat nur 122 Bits Entropie mit einer vorhersagbaren Struktur. Für Sicherheitstoken, API-Schlüssel oder Sitzungsgeheimnisse verwenden Sie einen dedizierten CSPRNG, um 128 oder 256 Bits reiner Zufallsdaten ohne den UUID-Struktur-Overhead zu generieren.
Vor dem Parsen validieren
Validieren Sie das UUID-Format immer mit einem regulären Ausdruck, bevor Sie es parsen oder speichern. Weisen Sie fehlerhafte Eingaben an Systemgrenzen zurück — API-Endpunkte, Formularübermittlungen und Datenbankeingaben. Dies verhindert Injektionsangriffe, Datenkorruption und schwer zu debuggende Fehler durch ungültige Bezeichner, die sich durch Ihr System ausbreiten.

Häufig gestellte Fragen

Was ist eine UUID?
Eine UUID (Universally Unique Identifier) ist ein 128-Bit-Bezeichner, der durch RFC 9562 standardisiert ist. Sie wird als 32 Hexadezimalziffern in fünf durch Bindestriche getrennten Gruppen im Format 8-4-4-4-12 geschrieben — beispielsweise 550e8400-e29b-41d4-a716-446655440000. UUIDs sind so konzipiert, dass sie global eindeutig sind, ohne eine zentrale Registrierungsstelle zu benötigen. Der Begriff GUID (Globally Unique Identifier) ist Microsofts Bezeichnung für dasselbe Konzept und verwendet das identische Format. UUIDs werden umfassend in Datenbanken, verteilten Systemen, APIs und der Softwareentwicklung überall dort eingesetzt, wo eindeutige Bezeichner benötigt werden. Mit über 5,3 × 10^36 möglichen v4-UUIDs ist die Wahrscheinlichkeit, ein Duplikat zu erzeugen, astronomisch gering, was sie für die unabhängige Generierung in nicht koordinierten Systemen sicher macht.
Was sind die Unterschiede zwischen den UUID-Versionen?
UUID v1 kodiert einen 60-Bit-Zeitstempel und die 48-Bit-MAC-Adresse des Geräts und garantiert Eindeutigkeit in Zeit und Raum, gibt aber möglicherweise die Hardware-Identität preis. UUID v3 hasht einen Namensraum und einen Namen mit MD5 zu einer deterministischen UUID — dieselben Eingaben ergeben immer dasselbe Ergebnis. UUID v4 füllt 122 ihrer 128 Bits mit kryptografisch sicheren Zufallsdaten und ist damit die meistverwendete Version für allgemeine eindeutige Bezeichner. UUID v5 ist identisch mit v3, verwendet aber SHA-1 statt MD5 und bietet stärkere Hash-Kollisionsresistenz. UUID v7, eingeführt in RFC 9562 (Mai 2024), bettet einen 48-Bit-Unix-Zeitstempel in Millisekunden ein, gefolgt von Zufallsbits, und erzeugt UUIDs, die sowohl eindeutig als auch natürlich nach Erstellungszeit sortierbar sind. Die Versionswahl hängt von Ihren Anforderungen ab: v4 für Einfachheit, v5 für Determinismus und v7 für zeitsortierbare Datenbankschlüssel.
Wann sollte ich UUID v4 statt v7 verwenden?
UUID v4 ist die beliebteste Version und eine hervorragende Standardwahl. Sie generiert 122 Bits reiner Zufälligkeit, erfordert keine Konfiguration und funktioniert überall. Verwenden Sie v4, wenn Sie einfach einen eindeutigen Bezeichner benötigen und die Sortierung keine Rolle spielt. UUID v7 ist die bessere Wahl, wenn UUIDs als Datenbank-Primärschlüssel verwendet werden oder nach Erstellungszeit sortiert werden müssen. Da v7 einen Millisekunden-genauen Zeitstempel in den höchstwertigen Bits einbettet, sortieren sich v7-UUIDs natürlich in chronologischer Reihenfolge. Diese Eigenschaft verbessert die B-Baum-Index-Leistung dramatisch — Einfügungen landen immer am Ende des Index statt an zufälligen Positionen, wodurch Seitenaufspaltungen und Fragmentierung um bis zu 90 % reduziert werden. Für neue Projekte in 2026 lautet die allgemeine Empfehlung: v7 für Datenbankschlüssel und v4 für alles andere. Beide Versionen sind gleichermaßen eindeutig und in ihren Zufallsanteilen kryptografisch zufällig.
Wie hoch ist die Wahrscheinlichkeit einer UUID-Kollision?
UUID v4 hat 122 Zufallsbits, was 2^122 (ungefähr 5,3 × 10^36) mögliche Werte ergibt. Um eine 50%ige Wahrscheinlichkeit für mindestens eine Kollision zu erreichen, müssten Sie etwa 2,71 × 10^18 UUIDs generieren — das sind 2,71 Trillionen. Zur Veranschaulichung: Würden Sie eine Milliarde UUIDs pro Sekunde generieren, würde es etwa 86 Jahre dauern, um eine 50%ige Kollisionswahrscheinlichkeit zu erreichen. Bei realistischeren Generierungsraten ist die Wahrscheinlichkeit verschwindend gering. Die Generierung von 10 Millionen UUIDs ergibt beispielsweise eine Kollisionswahrscheinlichkeit von ungefähr 1 zu 10^22. In der Praxis sind Hardwarefehler, Softwarefehler und menschliches Versagen milliardenfach wahrscheinlicher als UUID-v4-Kollisionen. Die Berechnung basiert auf der Geburtstagsparadoxon-Formel: p(n) ≈ n² / (2 × 2^122).
Was ist der Unterschied zwischen UUID und GUID?
UUID (Universally Unique Identifier) und GUID (Globally Unique Identifier) sind im Wesentlichen dasselbe. GUID ist der von Microsoft geprägte Begriff und wird vorwiegend in Windows-, .NET-, COM- und SQL-Server-Umgebungen verwendet. UUID ist der in RFC 9562 (und dem Vorgänger RFC 4122) definierte Standardbegriff und wird in den meisten anderen Kontexten verwendet, einschließlich Linux, Java, Python, PostgreSQL und Webentwicklung. Beide verwenden das identische 128-Bit-Format, dargestellt als 32 Hexadezimalziffern im 8-4-4-4-12-Muster. Der einzige geringfügige Unterschied: Microsoft-Tools zeigen GUIDs manchmal in Großbuchstaben mit geschweiften Klammern an, wie {550E8400-E29B-41D4-A716-446655440000}, während UUIDs üblicherweise in Kleinbuchstaben ohne Klammern dargestellt werden. Dieses Tool unterstützt beide Formate über die Formatauswahl — wählen Sie das Format „Mit geschweiften Klammern {GUID}“ für Microsoft-typische Ausgabe.
Ist UUID v4 kryptografisch sicher?
Wenn UUID v4 mit crypto.getRandomValues() oder einem gleichwertigen CSPRNG (kryptografisch sicherer Pseudozufallszahlengenerator) erzeugt wird, enthält sie 122 Bits kryptografisch sicherer Zufallsdaten. Dieses Tool verwendet die Web Crypto API, die Entropie aus der sicheren Zufallsquelle des Betriebssystems bezieht. Allerdings sollten UUIDs nicht als Sicherheitstoken, Passwörter oder Verschlüsselungsschlüssel verwendet werden. Obwohl 122 Bits Zufälligkeit eine Vorhersage unmöglich machen, haben UUIDs eine vorhersagbare Struktur — das Versions-Nibble (4) und die Variantenbits sind fest und öffentlich bekannt. Für Sicherheitstoken verwenden Sie speziell dafür entwickelte APIs wie crypto.getRandomValues() mit vollen 128 oder 256 Bits Entropie oder etablierte Token-Formate wie JWT. Verwenden Sie UUIDs zur Identifikation, nicht zur Sicherheit.
Wie validiere ich ein UUID-Format?
Eine gültige UUID entspricht dem regulären Ausdruck: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ (Groß-/Kleinschreibung ignorierend). Dieses Muster erzwingt das 8-4-4-4-12-Hexadezimalformat, prüft, dass die Versionsziffer (Position 15) zwischen 1 und 7 liegt, und verifiziert, dass das Varianten-Nibble (Position 20) mit 8, 9, a oder b beginnt (RFC-4122/9562-Variante). In JavaScript validieren Sie mit: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(uuid). Die meisten Programmiersprachen bieten auch eingebautes UUID-Parsing — zum Beispiel Pythons uuid.UUID()-Konstruktor, Javas UUID.fromString() und Gos uuid.Parse(). Validieren Sie UUIDs immer an Systemgrenzen, bevor Sie sie speichern oder verarbeiten, um Injektionsangriffe und Datenkorruption zu verhindern.
Sind UUIDs gute Datenbank-Primärschlüssel? (Leistung, Sicherheit & beste Version)
Ja, UUIDs sind sicher und als Datenbank-Primärschlüssel zunehmend beliebt, wobei UUID v7 die empfohlene Version ist. Die wichtigsten Vorteile: (1) UUIDs können überall generiert werden — auf Clients, Servern oder Edge-Funktionen — ohne Roundtrip zur Datenbank, was Offline-first- und verteilte Architekturen ermöglicht. (2) UUIDs verhindern Enumerationsangriffe, da sie keine sequenziellen Ganzzahlen sind. (3) UUIDs vereinfachen das Zusammenführen von Daten über Systeme hinweg, da IDs niemals kollidieren. UUID v7 ist die beste Version für Primärschlüssel, da ihre zeitgeordnete Struktur B-Baum-Indizes sequenziell hält und Seitenaufspaltungen, Schreibverstärkung und Indexfragmentierung um bis zu 90 % im Vergleich zu zufälligen v4-UUIDs reduziert. Die Nachteile: UUIDs verwenden 16 Bytes gegenüber 4-8 Bytes für Ganzzahlen, was Speicher und Arbeitsspeicher für Indizes erhöht. In MySQL/InnoDB, wo der Primärschlüssel der geclusterte Index ist, können zufällige v4-UUIDs erhebliche Leistungseinbußen verursachen — v7 löst dies, indem Einfügungen immer am Ende des Index angehängt werden, mit einer Leistung vergleichbar zu Auto-Increment-Ganzzahlen. PostgreSQL speichert UUIDs nativ in 16 Bytes mit dem uuid-Typ. Für die meisten modernen Anwendungen überwiegen die Vorteile der global eindeutigen, koordinierungsfreien ID-Generierung die zusätzlichen Speicherkosten bei Weitem.
Was ist eine Namensraum-UUID (v3/v5)?
Eine Namensraum-UUID ist eine vordefinierte oder benutzerdefinierte UUID, die als Geltungsbereich für die Generierung deterministischer v3- und v5-UUIDs dient. RFC 4122 definiert vier Standard-Namensraum-UUIDs: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) und X.500 DN (6ba7b814-9dad-11d1-80b4-00c04fd430c8). Wenn Sie eine Namensraum-UUID mit einer Namenszeichenkette kombinieren, hasht der v3- oder v5-Algorithmus beide zusammen zu einer deterministischen UUID — derselbe Namensraum plus Name erzeugt immer dieselbe UUID. Dies ist nützlich, wenn Sie reproduzierbare Bezeichner aus aussagekräftigen Namen benötigen. Beispielsweise ergibt das Hashing des DNS-Namensraums mit 'example.com' immer dieselbe v5-UUID. Sie können auch jede gültige UUID als benutzerdefinierten Namensraum für das eigene deterministische ID-Schema Ihrer Anwendung verwenden.
Was ist der UUID-Nil-Wert?
Die Nil-UUID (auch Null-UUID genannt) ist 00000000-0000-0000-0000-000000000000 — alle 128 Bits auf Null gesetzt. Sie ist in RFC 9562 Abschnitt 5.9 als spezielle UUID definiert, die das Fehlen eines Wertes darstellen kann, ähnlich wie null oder None in Programmiersprachen. Die Nil-UUID ist nützlich als Sentinel-Wert, als Standard in Konfigurationssystemen oder als Platzhalter in Datenbankeinträgen, in denen ein UUID-Feld nicht leer sein darf, aber noch kein realer Wert existiert. RFC 9562 definiert auch die Max-UUID: ffffffff-ffff-ffff-ffff-ffffffffffff (alle Bits auf Eins), die als Grenzmarkierung dienen kann. Wichtige Einschränkungen: Verwenden Sie die Nil-UUID niemals als tatsächlichen Bezeichner — sie ist nicht eindeutig. Einige UUID-Bibliotheken und Datenbanken lehnen Nil-UUIDs möglicherweise ab oder behandeln sie gesondert. Stellen Sie sicher, dass Ihr System sie konsistent behandelt. Dokumentieren Sie immer, ob Nil-UUIDs in Ihren API-Verträgen und Datenbankschemata akzeptiert werden.
Was ist UUID v7 und warum sollte ich sie verwenden?
UUID v7 ist die neueste UUID-Version, definiert in RFC 9562 (Mai 2024). Sie bettet einen 48-Bit-Unix-Zeitstempel in Millisekunden in die höchstwertigen Bits ein, gefolgt von kryptografisch zufälligen Daten. Dieses Design erzeugt UUIDs, die global eindeutig, chronologisch sortierbar und als Datenbank-Primärschlüssel hocheffizient sind. Im Gegensatz zu UUID v1, die ebenfalls einen Zeitstempel enthält, verwendet v7 ein einfacheres Unix-Epoch-Format und gibt Ihre MAC-Adresse nicht preis. Die zeitgeordnete Struktur reduziert die B-Baum-Indexfragmentierung um bis zu 90 % im Vergleich zu zufälligen UUID v4, was zu schnelleren Einfügungen, kleineren Indizes und besseren Cache-Trefferquoten führt. Für neue Projekte ab 2026 ist UUID v7 die empfohlene Wahl für jedes Szenario, das zeitbasierte Sortierung erfordert — insbesondere Datenbank-Primärschlüssel, Ereignisprotokolle und verteilte Nachrichtenwarteschlangen.
Wie dekodiere ich eine UUID?
Das Dekodieren einer UUID bedeutet, die in ihren 128 Bits kodierten Strukturinformationen zu extrahieren. Jede UUID enthält ein Versionsfeld (Bits 48-51), das die Erzeugungsmethode identifiziert, und ein Variantenfeld (Bits 64-65), das den UUID-Standard angibt. Über diese gemeinsamen Felder hinaus betten verschiedene Versionen unterschiedliche Daten ein: UUID v1 und v6 enthalten einen 60-Bit-Zeitstempel und einen 48-Bit-Knoten (MAC-Adresse); UUID v7 enthält einen 48-Bit-Unix-Zeitstempel in Millisekunden; UUID v3 und v5 enthalten einen gekürzten Hash eines Namensraums und Namens. Um eine UUID zu dekodieren, fügen Sie sie im Tab „Dekodieren“ dieses Tools ein. Es zeigt sofort Version, Variante, Zeitstempel (bei zeitbasierten Versionen) und Gültigkeitsstatus an. Programmatisch können Sie dekodieren, indem Sie die Hexadezimalziffern parsen und Bitoperationen anwenden, um jedes Feld gemäß der RFC-9562-Spezifikation zu extrahieren.
UUID vs. ULID vs. nanoid — was sollte ich verwenden?
UUID, ULID und nanoid dienen demselben grundlegenden Zweck — der Generierung eindeutiger Bezeichner — unterscheiden sich aber in Format, Sortierbarkeit und Standardisierung. UUID ist der am weitesten verbreitete Standard (RFC 9562), nativ unterstützt von praktisch allen Datenbanken, Sprachen und Frameworks. UUID v7 bietet zeitbasierte Sortierung im standardmäßigen 128-Bit-, 36-Zeichen-Format. ULID (Universally Unique Lexicographically Sortable Identifier) existierte vor UUID v7 und verwendet Crockford-Base32-Kodierung für eine 26 Zeichen lange, sortierbare Zeichenkette. Da UUID v7 nun als IETF-Standard existiert, ist ULIDs Hauptvorteil — die Sortierbarkeit — im universellen UUID-Format verfügbar. nanoid generiert kürzere Bezeichner (Standard: 21 Zeichen) mit einem URL-sicheren Alphabet und ist ideal, wenn die Zeichenkettenlänge wichtig ist und keine systemübergreifende Interoperabilität benötigt wird. Für die meisten Anwendungen ist UUID v4 (allgemeiner Einsatz) oder UUID v7 (Datenbankschlüssel) die empfohlene Wahl dank universeller Tooling-Unterstützung, nativer Datenbanktypen und formaler Standardisierung.
Ich baue einen Microservice und muss zwischen UUID v4 und v7 für meine PostgreSQL-Primärschlüssel wählen — was sollte ich verwenden und warum?
Verwenden Sie UUID v7 für PostgreSQL-Primärschlüssel. UUID v7 bettet einen Millisekunden-genauen Unix-Zeitstempel in die höchstwertigen Bits ein, sodass generierte IDs natürlich chronologisch sortiert sind. Dies hält Ihre B-Baum-Indizes sequenziell — Einfügungen werden immer am Ende angehängt statt an zufälligen Positionen zu landen, wodurch Seitenaufspaltungen und Indexfragmentierung um bis zu 90 % im Vergleich zu zufälligen UUID v4 reduziert werden. PostgreSQL 17+ bietet nativen uuid-Typ-Support, der für dieses Muster optimiert ist. UUID v4 ist weiterhin geeignet für nicht indizierte Bezeichner wie Korrelations-IDs oder Sitzungstoken, bei denen die Sortierreihenfolge keine Rolle spielt.
Mein Team diskutiert, ob UUIDs oder Auto-Increment-Ganzzahlen als Datenbank-IDs verwendet werden sollen — welche Vor- und Nachteile gibt es in der Praxis?
Auto-Increment-Ganzzahlen sind kleiner (4-8 Bytes vs. 16 Bytes), schneller zu vergleichen und erzeugen natürlich sequenzielle Indizes. Allerdings erfordern sie eine zentralisierte Sequenz (die Datenbank), was sie in verteilten Systemen, Offline-first-Apps und bei Datenmigrationen problematisch macht. UUIDs können überall generiert werden — auf Clients, Edge-Funktionen, mehreren Datenbanken — ohne Koordination. Sie verhindern auch Enumerationsangriffe (Nutzer können nicht /users/124 erraten, um andere Datensätze zu finden). Der Speicher-Mehraufwand ist real, aber in der Regel akzeptabel: Ein UUID-Index ist ungefähr doppelt so groß wie ein Ganzzahl-Index. Für die meisten modernen Anwendungen bietet UUID v7 das Beste aus beiden Welten — global eindeutig, koordinierungsfrei und sequenziell sortierbar wie Auto-Increment.

Verwandte Werkzeuge

Alle Werkzeuge anzeigen →