HandyTools Hub

UUID-Generator

Generieren Sie sofort zufällige UUIDs (v4).

5
1 100

Format

Generierte UUIDs

8df79600-9bec-463d-9565-1784e1338c41
71a85d0e-b71d-4f30-b4d4-6dbc3bd8e866
947d003e-d06d-4663-bbbf-3d827d5b2414
c2f7e247-f7ea-48d9-b407-3b7bc0b89880
447df525-ac5a-4cd9-82ff-27aa5f1d2d20

Der UUID-Generator erzeugt universell eindeutige Kennungen der Version 4 in Stapeln von bis zu 100, mit optionaler Großbuchstaben-Ausgabe und bindestrichfreier Formatierung sowie Ein-Klick-Kopieren oder Text-Download. Er ist für Entwickler gedacht, die Kennungen für Datenbankzeilen, API-Ressourcen, Dateien und Test-Fixtures brauchen — ohne ein Skript zu schreiben oder einem Onlinedienst zu vertrauen, der protokollieren könnte, was er erzeugt. Jeder Wert wird lokal mit dem kryptografisch sicheren Zufallsgenerator des Browsers erzeugt.

Verwendung

  1. Anzahl wählen Sie zwischen 1 und 100 UUIDs. Jeder Klick auf Generieren erzeugt einen frischen Stapel.
  2. Format festlegen. Großbuchstaben-Ausgabe und Entfernen der Bindestriche sind unabhängige Schalter, sodass Sie genau die Form treffen können, die ein anderes System speichert.
  3. Generieren. Alle Werte erscheinen sofort in einer Liste.
  4. Kopieren oder herunterladen. Kopieren Sie eine einzelne UUID über ihre Schaltfläche, nutzen Sie „Alle kopieren“ für den Stapel oder laden Sie die ganze Liste als Textdatei herunter.

Praxisbeispiele

Beispiel 1 — eine Datenbanktabelle befüllen. Ein Entwickler braucht 25 Platzhalterzeilen vor einem Migrationstest. 25 v4-UUIDs zu erzeugen und in ein SQL-Insert-Skript einzufügen dauert Sekunden — weit schneller als eine Schleife zu schreiben und frei von den Auto-Increment-Kollisionen, die beim Zusammenführen von Daten aus mehreren Umgebungen auftreten.

Beispiel 2 — hochgeladene Dateien benennen. Benutzeruploads unter ihren Originaldateinamen zu speichern lädt Kollisionen und Path-Traversal-Probleme ein. Ein Muster wie uploads/<uuid>.jpg garantiert einen eindeutigen, nicht erratbaren Namen. Beachten Sie, dass Eindeutigkeit allein keine Sicherheit ist: Die UUID sollte mit Zugriffskontrolle kombiniert werden, denn wer den Namen kennt, kann die Datei anfordern.

Beispiel 3 — Test-Fixtures. Eine Testsuite braucht deterministisch wirkende, aber unterschiedliche IDs für Mock-Benutzer. Einen Stapel einmal zu erzeugen und in die Fixture-Datei fest einzutragen hält Tests reproduzierbar, während die echte Anwendung zur Laufzeit weiter eigene Kennungen vergibt.

UUID-Versionen und wann welche passt

Eine UUID ist ein 128-Bit-Wert, konventionell als 32 Hex-Ziffern in fünf Gruppen geschrieben: 8-4-4-4-12. Die erste Ziffer der dritten Gruppe kodiert die Version. Die gängigen:

  • v1 — Zeitstempel plus MAC-Adresse der erzeugenden Maschine. Geordnet, verrät aber Hardware- und Zeitinformationen.
  • v3 / v5 — ein deterministischer Hash (MD5 / SHA-1) aus Namespace und Name. Dieselbe Eingabe liefert immer dieselbe UUID.
  • v4 — 122 Zufallsbits. Zustandslos, verrät nichts und ist das, was dieses Tool erzeugt.
  • v7 — ein Unix-Millisekunden-Zeitstempel, gefolgt von Zufallsbits, 2024 standardisiert. Sortiert nach Erstellungszeit, was sie zur modernen Wahl für Datenbankschlüssel macht.

