UUID Generator

ENTWICKLER-TOOL

UUID Generator

Erzeuge UUIDs nach RFC 4122 und RFC 9562 (v1, v4, v5, v7). Mit Batch-Generierung, Analyse und Format-Optionen für Entwickler.

UUID v4 UUID v1 / v7 UUID v5 Batch

Hinweis: Alle UUIDs werden lokal im Browser mit dem Web Crypto API (crypto.getRandomValues) erzeugt – kryptographisch sicher und ohne Server-Kommunikation. UUIDs folgen RFC 4122 (v1-v5) und RFC 9562 (v6-v8).

Inhaltsverzeichnis

Schnellübersicht

  • UUID v4: Zufällige UUIDs (Standard für die meisten Anwendungen)
  • UUID v1: Zeitbasiert mit MAC-Adresse
  • UUID v5: Deterministisch aus Namespace + Name (SHA-1)
  • UUID v7: Zeitbasiert, sortierbar (RFC 9562, moderne Alternative)
  • Batch: Bis zu 100 UUIDs auf einmal
  • Analyse: Version, Variante, Zeitstempel extrahieren
  • Format: Mit/ohne Bindestriche, Groß/Klein, Base64
  • Theorie: Über UUIDs und deren Verwendung

1. UUID Generator

Wähle eine UUID-Version und konfiguriere die Ausgabe.

UUID v4 – Zufällig
  • 122 zufällige Bits: Kryptographisch sicher (Web Crypto API)
  • Empfohlen für: Die meisten Anwendungen, Datenbanken, IDs
  • Kollisionswahrscheinlichkeit: Praktisch null
1-100 UUIDs
Ausgabe-Format
Sicherheit
UUID-Struktur (128 Bit)
Aufteilung einer UUID v4
UUID-Versionen im Vergleich

UUID v1 – Zeit + MAC

Zeitbasiert mit MAC-Adresse des Rechners:

  • 60 Bit: Zeitstempel (100 ns)
  • 14 Bit: Clock Sequence
  • 48 Bit: Node-ID (MAC)
  • Sortierbar: Nach Zeit
f47ac10b-58cc-11cf-a447-00e02acdb1d2

UUID v4 – Zufällig

122 zufällige Bits – Standard für die meisten Anwendungen:

  • 4 Bit: Version (0100)
  • 2 Bit: Variante (10)
  • 122 Bit: Zufall
  • Nicht sortierbar
550e8400-e29b-41d4-a716-446655440000

UUID v5 – Deterministisch

Aus Namespace + Name via SHA-1:

  • Deterministisch: Reproduzierbar
  • SHA-1: 160-Bit-Hash
  • Empfohlen für: URLs, DNS, Emails
  • Nicht sortierbar
886313e1-3b8a-5372-9b90-0c9aee199e5d

UUID v7 – Zeit + Zufall

Moderne Alternative mit Unix-Zeit und Zufall:

  • 48 Bit: Unix-Zeit (ms)
  • 4 Bit: Version (0111)
  • 74 Bit: Zufall
  • Sortierbar & sicher
017f22e2-79b0-7cc3-98c4-dc0c0c07398f

Wussten Sie schon? Die Wahrscheinlichkeit, dass zwei zufällig generierte UUID v4 kollidieren, ist so gering, dass man ~2,7 × 10¹⁸ UUIDs pro Sekunde über 100 Jahre generieren müsste, um eine 50%-Kollisionschance zu haben. Zum Vergleich: Das sind mehr UUIDs, als es Sekunden seit dem Urknall gibt. Deshalb sind UUIDs der De-facto-Standard für verteilte Systeme – kein zentraler Server nötig, keine Koordination zwischen Knoten!

2. Theorie – UUIDs

Verstehe die Grundlagen von UUIDs und deren Versionen.

Was ist eine UUID?

UUID (Universally Unique Identifier) ist eine 128-Bit-Zahl:

  • 36 Zeichen: 32 Hex + 4 Bindestriche
  • Format: 8-4-4-4-12 Hex-Gruppen
  • Eindeutig: Weltweit kollisionsfrei
  • Standard: RFC 4122 / RFC 9562
  • Beispiel: 550e8400-e29b-41d4-a716-446655440000
8-4-4-4-12 = 32 Hex-Zeichen

UUID v1 vs. v7

Beide sind zeitbasiert und sortierbar:

  • v1: MAC-Adresse als Node-ID (Datenschutz-Problem)
  • v7: Zufällige Node-Bits (Datenschutz)
  • v1: 100-ns-Intervalle seit 1582
  • v7: Unix-Zeit in ms (48 Bit)
v7 ist moderne Alternative zu v1

UUID v3 vs. v5

