Werkzeuge
Leitfäden

UUID-Generator

Dev

Erzeugt kryptografisch zufällige UUIDs (RFC 4122 v4) mit crypto.randomUUID.

100 % clientseitig Ohne Backend
Auf dieser Seite

Was ist eine UUID?#

Eine UUID (Universally Unique Identifier, auf Microsoft-Systemen auch GUID genannt) ist ein 128-Bit-Bezeichner, der als 32 Hexadezimalziffern in der Gruppierung 8-4-4-4-12 dargestellt wird, beispielsweise c9bf1d4d-7d4f-4b3a-8b2c-1e5f6a7b8c9d. Die Idee ist einfach, aber kraftvoll: Bezeichner nach Bedarf erzeugen, ohne zentrale Autorität und ohne Abstimmung zwischen Maschinen, und dennoch die Wahrscheinlichkeit einer Kollision faktisch null halten. Diese Eigenschaft macht UUIDs zur Standard-Primärschlüssel-Strategie für verteilte Datenbanken, zum id-Feld fast jeder JSON-API-Ressource, zu den Korrelations-IDs, die Log-Zeilen über Microservices hinweg verknüpfen, und zu den Dateinamen hochgeladener Blobs.

Diese Seite erzeugt RFC-4122-Version-4-UUIDs — die Variante aus Zufallsbits. Version 4 ist das, was Sie in fast jedem modernen Fall wollen: Sie trägt keine MAC-Adresse der Maschine (wie v1), bettet keine Namespace-Hierarchie ein (wie v3/v5) und verlässt sich rein auf kryptografische Zufälligkeit für Eindeutigkeit. Sie können eine einzelne UUID oder einen Schwung von bis zu 10.000 zugleich erzeugen, in Klein- oder Großschreibung, vollständig in Ihrem Browser.

Zwei der 32 Hex-Ziffern sind nicht tatsächlich zufällig — sie deklarieren den eigenen Typ der UUID. Das Versions-Nibble an Position 14 (das erste Zeichen der dritten Gruppe) ist immer 4, und das Varianten-Nibble an Position 19 (das erste Zeichen der vierten Gruppe) ist immer 8, 9, a oder b. Deshalb liest sich jeder Wert, den Sie auf dieser Seite sehen, als xxxxxxxx-xxxx-4xxx-[89ab]xxx-xxxxxxxxxxxx. Diese beiden fixen Positionen fungieren zusätzlich als selbstbeschreibender Fingerabdruck: Jede Zeichenkette, die dieser Form entspricht, ist eine v4-UUID, und eine kurze Regex kann Millionen davon validieren.

So wird es verwendet#

  1. Setzen Sie das Zahlenfeld Anzahl oben darauf, wie viele UUIDs Sie wollen — irgendwo zwischen 1 und 10.000. Das Feld wird auf diesen Bereich geclampt.
  2. Aktivieren Sie Großbuchstaben, falls Sie rein großgeschriebene Ausgabe brauchen (manche Legacy-Systeme und Microsoft-GUID-Konventionen bevorzugen C9BF1D4D-…). Lassen Sie es deaktiviert für die kleingeschriebene Standardeinstellung, die die meisten modernen Stacks nutzen.
  3. Klicken Sie auf Erzeugen. Die Werte erscheinen im Einspalten-Ausgabebereich, einer pro Zeile.
  4. Klicken Sie auf Kopieren, um den ganzen Schwung in die Zwischenablage zu kopieren, bereit zum Einfügen in ein SQL INSERT, eine CSV, ein Test-Fixture oder ein Seed-Skript.
  5. Klicken Sie jederzeit wieder auf Erzeugen, wenn Sie einen frischen Schwung brauchen — jeder Klick zieht neue Zufallsbits und produziert Werte, die nie zuvor existierten.

Die wichtigsten Funktionen#

  • Echte kryptografische Zufälligkeit. Nutzt crypto.randomUUID() des Browsers in sicheren Kontexten, mit einem crypto.getRandomValues-Fallback, der Rejection Sampling auf die Versions- und Varianten-Bits anwendet — nicht Math.random(), das für Bezeichner ungeeignet ist.
  • Schwug-Erzeugung. Bis zu 10.000 UUIDs in einem Klick, eine pro Zeile, sodass Sie eine Datenbank oder Fixture-Datei besäen können, ohne selbst zu skripten.
  • Klein- oder Großschreibung. Ein Schalter deckt beide Konventionen ab.
  • RFC-4122-v4-konform. Das Versions-Nibble ist immer 4 und das Varianten-Nibble immer 8/9/a/b, sodass jeder Wert gegen die Standard-v4-Regex validiert.
  • 100 % clientseitig. Kein Backend, keine Telemetrie. Die UUIDs, die Sie hier erzeugen, werden nirgends aufgezeichnet — sie sind Ihres im Moment ihres Erscheinens.

