Skip to content

Was ist eine UUID, und wann solltest du eine verwenden?

6 Min. Lesezeit 13. Juni 2026
uuidguidbezeichnerdev

Eine UUID ist ein 128-Bit-Wert, meist 32 Hex-Ziffern in fünf Gruppen, mit dem jede Maschine ohne zentrale Stelle eine eindeutige ID erzeugt. Hier erfährst du, warum Kollisionen praktisch unmöglich sind und wann eine einfache Ganzzahl die bessere Wahl ist.

Was ist eine UUID, und wann solltest du eine verwenden? — Hivly

Wahrscheinlich hast du schon mal eine Zeichenkette wie f47ac10b-58cc-4372-a567-0e02b2c3d479 in einer URL, einer Datenbank oder einer Konfigurationsdatei gesehen und dich gefragt, was das ist und warum es so lang ist. Das ist eine UUID, und ihre einzige Aufgabe besteht darin, ein eindeutiger Bezeichner zu sein, den jede Maschine selbst erzeugen kann, ohne gemeinsamen Zähler und mit fast null Risiko, mit dem von jemand anderem zu kollidieren. Wenn du verstehst, wie sie funktioniert, weißt du genau, wann du eine einsetzt und wann eine schlichte Zahl das bessere Werkzeug ist.

Kurz gesagt: Eine UUID ist ein 128-Bit-Bezeichner, meist dargestellt als 32 Hex-Ziffern in fünf Gruppen (8-4-4-4-12). Es gibt sie, damit jede Maschine eine ID eigenständig erzeugen und trotzdem Kollisionen vermeiden kann, ganz ohne zentralen Server. Zufällige UUIDs (Version 4) sind praktisch garantiert eindeutig. Nimm eine für verteilte oder auf dem Client erzeugte IDs und für öffentliche IDs, die nicht erratbar sein sollen. Greif zu einer einfachen Auto-Increment-Ganzzahl, wenn eine einzige Datenbank die Schlüssel vergibt.

Was eine UUID eigentlich ist

Eine UUID ist ein 128-Bit-Wert. Damit diese Bits lesbar werden, schreibt man sie als 32 hexadezimale Ziffern, gruppiert nach dem Muster 8-4-4-4-12 und mit Bindestrichen verbunden, etwa 550e8400-e29b-41d4-a716-446655440000. Die Bindestriche haben keine Bedeutung, sie unterbrechen nur die lange Ziffernreihe. Der volle Name lautet universally unique identifier, und GUID, der Begriff, der dir in Microsoft-Tools begegnet, ist dasselbe unter einem anderen Namen.

Der Sinn all dieser Bits ist der Wertebereich. Mit 128 Bit gibt es rund 3,4 mal 10 hoch 38 mögliche Werte, eine so große Zahl, dass es praktisch nie passiert, denselben Wert zufällig zweimal zu treffen. Dieser riesige Raum ermöglicht erst das zentrale Versprechen des Verfahrens: dass eine auf einer Maschine erzeugte ID nicht mit einer auf einer anderen Maschine erzeugten kollidiert, obwohl sich beide nie abgestimmt haben.

Warum es UUIDs überhaupt gibt

Das Problem, das UUIDs lösen, ist das Erzeugen eines Bezeichners ohne zentrale Instanz. Eine klassische Datenbank vergibt IDs aus einem einzigen Zähler: Zeile 1, Zeile 2, Zeile 3, jede Zahl von einem Server ausgegeben, der weiß, welche er zuletzt vergeben hat. Das funktioniert wunderbar, bis du viele Server, Offline-Clients oder Systeme hast, die Datensätze anlegen müssen, ohne vorher nachzufragen. Zwei davon greifen beide nach “der nächsten Zahl” und kollidieren.

Eine UUID umgeht den Zähler komplett. Statt einen Server nach dem nächsten Wert zu fragen, erzeugt eine Maschine die UUID lokal aus Zufall oder einem Zeitstempel und vertraut darauf, dass der riesige Wertebereich sie eindeutig hält. Keine Abstimmung, kein Hin und Her, keine zentrale Stelle, bei der alle nachfragen müssen. Ein Handy im Flugmodus kann die ID eines Datensatzes erzeugen, ein Server eine andere, und wenn sie sich später synchronisieren, kollidieren die beiden IDs nicht. Diese Unabhängigkeit ist der ganze Grund, warum es das Format gibt.

Wie unwahrscheinlich ist eine Kollision wirklich

Bei einer UUID der Version 4, die ihre Bits mit Zufall füllt, ist eine Kollision theoretisch möglich und praktisch zu vernachlässigen. Eine v4-UUID legt ein paar Bits fest, um Version und Variante zu markieren, und lässt 122 zufällige Bits übrig, also etwa 5,3 mal 10 hoch 36 verschiedene Werte. Um auch nur eine Eins-zu-einer-Milliarde-Chance auf ein einziges Duplikat zu haben, müsstest du in der Größenordnung einer Trillion UUIDs erzeugen.

Im Alltag ausgedrückt: Du könntest etwa ein Jahrhundert lang jede Sekunde eine Milliarde v4-UUIDs erzeugen und hättest immer noch eher mehrfach im Lotto den Hauptgewinn als eine einzige Kollision. “Universally unique” ist also keine mathematische Garantie, aber der Abstand zwischen Theorie und Realität ist so groß, dass Produktivsysteme v4-UUIDs ohne Zögern als eindeutig behandeln. Du kannst selbst eine erzeugen mit einem kostenlosen UUID-Generator auf dev.hivly.net und das Format direkt sehen.