Beide sind deterministisch:

  • v3: Verwendet MD5 (veraltet)
  • v5: Verwendet SHA-1 (empfohlen)
  • Input: Namespace + Name
  • Standard-Namespaces: DNS, URL, OID, X500
v5 ist sicherer als v3

Best Practices

  • Standard: UUID v4 für die meisten Fälle
  • Datenbanken: UUID v7 als Primärschlüssel
  • Deterministisch: UUID v5 für URLs/Namen
  • v1 vermeiden: MAC-Leak (Datenschutz)
  • Format: Lowercase mit Bindestrich
  • Speicherung: Als BINARY(16) statt CHAR(36)
MySQL: UUID_TO_BIN() für Speicher

Wussten Sie schon? Die NASA hat bei den Apollo-Missionen eine Vorläufer-Technik verwendet: Die "Apollo Guidance Computer"-Programme nutzten 15-Bit-Adressen mit einer Kollisionswahrscheinlichkeit von 1:32.768. Moderne UUIDs hingegen haben 122 Bit Zufall – die Kollisionswahrscheinlichkeit ist so gering, dass man 2,7 × 10¹⁸ UUIDs pro Sekunde über 100 Jahre erzeugen müsste. Selbst wenn jedes Atom im beobachtbaren Universum eine UUID hätte, würden diese nur einen Bruchteil des möglichen Adressraums füllen.

3. Geschichte der UUIDs

Von Apollo zu RFC 9562 – die Evolution der universellen IDs.

1980er

Apollo & OSF DCE

Die Open Software Foundation (OSF) entwickelt im Rahmen des Distributed Computing Environment (DCE) das erste UUID-System. Ziel: Eindeutige IDs in verteilten Systemen.

1993

ISO/IEC 11578

Die ISO standardisiert UUIDs im ISO/IEC 11578-Standard. Erste formale Definition der 128-Bit-Struktur und Versionen.

1998

RFC 4122 – UUID-Standard

RFC 4122 standardisiert UUIDs im Internet. Definiert die Versionen v1 bis v5 sowie die Namespaces DNS, URL, OID und X500. Wird De-facto-Standard.

2005

UUID in Programmiersprachen

Java 5.0, Python 2.5, PHP 5 und andere Sprachen integrieren UUID-Generierung. UUIDs werden Mainstream für Software-IDs.

2018

Datenschutz-Diskussion

UUID v1 mit MAC-Adresse steht in der Kritik: Sie leakt Hardware-Informationen und ermöglicht Tracking. UUID v4 wird Standard für öffentliche Anwendungen.

2021

UUID v6, v7, v8 (Entwurf)

Die IETF arbeitet an neuen UUID-Versionen: v6 (sortierbar), v7 (Unix-Zeit + Zufall), v8 (benutzerdefiniert). Moderne Datenbank-Alternativen.

2024

RFC 9562 – Neue UUIDs

RFC 9562 veröffentlicht: UUID v1-v8 sind offiziell standardisiert. v7 wird empfohlen für moderne Datenbanken und Verteilte Systeme.

Heute

UUIDs überall

UUIDs sind Standard in Datenbanken, Cloud-Diensten, Microservices und APIs. UUID v7 wird zunehmend als Primärschlüssel in verteilten Datenbanken eingesetzt.

4. FAQ – Häufige Fragen

Häufige Fragen zu UUIDs

Was ist der Unterschied zwischen UUID und GUID?

UUID und GUID sind im Wesentlichen dasselbe:

  • UUID: Universally Unique Identifier (RFC-Standard)
  • GUID: Globally Unique Identifier (Microsoft-Begriff)

Microsoft verwendet den Begriff GUID in Windows APIs und .NET:

  • Format: {550e8400-e29b-41d4-a716-446655440000}
  • Mit geschweiften Klammern als Konvention
  • Ansonsten identisch zu UUID v4

Fazit: GUID ist Microsofts Name für UUID.

Welche UUID-Version soll ich nutzen?
AnwendungEmpfehlung
Standard-AnwendungenUUID v4
Datenbank-PrimärschlüsselUUID v7
Deterministisch aus URL/DNSUUID v5
Reproduzierbare IDsUUID v5
Zeitbasiert (Legacy)UUID v1 (nur intern)

Faustregel:

  • Unsicher? → UUID v4
  • Sortierbar? → UUID v7
  • Reproduzierbar? → UUID v5
Können UUIDs kollidieren?

Theoretisch ja, praktisch nein.

UUID v4 Kollisions-Wahrscheinlichkeit:

  • 122 zufällige Bits = 2^122 Möglichkeiten
  • Um 50% Kollisionschance zu haben:
  • 2,7 × 10^18 UUIDs/s über 100 Jahre generieren