Die praktische Aufteilung: Verwenden Sie v4 für Kennungen, die Sie nicht stark indexieren, und v7 für Primärschlüssel in neuen Tabellen, in denen Schreibdurchsatz und Lokalität zählen.

Eine Namensnotiz, bevor Sie Formate vergleichen: Die Microsoft-Welt nennt diese Werte GUIDs, und beide Begriffe bezeichnen dieselbe 128-Bit-Struktur. Eine von Windows-Werkzeugen erzeugte GUID ist byte-identisch mit einer UUID; nur die übliche Textformatierung und der Name unterscheiden sich. Wenn eine Dokumentation oder eine Datenbankspalte GUID sagt, passt eine erzeugte UUID, solange sich beide Seiten über Bindestriche und Groß-/Kleinschreibung einig sind.

Wie die Zufälligkeit von v4 funktioniert

Von den 128 Bit sind 4 fest reserviert, um die Version zu markieren, und 2, um die Variante zu markieren; es bleiben 122 Bit Zufälligkeit. Daraus ergibt sich die obige Kollisionsrechnung. Die Qualität dieser Bits hängt vollständig von der Quelle ab: crypto.randomUUID() und crypto.getRandomValues() schöpfen aus dem Entropiepool des Betriebssystems, während ein schneller, auf Math.random() basierender Generator vorhersagbar initialisiert werden kann und für Kennungen, die niemals kollidieren dürfen, ungeeignet ist.

Jeder Klick erzeugt einen unabhängigen Stapel, und jede UUID innerhalb eines Stapels wird getrennt gezogen. Das Erzeugen von 100 Werten erhöht die Kollisionswahrscheinlichkeit also nur so weit, wie es die schiere Anzahl tut — die Stapelgröße selbst schwächt die Zufälligkeit nicht. Wenn Sie einen erzeugten Wert prüfen wollen, achten Sie auf die 13. Hex-Ziffer: Bei v4 ist sie eine 4, und die erste Ziffer der vierten Gruppe liegt im Bereich 8 bis b, was die Variante markiert. Ein Wert, der diese Muster nicht zeigt, ist keine konforme v4-UUID.

Häufige Fehler und Randfälle

  • Eine UUID als Geheimnis behandeln. Sie ist eine Kennung. Verwenden Sie eigene Tokens für Anmeldedaten und Reset-Links.
  • v4 als geclusterten Primärschlüssel verwenden. Zufällige Einfügungen fragmentieren Indizes. Speichern Sie als BINARY(16), und bevorzugen Sie v7 für neue Tabellen mit hohem Schreibaufkommen.
  • Inkonsistente Formatierung. Manche Systeme speichern Großbuchstaben, manche entfernen Bindestriche, manche vergleichen exakt. Normalisieren Sie vor dem Vergleich oder Speichern auf eine Darstellung.
  • Annehmen, „eindeutig“ bedeute „verifiziert“. Eindeutigkeit ist probabilistisch. Halten Sie für sicherheitskritische Eindeutigkeit eine Unique-Constraint in der Datenbank, statt dem Generator allein zu vertrauen.
  • Auf dem Client erzeugen und ihm trauen. Wenn Kennungen eine Vertrauensgrenze überschreiten, validieren und vergeben Sie sie serverseitig neu; ein Client kann jede beliebige Zeichenkette senden.
  • UUIDs mit ULIDs verwechseln. ULIDs sind ein anderes 128-Bit-Schema mit sortierbarem Zeitstempel und kompakterer Base32-Textform. Konvertieren Sie bewusst, statt sie als austauschbar zu behandeln.

Funktionen

  • Stapelgenerierung von bis zu 100 v4-UUIDs pro Klick
  • Kryptografisch sichere Zufälligkeit über die Web Crypto API
  • Optionale Großbuchstaben-Ausgabe und bindestrichfreie 32-Zeichen-Form
  • Einzelne Werte oder die ganze Liste kopieren; als Text herunterladen
  • Funktioniert offline, ohne Konto und ohne Server-Roundtrip
  • 100 % clientseitig — erzeugte Werte werden nie übertragen