Anwendungsbeispiel#

Klicken Sie auf Erzeugen mit Anzahl auf dem Standard 5 und Großbuchstaben deaktiviert, und Sie erhalten fünf Zeilen wie diese (Ihre tatsächlichen Werte weichen ab — sie sind zufällig):

7f3a9c2e-1b4d-4e8f-a6c3-9d2b8e1f0a47
2c8d4f1a-9e3b-47a2-8c6d-1f5e9a0b3c28
a1b2c3d4-e5f6-4789-abcd-ef0123456789
9e8d7c6b-5a4f-3210-ba98-76543210fedc
4f3e2d1c-0b9a-8765-4321-fedcba987654

Schauen Sie genau auf die dritte Gruppe einer beliebigen Zeile: Sie beginnt immer mit 4. Schauen Sie auf die vierte Gruppe: Sie beginnt immer mit 8, 9, a oder b. Diese beiden Zeichen sind nicht zufällig — sie sind die Versions- und Varianten-Marker, und sie sind der Grund, warum ein Einzeilen-Validator bestätigen kann, dass eine Zeichenkette eine echte v4-UUID ist.

Aktivieren Sie Großbuchstaben und erzeugen Sie erneut, kommt dieselbe Form in Großbuchstaben heraus, z. B. 7F3A9C2E-1B4D-4E8F-A6C3-9D2B8E1F0A47 — identische Bits, nur gerendert für Systeme, die Großbuchstaben-GUIDs erwarten.

FAQ#

Wie eindeutig ist eine v4-UUID wirklich? Bekomme ich jemals ein Duplikat?#

Die Zahlen werden schnell absurd. Eine einzelne v4-UUID hat 122 Bits tatsächlicher Zufälligkeit (128 minus die 4 Versions-Bits und 2 Varianten-Bits). Um auch nur eine 50 %-Chance auf eine Kollision zu haben, müssten Sie etwa 2,71 × 10^36 UUIDs erzeugen — das ist eine Milliarde Milliarden Milliarden pro Sekunde für länger als das Alter des Universums. Für jede realistische Datenbank oder jedes System können Sie Kollisionen als unmöglich behandeln und brauchen nicht nach ihnen zu prüfen.

Ist es sicher, diese UUIDs als Datenbank-Primärschlüssel zu nutzen?#

Ja — Version 4 ist dafür die häufigste Wahl, gerade weil sie keine Abstimmung braucht. Die eine Einschränkung ist Index-Fragmentierung: rein zufällige Schlüssel streuen über einen B-Baum, sodass Sie auf einer sehr schreibstarken PostgreSQL- oder MySQL-Tabelle eher eine UUIDv7-(zeitgeordnete)-Variante bevorzugen könnten. Für Bezeichner auf Applikationsebene, Korrelations-IDs und die meisten Tabellen ist schlichtes v4 in Ordnung.

Warum nicht einfach Math.random() nutzen, um eine UUID zu bauen?#

Weil Math.random() kryptografisch nicht sicher ist — sein Output kann vorhersagbar genug sein, dass ein Angreifer, der einige IDs beobachtet, andere raten kann. Dieses Werkzeug nutzt bewusst crypto.randomUUID() (und einen crypto.getRandomValues-Fallback mit korrekter Versions-/Varianten-Behandlung), das aus dem CSPRNG des Betriebssystems zieht. Für alles, das einen Nutzer, eine Sitzung oder eine Ressource identifiziert, zählt dieser Unterschied.

Kann ich hier Version-1-, Version-5- oder namensbasierte UUIDs erzeugen?#

Nein — diese Seite ist absichtlich nur v4, weil v4 die überwältigende Mehrheit der realen Anwendungsfälle abdeckt und keine Eingaben jenseits einer Zufallsquelle braucht. Brauchen Sie eine namensbasierte v5-UUID (deterministisch aus Name und Namespace), ist das eine andere Berechnung und gehört in Ihren Applikationscode oder ein dediziertes Werkzeug.