Vergleich:

  • Sandkörner auf der Erde: ~10^19
  • Atome im Universum: ~10^80
  • Sekunden seit Urknall: ~4 × 10^17

Fazit: In der Praxis ist eine Kollision ausgeschlossen.

Sind UUIDs sicher / geheim?

UUIDs sind NICHT als Sicherheitsmerkmal gedacht!

  • Zweck: Eindeutigkeit, nicht Geheimhaltung
  • v4: Zufällig, aber nur 122 Bit Entropie
  • v1: Enthält Zeit + MAC-Adresse (leakt Infos)
  • Enumerierbar: Bei v1 und v7 vorhersagbar

Wichtig:

  • Nicht als Token: Verwende sichere Zufalls-Token (256 Bit)
  • Nicht als Passwort: UUIDs sind nicht geheim genug
  • Session-IDs: Mindestens 256 Bit Entropie

Empfehlung: Für Auth-Token crypto.randomBytes(32) statt UUID.

Was ist der Vorteil von UUID v7?

UUID v7 kombiniert die Vorteile von v1 und v4:

MerkmalUUID v1UUID v4UUID v7
Sortierbar✓ Ja✗ Nein✓ Ja
Datenschutz✗ MAC-Leak✓ Sicher✓ Sicher
DB-Performance✓ Gut✗ Fragmentierung✓ Sehr gut
Zeitstempel1582-basiert✗ KeinerUnix-Zeit

Warum wichtig für Datenbanken?

  • B-Tree-Index: Sortierte Einträge = schneller
  • Weniger Page-Splits: Neue Einträge am Ende
  • Cache-freundlich: Sequentielle Zugriffe

Empfohlen für: PostgreSQL, MySQL 8.0+, MongoDB.

Wie speichere ich UUIDs effizient in Datenbanken?

Nicht als String (CHAR(36)) – sondern BINARY(16)!

FormatGrößePerformance
CHAR(36)36 BytesLangsam
BINARY(16)16 BytesSchnell
UUID nativ16 BytesSehr schnell

Beispiele:

  • MySQL 8.0+: UUID_TO_BIN(uuid, 1)
  • PostgreSQL: Nativ uuid Datentyp
  • SQL Server: Nativ uniqueidentifier
  • MongoDB: Nativ UUID (BinData)

Vorteil: 2× weniger Speicher, 3× schnellere Queries.

Wie erkenne ich die Version einer UUID?

Das 13. Hex-Zeichen (nach dem 3. Bindestrich) zeigt die Version:

  • Position: 15. Zeichen (Index 14)
  • Format: xxxxxxxx-xxxx-Vxxx-...

Beispiele:

  • f47ac10b-58cc-11cf-... → v1
  • 550e8400-e29b-41d4-... → v4
  • 886313e1-3b8a-5372-... → v5
  • 017f22e2-79b0-7cc3-... → v7

Programmatisch:

const version = parseInt(uuid.charAt(14), 16);
Was bedeutet "urn:uuid:"?

URN (Uniform Resource Name) ist eine standardisierte Notation:

  • Format: urn:uuid:550e8400-e29b-41d4-a716-446655440000
  • Zweck: UUIDs als eindeutige Ressourcen-IDs
  • Standard: RFC 8141

Verwendung:

  • XML: Für Referenzen in Dokumenten
  • RDF: Semantische Ressourcen-IDs
  • APIs: Für Content-IDs

Vorteil: Standardisierte Notation mit Namespace-Kennung.

Nachteil: Länger als reine UUID (45 Zeichen).

Zusammenfassung

Die wichtigsten Punkte

  • UUID: 128-Bit-Identifikator, 36 Zeichen mit Bindestrichen
  • UUID v4: Zufällig – Standard für die meisten Anwendungen
  • UUID v1: Zeitbasiert mit MAC – nur intern (Datenschutz)
  • UUID v5: Deterministisch aus Namespace + Name (SHA-1)
  • UUID v7: Unix-Zeit + Zufall – perfekt für Datenbanken
  • Format: 8-4-4-4-12 Hex-Gruppen
  • Version: 13. Hex-Zeichen zeigt die Version
  • Speicherung: BINARY(16) statt CHAR(36)
  • Kollision: Praktisch ausgeschlossen (2^122)
  • Unser Tool: UUID-Generator für v1, v4, v5, v7 mit Analyse

Weitere Entwickler-Tools

API Response Simulator

Simuliere HTTP-API-Antworten mit Status-Codes und JSON-Body.

Zum Tool
JSON Formatter

JSON formatieren, validieren und verschönern.

Zum Tool
Regex Tester

Reguläre Ausdrücke testen und debuggen.

Zum Tool
Hash Generator

MD5, SHA-1, SHA-256 und SHA-512 für Text und Dateien.

Zum Tool