Anwendungsfälle

  • Datenbankdatensätze: Eindeutige Schlüssel für Zeilen in verteilten Systemen.
  • APIs und Ressourcen: Stabile Kennungen in URLs und Payloads.
  • Dateibenennung: Kollisionsfreie Namen für Uploads und generierte Assets.
  • Tests: Fixture-IDs für Mocks, Seeder und Beispieldaten.
  • Verteilte Systeme: Kennungen, die über Knoten hinweg nicht kollidieren können.

Verwandte Tools

Häufig gestellte Fragen

Sind diese UUIDs wirklich eindeutig?

UUIDs der Version 4 tragen 122 Zufallsbits, was etwa 5,3 × 10^36 mögliche Werte ergibt. Sie müssten rund 2,7 × 10^18 davon erzeugen, bevor die Wahrscheinlichkeit einer Kollision 50 % erreicht — weit jenseits jeder realistischen Last. In der Praxis kommt das Risiko nicht aus der Mathematik, sondern aus einer schwachen Zufallsquelle, weshalb dieses Tool crypto.randomUUID des Browsers statt einer Pseudozufallsfunktion verwendet.

Kann ich die UUIDs in Großbuchstaben ausgeben oder die Bindestriche entfernen?

Ja, beide Optionen sind eingebaut. Das Entfernen der Bindestriche ergibt die nackte 32-stellige Hex-Zeichenkette, die manche Datenbanken bevorzugen; Großbuchstaben passen zu Systemen, die Kennungen so normalisieren. Der zugrunde liegende Wert ist identisch — wählen Sie die Form, die Ihr Zielsystem erwartet.

Sollte ich eine UUID als Passwort-Reset-Token oder API-Schlüssel verwenden?

Nein. Eine UUID ist eine Kennung, kein Geheimnis. Sie taucht häufiger in Logs, URLs, Referrer-Headern und Fehlermeldungen auf, als den meisten bewusst ist, und v1-/v6-UUIDs können sogar einen Zeitstempel und eine Maschinenkennung einbetten. Erzeugen Sie für Anmeldedaten ein eigenes Zufallstoken (256 Bit aus einem CSPRNG, base64url-kodiert) mit Ablaufzeit und Widerrufsweg.

Welche UUID-Version sollte ich erzeugen?

Für allgemeine Kennungen ist v4 (was dieses Tool erzeugt) die sichere, zustandslose Wahl. Wird der Wert ein Datenbank-Primärschlüssel, ist v7 meist besser, weil sein Zeitstempelpräfix natürlich sortiert und Indexschreibvorgänge sequenziell hält. Brauchen Sie eine deterministische ID aus einem Namen, verwenden Sie v5 statt einer Zufallsgenerierung.

Warum wird meine Datenbank mit v4-UUIDs als Primärschlüssel langsam?

Weil v4 gleichmäßig zufällig ist, landet jeder Einfügevorgang an einer beliebigen Position im B-Tree-Index, statt am Ende anzuhängen. Das verursacht Seitenteilungen, Cache-Fehlgriffe und Indexfragmentierung, während die Tabelle wächst. Den Wert als BINARY(16) statt CHAR(36) zu speichern hilft stark, und neue Tabellen auf zeitgeordnete v7-UUIDs umzustellen beseitigt das Problem an der Wurzel.

Brauche ich eine Internetverbindung, um hier UUIDs zu erzeugen?

Nein. Die Generierung nutzt die Web Crypto API, die mit Ihrem Browser ausgeliefert wird, und funktioniert offline, sobald die Seite geladen ist. Es wird nichts an einen Server gesendet, und die erzeugten Werte werden nie gespeichert — ein Neuladen der Seite verwirft sie.

Geprüft vom HandyTools-Hub-Team · Zuletzt aktualisiert