Die gängigen Versionen, und warum v7 wichtig ist

UUIDs gibt es in mehreren Versionen, und die Ziffer, mit der die dritte Gruppe beginnt, verrät dir, welche du gerade vor dir hast. Die beiden, die dir am häufigsten begegnen, sind Version 4 und die zeitbasierten Versionen. Eine UUID der Version 4 entsteht aus zufälligen Bits, trägt also keine Information darüber, wann oder wo sie erzeugt wurde. Sie ist reiner Zufall innerhalb des festen Aufbaus. Genau dieser Zufall macht sie zu einer guten öffentlichen ID, denn die nächste lässt sich nicht erraten.

Version 1 ist das alte zeitbasierte Design, das einen Zeitstempel mit der Netzwerkadresse der Maschine mischt, was Datenschutzbedenken weckte, weil es die Hardware-Identität verraten konnte. Version 7 ist die moderne zeitbasierte Variante, und sie behebt die interessante Schwäche von v4: die Sortierung. Eine v7-UUID stellt einen Millisekunden-Zeitstempel an den Anfang, sodass das Sortieren von v7-UUIDs als Text sie nach Erstellungszeit sortiert. Das klingt nach einer Kleinigkeit, ist aber für Datenbanken sehr wichtig: Zufällige v4-Schlüssel streuen Einfügungen über den ganzen Index, während v7-Schlüssel der Reihe nach landen und den Index aufgeräumt und schneller beschreibbar halten.

Wann du eine UUID nimmst, und wann nicht

Greif zu einer UUID, wenn IDs an vielen Stellen entstehen, die sich keinen Zähler teilen können: verteilte Dienste, mehrere Datenbanken oder Clients, die Schlüssel offline erzeugen, bevor sie sich synchronisieren. Nimm eine, wenn du eine öffentliche ID willst, die weder verrät, wie viele Datensätze du hast, noch jemandem erlaubt, die Reihenfolge abzulaufen. Eine URL, die auf /orders/8 endet, lädt dazu ein, /orders/9 auszuprobieren. Eine URL, die auf eine UUID endet, tut das nicht.

Eine schlichte Auto-Increment-Ganzzahl ist die einfachere, oft bessere Wahl, wenn eine einzige Datenbank alle IDs vergibt. Ganzzahlen sind winzig gegenüber einem 128-Bit-Wert, sie indizieren schneller, sind leicht zu lesen und zu tippen und sortieren sich von selbst. Der Preis einer UUID ist real: Sie braucht mehr Platz, indiziert bei Zufall langsamer, und niemand liest eine bequem laut vor. Die Entscheidung lautet also nicht “UUIDs sind modern, Ganzzahlen sind veraltet”. Es geht darum, wer die IDs erzeugt und ob der Wert undurchsichtig bleiben muss. Wenn ein einziger Server die Schlüssel vergibt und sie fortlaufend sein dürfen, nimm eine Ganzzahl. Wenn die Erzeugung verteilt ist oder die ID nicht erratbar sein darf, nimm eine UUID, und bevorzuge v7, wenn sie zusätzlich nach Zeit sortiert sein sollen.

Try the developer & network toolsFormat, validate, encode and generate — JSON, Base64, JWT, regex, UUID, hashes — plus subnet/IPv6 calculators, live DNS, MX and reverse lookups, and SPF/DKIM/DMARC records.

Häufige Fragen

Wie sieht eine UUID aus?
Eine UUID ist ein 128-Bit-Wert, normalerweise geschrieben als 32 hexadezimale Ziffern, die per Bindestrich in fünf Gruppen nach dem Muster 8-4-4-4-12 aufgeteilt sind. Ein Beispiel ist f47ac10b-58cc-4372-a567-0e02b2c3d479. Die Bindestriche dienen nur der Lesbarkeit, und derselbe Wert kann auch ohne Bindestriche oder in geschweiften Klammern auftauchen.
Ist eine UUID dasselbe wie eine GUID?
In der Praxis ja. GUID steht für globally unique identifier und ist vor allem der Begriff, den Microsoft verwendet, während UUID, universally unique identifier, der Name aus dem offiziellen Standard ist. Beide beschreiben denselben 128-Bit-Wert mit demselben Aufbau. Wenn du in einem Tool GUID liest und in einem anderen UUID, kannst du sie als identisch behandeln.
Können zwei UUIDs jemals gleich sein?
Bei einer UUID der Version 4 ist das theoretisch möglich, aber praktisch nicht. Eine v4-UUID hat 122 zufällige Bits, also etwa 5 mal 10 hoch 36 mögliche Werte. Du müsstest viele Jahre lang Milliarden davon pro Sekunde erzeugen, bevor auch nur eine einzige Kollision wahrscheinlich würde. Deshalb behandeln Anwendungen sie gefahrlos als eindeutig.
Sollte ich eine UUID statt einer Auto-Increment-Ganzzahl verwenden?
Nimm eine UUID, wenn IDs an vielen Stellen gleichzeitig entstehen, auf Clients oder über Dienste hinweg, die sich keinen Zähler teilen können, oder wenn eine öffentliche ID keine erratbare Reihenfolge sein soll. Nimm eine Auto-Increment-Ganzzahl, wenn eine einzige Datenbank die IDs vergibt, denn Ganzzahlen sind kleiner, schneller zu indizieren und leichter zu lesen.

Weiterlesen

Etwas Größeres im Sinn?

Hivly stammt von CodingEagles, einem Software-Studio, das produktionsreife Web-Apps liefert. Wenn du ein echtes Projekt hast, melde dich.

Sieh, was CodingEagles macht →