ESC
Developer

Was ist eine UUID? Ein Entwicklerleitfaden zu Unique Identifiers

Erfahren Sie, was UUIDs sind, wie die verschiedenen Versionen funktionieren, wann Sie sie verwenden und wie Sie sie in JavaScript, Python, PHP und SQL generieren.

2026-06-25 8 min read Developer
UUID Guide: A Developer's Guide to Unique Identifiers

Was ist eine UUID?

Eine UUID (Universally Unique Identifier) ist ein 128-Bit-Bezeichner, der ohne zentrale Koordination über Raum und Zeit einzigartig sein soll. Das Ergebnis ist eine 36-Zeichen-Zeichenkette im Format:

550e8400-e29b-41d4-a716-446655440000

Sie kodiert 32 Hexadezimalziffern in fünf Gruppen, getrennt durch Bindestriche: 8-4-4-4-12.

Kollisionswahrscheinlichkeit: Bei UUID v4 beträgt die Wahrscheinlichkeit, zwei identische IDs zu erzeugen, etwa 1 zu 5,3×1036. In der Praxis werden Sie niemals auf eine Kollision stoßen.

UUID-Versionen Erklärt

UUID v1 — Zeitbasiert + MAC-Adresse

Kombiniert den aktuellen Zeitstempel mit der MAC-Adresse der Netzwerkschnittstelle. Problem: Gibt die MAC-Adresse und den genauen Erstellungszeitpunkt preis — ein Datenschutzproblem.

UUID v4 — Zufällig (am häufigsten verwendet)

Füllt 122 Bits mit kryptografisch sicheren Zufallsdaten. Kein Zustand, kein Netzwerk, keine Koordination erforderlich. Die Standardwahl für die meisten Anwendungsfälle.

UUID v5 — Namespace + SHA-1

Deterministisch: gleicher Namespace + Name = immer gleiche UUID. Bevorzugen Sie v5 gegenüber v3 (MD5 ist veraltet).

UUID v7 — Zeitgeordnet (neuer Standard)

Verwendet einen Unix-Millisekunden-Zeitstempel in den höchstwertigen Bits. UUIDs sind sortierbar und verbessern die B-Baum-Indexleistung in Datenbanken erheblich.

Für Datenbank-Primärschlüssel: Bevorzugen Sie UUID v7. Zeitgeordnete Struktur verhindert Index-Fragmentierung.

Warum UUIDs Verwenden?

  • Keine zentrale Koordination: Jeder Client oder Microservice kann unabhängig eine UUID generieren.
  • Sicherheit durch Opazität: Sequentielle Integer-IDs verraten Ihr Datenvolumen. UUIDs enthüllen nichts.
  • Datenbank-Zusammenführung: UUID-verschlüsselte Tabellen lassen sich ohne Konflikte zusammenführen.
  • Offline-Generierung: Mobile Apps können offline Datensätze erstellen und später synchronisieren.
  • Branchenstandard: Integrierte Unterstützung in jeder großen Datenbank und jedem Framework.

Wann KEINE UUIDs Verwenden?

  • Speicher-Overhead: Verwenden Sie BINARY(16) in MySQL oder den nativen uuid-Typ in PostgreSQL statt VARCHAR(36).
  • URL-Slugs: Zu lang und nicht einprägsam. Verwenden Sie lesbare Slugs für benutzerorientierte URLs.
  • Index-Fragmentierung mit v4: Für schreibintensive Tabellen verwenden Sie UUID v7 oder ULID.
MySQL-Tipp: Speichern Sie UUIDs niemals als VARCHAR(36) in hochvolumigen Tabellen. Verwenden Sie BINARY(16) mit UUID_TO_BIN(uuid, 1).

UUIDs im Code Generieren

JavaScript

const id = crypto.randomUUID(); // v4

Python

import uuid; id = str(uuid.uuid4())

PHP

use Ramsey\Uuid\Uuid;
$v4 = Uuid::uuid4()->toString();
$v7 = Uuid::uuid7()->toString();

SQL

-- MySQL: SELECT UUID();
-- PostgreSQL: SELECT gen_random_uuid();

Best Practices

  • Als Binary speichern: BINARY(16) oder nativer uuid-Typ.
  • v4 für die meisten Fälle verwenden.
  • v7 für Datenbank-Primärschlüssel verwenden.
  • v1 in datenschutzsensiblen Kontexten vermeiden.
  • UUID-Format bei der Eingabe validieren.
  • Immer Kleinschreibung verwenden.
Müssen Sie sofort UUIDs generieren? Unser UUID-Generator erstellt v4- und v7-UUIDs in großen Mengen.

Häufig Gestellte Fragen

Können zwei UUIDs jemals gleich sein?

Theoretisch ja. Die Kollisionswahrscheinlichkeit beträgt ca. 1 zu 5,3×1036. In der Praxis werden Sie in keinem realen System auf eine Kollision stoßen.

v4 oder v7 für Datenbank-Primärschlüssel?

v7 für Primärschlüssel. v4 fügt an zufälligen Positionen in B-Baum-Indizes ein. v7 garantiert Einfügungen am Ende des Index.

Sind UUIDs Groß-/Kleinschreibungsempfindlich?

Nein. Die Spezifikation ist Groß-/Kleinschreibungsunempfindlich. Konventionell immer Kleinbuchstaben verwenden.

UUIDs Sofort Generieren

Generieren Sie v4- oder v7-UUIDs in großen Mengen, kopieren Sie sie in die Zwischenablage — kein Server, keine Nachverfolgung, 100% clientseitig.

UUID-Generator Öffnen