UUID-Generator

Kryptografisch sichere UUIDv4- und zeitlich geordnete UUIDv7-Bezeichner latenzfrei generieren und analysieren. Mit Reverse-UUID-Inspektor, UTC-Zeitstempel-Extraktion, Stripe-Formatierung und kollisionsfreiem Batch-Generator.

Online-Werkzeuge
SYSTEM: AKTIV
CSPRNG (window.crypto)0ms Client-LatenzRFC 9562 / RFC 4122 Konformität
Identifikator-Architektur wählen
Generierter kryptografischer Identifikator
Kryptografische Entropie:74 Bit CSPRNG + 48 Bit Millisekunden-Zeitstempel
018f3a5b-9d48-7e30-b98a-5e4d21f879ab

Erweiterte Formatierung (Stripe-Stil)

Objekt-Präfixe anfügen, Bindestriche entfernen und Identifikatoren für Produktionsschemata und ORMs anpassen.

Hexadezimal-Schreibweise
Bindestrich-Trennzeichen
Präfix-Vorlagen:
Formatierte Vorschau40 chars
usr_018f3a5b-9d48-7e30-b98a-5e4d21f879ab

Entwickler-Code-Snippets

Produktionsreife Code-Beispiele zur direkten Erzeugung in Ihrer Ziel-Laufzeitumgebung.

// RFC 9562 UUIDv7 in JavaScript / TypeScript (Native Web Crypto)
export function generateUUIDv7(): string {
  const time = Date.now();
  const timeHex = time.toString(16).padStart(12, '0');
  const rand = new Uint8Array(10);
  window.crypto.getRandomValues(rand);
  rand[0] = (rand[0] & 0x0f) | 0x70; // Version 7
  rand[2] = (rand[2] & 0x3f) | 0x80; // Variant RFC 4122
  const randHex = Array.from(rand).map(b => b.toString(16).padStart(2, '0')).join('');
  return `${timeHex.slice(0,8)}-${timeHex.slice(8,12)}-${randHex.slice(0,4)}-${randHex.slice(4,8)}-${randHex.slice(8,20)}`;
}

RFC 9562 & RFC 4122 Standard-Spezifikationen

Maßgebliche technische Referenz für moderne 128-Bit Universally Unique Identifiers.

Evolution von RFC 4122 (2005) zu RFC 9562 (Mai 2024)

Veröffentlicht von der IETF im Mai 2024, ersetzt RFC 9562 den alten RFC 4122, um kritische Skalierungsprobleme in verteilten Datenbanken zu lösen. Während RFC 4122 UUIDv1 und UUIDv4 definierte, benötigten moderne Architekturen Bezeichner, die dezentrale Generierung mit datenbankfreundlicher Sortierbarkeit verbinden. RFC 9562 standardisiert UUIDv6, UUIDv7 und UUIDv8.

Kryptografische Entropie & Kollisionsmathematik

Präzise Wahrscheinlichkeitsrechnung basierend auf dem Geburtstagsparadoxon im 128-Bit-Raum.

Für einen Zustandsraum von N Zuständen und k erzeugte Bezeichner berechnet sich die Kollisionswahrscheinlichkeit nach:

P(k) ≈ 1 - exp( -k² / (2 × 2¹²²) )
Erzeugte UUIDsKollisionswahrscheinlichkeit
1.000.000 (10⁶)
Instantaner Batch-Generierungslauf
≈ 1 × 10⁻²⁵ (Praktisch 0)
1.000.000.000 (10⁹)
1 Mrd. Datensätze im Cloud-Speicher
≈ 1 × 10⁻¹⁹
100.000.000.000 (10¹¹)
Globaler Telekommunikations-Cluster-Maßstab
≈ 1 × 10⁻¹⁵
2,71 × 10¹⁸
1 Mrd. IDs/Sek. über 85 Jahre ununterbrochen
≈ 0,0000001% (1 zu 1 Milliarde)

Leitfaden für Produktionsdatenbanken

Optimale DDL-Schemakonfigurationen für PostgreSQL, MySQL InnoDB und SQLite.

PostgreSQL (v16 / v17+)
-- Recommended Schema for High-Throughput Tables
CREATE TABLE app_events (
    id UUID PRIMARY KEY, -- Stores 16 bytes binary
    payload JSONB NOT NULL,
    created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);

