UUID-Generator
v4, v7, v1, v3 und v5 UUIDs generieren – einzeln oder tausend auf einmal – und jede UUID prüfen.
UUID-Generator - v4, v7, v5 und v1 online erzeugen
Eine UUID ist ein 128-Bit-Bezeichner, den zwei Systeme unabhängig voneinander erzeugen können, ohne Kollisionen befürchten zu müssen. Dieser kostenlose Generator liefert Version 4 (zufällig), Version 7 (zeitlich sortierbar), Version 1 (Zeitstempel und Node) sowie die Versionen 3 und 5 (aus einem Namen abgeleitet) - einzeln oder bis zu tausend auf einmal, als Zeilen, JSON-Array, CSV oder SQL-Werte. Im Prüfbereich lesen Sie zu jedem eingefügten Bezeichner Version und Variante ab, und bei v1 oder v7 auch den enthaltenen Zeitstempel.
UUIDs heißen vor allem im Microsoft-Umfeld auch GUIDs. Beide Begriffe bezeichnen dieselbe 36 Zeichen lange Zeichenkette: 32 hexadezimale Ziffern in fünf durch Bindestriche getrennten Gruppen, zum Beispiel f47ac10b-58cc-4372-a567-0e02b2c3d479.
Warum eine UUID statt einer fortlaufenden ID?
Eine fortlaufende Datenbank-ID muss von einer zentralen Instanz vergeben werden - ein Client kennt den Bezeichner also erst, wenn der Server antwortet. UUIDs beseitigen diese Abhängigkeit. Eine mobile App kann Datensätze offline anlegen, ein Worker kann eine Zeile referenzieren, bevor sie geschrieben ist, und zwei Rechenzentren lassen sich zusammenführen, ohne etwas neu zu nummerieren. Fortlaufende IDs verraten außerdem Interna: /rechnung/1042 zeigt einem Mitbewerber ungefähr Ihr Rechnungsvolumen, eine UUID verrät nichts.
Die UUID-Versionen in der Praxis
| Version | Aufbau | Typischer Einsatz |
|---|---|---|
| v1 | Zeitstempel plus Node-Kennung | Altsysteme; hier sind die Node-Bytes zufällig, nie Ihre MAC-Adresse |
| v3 / v5 | MD5- oder SHA-1-Hash aus Namespace und Name | Deterministische IDs: gleicher Namespace und Name ergeben immer dieselbe UUID |
| v4 | 122 Zufallsbits | Der Standard, wenn einfach ein eindeutiger Wert gebraucht wird |
| v7 | 48-Bit-Unix-Zeitstempel plus Zufall | Datenbankschlüssel: sortiert nach Erzeugungszeit, der Index bleibt aufgeräumt |
UUIDs hier erzeugen und prüfen
- Version wählen: v4 für den Normalfall, v7 für Datenbankschlüssel, v5 oder v3 zum Ableiten aus einem Namen, v1 für Altformate.
- Anzahl festlegen - von eins bis tausend.
- Ausgabeform wählen: eine pro Zeile, JSON-Array, CSV oder SQL-Werte für ein INSERT.
- Bei Bedarf Großschreibung, ohne Bindestriche, geschweifte Klammern oder das Präfix
urn:uuid:ankreuzen, dann Kopieren oder Herunterladen. - Einen beliebigen Bezeichner rechts unter UUID prüfen einfügen, um ihn zu prüfen und auszulesen.
Welche Version ist die richtige?
Nehmen Sie v4, solange nichts dagegen spricht: rein zufällig, ohne Metadaten, und der Standard fast jeder Bibliothek. Nehmen Sie v7, wenn der Bezeichner Primärschlüssel einer stark genutzten Tabelle wird - der Millisekunden-Zeitstempel steht vorn, neue Zeilen landen am Ende des Index statt verstreut darin, und die Werte sortieren als reine Zeichenketten chronologisch. Nehmen Sie v5, wenn dieselbe Eingabe immer denselben Bezeichner ergeben muss, etwa eine stabile ID aus einer URL oder einem Mandantennamen; v3 ist die ältere MD5-Variante davon und nur aus Kompatibilitätsgründen sinnvoll. v1 dient vor allem dem Lesen alter Daten: Sie enthält die Erzeugungszeit und traditionell die MAC-Adresse des Rechners.
Stapel sind hier monoton: Tausend v7-UUIDs auf einen Klick sortieren sich weiterhin in der Reihenfolge ihrer Erzeugung, weil die zwölf Bits nach dem Versionsfeld einen Zähler statt Rauschen enthalten. Auch die Nil-UUID - lauter Nullen - steht im Menü, weil sie der übliche Platzhalter für keinen Wert ist.
Was die Prüfung anzeigt
Fügen Sie rechts unter UUID prüfen einen beliebigen Bezeichner ein, mit oder ohne Bindestriche, geschweifte Klammern oder urn:uuid:-Präfix. Die Prüfung bestätigt das Format, benennt Version und Variante und zeigt kanonische Form sowie rohes Hex. Bei v1 oder v7 wird der enthaltene Zeitstempel in ein lesbares UTC-Datum umgewandelt - oft der schnellste Weg, das Erstellungsdatum eines Datensatzes zu erfahren. Bei v1 erscheinen zusätzlich die Node-Bytes samt Hinweis, ob das Multicast-Bit sie als zufällig oder als echte MAC-Adresse ausweist. Ein wohlgeformter Wert wird als Gültige UUID markiert, und jede Version bringt eine eigene Zeile mit: Sortierbar bei v7, Entropie bei v4 (122 Zufallsbits und sonst nichts) und Abgeleitet aus bei v3 und v5, weil derselbe Namensraum mit demselben Namen immer dieselbe UUID ergibt. Zeigt die Variante NCS oder für die Zukunft reserviert, wurde der Wert in aller Regel gar nicht als Standard-UUID erzeugt, auch wenn die Form stimmt.
Wo UUIDs täglich zum Einsatz kommen
- Primärschlüssel in verteilten Datenbanken und in Systemen, die zwischen Geräten synchronisieren.
- Korrelations- und Request-IDs, die einen Aufruf durch mehrere Microservices und Logdateien begleiten.
- Idempotenzschlüssel, mit denen eine Zahlung oder ein API-Aufruf gefahrlos wiederholt werden kann.
- Dateinamen für Uploads, damit zwei Nutzer
foto.jpghochladen können, ohne sich zu überschreiben. - Sitzungs-, Geräte- und Installationskennungen in Mobil- und Desktop-Anwendungen.
- Nachrichten- und Event-IDs in Queues, Webhooks und Event-Sourcing-Systemen.
Können zwei UUIDs jemals gleich sein?
Theoretisch ja, praktisch nein. Eine UUID der Version 4 enthält 122 Zufallsbits, also rund 5,3 Quadrilliarden mögliche Werte. Sie müssten ein Jahrhundert lang Milliarden UUIDs pro Sekunde erzeugen, bevor eine Kollision wahrscheinlich wird - weit jenseits dessen, was eine Anwendung tut. Das eigentliche Risiko ist nicht mathematisch, sondern eine schwache Zufallsquelle. Dieses Werkzeug nutzt crypto.getRandomValues, den kryptografisch sicheren Generator des Browsers, und nicht Math.random.
Praktische Hinweise vor der Entscheidung für UUIDs
- Speicher: 16 Byte binär, 36 Zeichen als Text. Wo möglich einen nativen UUID- oder BINARY(16)-Typ statt VARCHAR verwenden.
- Indizes: Zufällige v4-Werte streuen im B-Baum und können große Tabellen fragmentieren. Für stark beschriebene Tabellen v7 oder einen zusätzlichen fortlaufenden Schlüssel erwägen.
- Schreibweise: UUIDs werden üblicherweise klein geschrieben, Vergleiche sollten aber die Groß- und Kleinschreibung ignorieren.
- Klammern: Windows-Werkzeuge umschließen GUIDs oft mit
{...}. Vor dem Speichern entfernen. - URLs: Eine UUID ist bereits URL-sicher, eine Prozentkodierung ist nicht nötig.
Erzeugt in Ihrem Browser
Jeder Wert entsteht lokal und wird nirgendwohin gesendet. Bezeichner für interne Systeme bleiben damit privat und gehören allein Ihnen.
UUID im Code erzeugen: JavaScript, Python, Java, C#, SQL und Shell
Wer Bezeichner in einem Programm statt auf einer Webseite braucht, findet auf jeder gängigen Plattform einen Generator. Die Aufrufe unten erzeugen eine zufällige Version-4-UUID, sofern nicht anders vermerkt.
| Plattform | Einzeiler |
|---|---|
| JavaScript / Node.js | crypto.randomUUID() |
| Python | import uuid; uuid.uuid4() |
| Java | UUID.randomUUID() |
| C# / .NET | Guid.NewGuid(), oder Guid.CreateVersion7() ab .NET 9 für eine v7 |
| PostgreSQL | gen_random_uuid(), oder uuidv7() ab PostgreSQL 18 |
| MySQL | UUID() - liefert allerdings eine zeitbasierte v1 |
| Linux / macOS Shell | uuidgen |
| PowerShell | [guid]::NewGuid() |
Sie suchen eine Minecraft-UUID? Die vergibt Mojang pro Konto; man schlägt sie über den Spielernamen nach, statt sie zu erzeugen - dieses Tool erstellt neue zufällige Bezeichner für Ihre eigenen Systeme.
Passende Werkzeuge
Bezeichner stehen selten allein. Geheimnisse erzeugt der Passwort-Generator, Fingerabdrücke der Hash-Generator, den Subject-Claim eines Tokens liest der JWT Decoder, und Zeitwerte prüfen Sie im Unix-Timestamp-Konverter.