-- Extract timestamp directly from UUIDv7
-- No extra created_at index required!
SELECT id, ('x' || lpad(substr(replace(id::text, '-', ''), 1, 12), 16, '0'))::bit(64)::bigint
AS epoch_ms FROM app_events;
MySQL (InnoDB Engine)
-- Use BINARY(16) for Compact Primary Key
CREATE TABLE production_orders (
    id BINARY(16) PRIMARY KEY,
    amount DECIMAL(10,2) NOT NULL,
    status VARCHAR(32) NOT NULL
) ENGINE=InnoDB;

-- Insert UUIDv7 converted to binary
INSERT INTO production_orders (id, amount, status)
VALUES (UUID_TO_BIN('018f3a5b-9d48-7e30-b98a-5e4d21f879ab', 1), 99.50, 'paid');

Anleitung: Kryptografischen UUID-Generator verwenden

Schritt-für-Schritt-Anleitung zur Erzeugung, Dekodierung, Formatierung und Datenbank-Optimierung von 128-Bit-Bezeichnern.

01

Bezeichner-Architektur wählen

Wählen Sie zwischen UUIDv7 (zeitlich geordnet und monoton für Primärschlüssel in Datenbanken) oder UUIDv4 (kryptografischer Zufall für Sitzungstoken und Secrets).

02

Kryptografische Identifikatoren erzeugen

Klicken Sie auf Neu generieren, um einen 128-Bit-Bezeichner über die native Web Crypto API (window.crypto) mit Sub-Millisekunden-Latenz und maximaler Entropie zu erstellen.

03

Erweiterte Formatierung (Stripe-Stil)

Fügen Sie Typ-Präfixe (z. B. usr_, tx_) hinzu, wechseln Sie zwischen Groß- und Kleinschreibung, entfernen Sie Bindestriche oder nutzen Sie SQL-, GUID- und Base64URL-Wrapper.

04

Mit dem Reverse-Inspektor dekodieren

Wechseln Sie zum Reverse-UUID-Inspektor und fügen Sie eine beliebige UUID ein, um RFC-Version, Variante, Bit-Layout und den eingebetteten UTC-Zeitstempel auszulesen.

05

Kollisionsfreie Massen-Batches erzeugen

Nutzen Sie das Massen-Batch-Grid, um bis zu 50.000 sichere UUIDs in unter 50 ms zu generieren, inklusive CSV-, JSON- und TXT-Exporten per Klick.

06

Datenbank-Indizes und Schemata optimieren

Prüfen Sie den Datenbank-Optimierer zur B-Tree-Seitenanalyse und kopieren Sie fertige DDL-Schemata für PostgreSQL (UUID), MySQL InnoDB (BINARY(16)) und SQLite.

Häufig gestellte Fragen (FAQ)

Fundierte Antworten auf häufige Fragen zur Architektur von UUIDv7 vs. UUIDv4, RFC-Standards und Indexierungs-Performance.

Q:Warum verhindert UUIDv7 die B-Tree-Index-Fragmentierung im Vergleich zu UUIDv4?

UUIDv4 verteilt Datensätze zufällig über alle Index-Blattseiten. Wenn eine Seite voll ist, erzwingt die Engine einen Page-Split, der die Seitendichte auf ca. 50% senkt. UUIDv7 bettet einen 48-Bit-Unix-Zeitstempel ein, wodurch neue Einträge monoton an die rechteste Blattseite angehängt werden.

Q:Wie garantiert dieser Generator Null-Kollisionen und kryptografische Sicherheit?

Die gesamte Generierung erfolgt im Browser über die native Web Crypto API (window.crypto). Im Gegensatz zu Math.random() nutzt Web Crypto den Betriebssystem-Kernel-CSPRNG für maximale Entropie.

Q:Wie extrahiert der Reverse-UUID-Inspektor Zeitstempel aus UUIDv7 und UUIDv1?

Bei UUIDv7 kodieren die ersten 48 Bits den Unix-Millisekunden-Zeitstempel. Unser Decoder isoliert diese Bits und berechnet die exakte ISO-8601-Zeit. Bei UUIDv1 wird der 60-Bit-Zeitstempel aus time_hi, time_mid und time_low rekonstruiert.

Q:Ist UUIDv7 offiziell von der IETF standardisiert?

Ja. UUIDv7 wurde im Mai 2024 von der IETF als RFC 9562 offiziell ratifiziert und ersetzt die alte RFC 4122 Spezifikation.

Q:Können bei UUIDv7 sensible Hardwaredaten nach außen dringen?

Nein. Im Gegensatz zu UUIDv1, das die MAC-Adresse der Netzwerkkarte einbettet, besteht UUIDv7 nur aus Zeitstempel und kryptografischem Zufall.

Q:Welcher Datentyp wird in PostgreSQL und MySQL für UUIDv7 empfohlen?

In PostgreSQL der native Datentyp UUID (16 Byte). In MySQL InnoDB BINARY(16), um den 36-Byte VARCHAR-Overhead zu vermeiden.

Q:Können Datenbankeinträge mit UUIDv7 chronologisch sortiert werden?

Ja. Da die führenden 48 Bits die Millisekunden-Zeit im Big-Endian-Format enthalten, sortiert eine Standard-Abfrage automatisch chronologisch.

Q:Warum sollte man Stripe-Präfixe (z. B. usr_, tx_) verwenden?

Typisierte Präfixe machen IDs in Logs sofort lesbar, verhindern Verwechslungsfehler in API-Endpunkten und erhalten die volle Entropie der UUID.

Was ist UUID-Generator?

Wer schon einmal eine Datenbankarchitektur von einem Monolithen auf Microservices umgestellt hat, kennt das Problem: Fortlaufende IDs (Auto-Increment) funktionieren in verteilten Systemen einfach nicht mehr. Hier kommt dieser lokale UUID-Generator ins Spiel. Er liefert Ihnen verzögerungsfrei kryptografisch sichere UUIDv4- und zeitbasierte UUIDv7-Schlüssel. Da die gesamte Generierung und Validierung direkt im Arbeitsspeicher Ihres Browsers stattfindet, verlassen sensible Daten oder API-Strukturen niemals Ihr Gerät. Das Tool geht weit über die reine Generierung hinaus und bietet Ihnen Funktionen wie Reverse-Inspection und die Formatierung im beliebten Stripe-Stil.

Praktisches Anwendungsbeispiel: Aufbau einer sicheren FinTech-API

Ein Software-Team in Frankfurt entwickelt eine öffentliche REST-API für ein neues Payment-Gateway. Sie wissen, dass nackte UUIDs in Server-Logs extrem schwer zu lesen sind. Anstatt Zeit in die Entwicklung eigener Formatierungs-Logik zu stecken, nutzt das Team dieses Tool, um Stripe-Style-Präfixe zu testen. Sie konfigurieren das System so, dass Kunden-IDs mit cus_ und Transaktionen mit tx_ beginnen, und entfernen dabei die klassischen Bindestriche. Mit dem fertigen Design kopieren sie einfach das bereitgestellte TypeScript-Snippet und fügen es in ihr Backend ein. Die API-Antworten sehen nun hochprofessionell aus und der Support-Abteilung fällt das Debugging von fehlerhaften Zahlungen deutlich leichter.

Werkzeuge für den Entwickleralltag

FunktionArchitektur-ZweckIhr praktischer Vorteil
Kryptografisches UUIDv4Nutzt die Web Crypto API für echte Zufälligkeit.Ideal für die Erstellung von absolut unvorhersehbaren Passwort-Reset-Tokens.
Reverse UUID InspectorDekodiert die mathematische Struktur eines Identifikators.Extrahiert den exakten Erstellungszeitpunkt direkt aus dem Schlüssel.
Zero-Collision BatchGeneriert tausende eindeutige IDs in einem Durchlauf.Perfekt, um Entwicklungsdatenbanken schnell mit Dummy-Daten zu füllen.
Erweiterte FormatierungSetzt Präfixe und steuert die Groß-/Kleinschreibung.Vereinheitlicht das Design von API-Endpunkten nach modernen Industriestandards.

Geschichte und Ursprung

Bevor es den RFC 4122-Standard gab, war die Zusammenführung von Daten aus verschiedenen Servern ein logistischer Albtraum, da es ständig zu Schlüsselkollisionen kam. Der UUID löste dieses Problem durch schiere mathematische Größe: Er besteht aus 128 Bit. Die Anzahl der möglichen Kombinationen ist so gigantisch, dass man über Jahrzehnte hinweg jede Sekunde Milliarden von IDs generieren könnte, ohne jemals ein Duplikat zu erzeugen. Der neueste Standard, UUIDv7, optimiert dieses Konzept nun speziell für moderne relationale Datenbanken, indem er Zeitstempel für eine bessere Indexierung integriert.