Tools
ULID-Generator
Der ULID-Generator erstellt Universally Unique Lexicographically Sortable Identifiers – eine moderne Alternative zu UUIDs. ULIDs sind 128-Bit-IDs, die in Crockford-Base32 kodiert sind und sich lexikografisch nach Erstellungszeit sortieren lassen. Das Tool generiert einzelne oder mehrere ULIDs auf Knopfdruck und zeigt deren Komponenten (Timestamp und Zufallsanteil) separat an.
Was ist eine ULID?
ULID steht für Universally Unique Lexicographically Sortable Identifier. Eine ULID besteht aus 128 Bit und wird als 26-stellige Crockford-Base32-Zeichenkette dargestellt (z. B. 01ARZ3NDEKTSV4RRFFQ69G5FAV). Die ersten 10 Zeichen kodieren den Millisekunden-Timestamp, die letzten 16 Zeichen sind kryptografisch zufällig. Dieser Aufbau garantiert, dass ULIDs bei gleicher Sortierreihenfolge wie UUID-kompatibel behandelt werden können, aber lexikografisch nach Erstellungszeit sortierbar sind – ein entscheidender Vorteil gegenüber UUIDs v4 bei Datenbankindizes.
Wie funktioniert das Tool?
Das Tool liest beim Klick auf 'Generieren' den aktuellen Timestamp in Millisekunden aus und erzeugt 80 kryptografisch zufällige Bits mit crypto.getRandomValues(). Beide Teile werden zusammengesetzt und in Crockford-Base32 kodiert. Das Ergebnis wird als ULID-String angezeigt, und die Einzelkomponenten (Timestamp in ms, Timestamp als ISO-Datum und der Zufalls-Teil) werden separat aufgeführt. Für Batch-Generierung können mehrere ULIDs auf einmal erzeugt werden.
Typische Anwendungsfälle
- Generieren von sortierbaren Primary Keys für Datenbanken, die eine natürliche Zeitreihenordnung ermöglichen
- Erstellen von IDs für verteilte Systeme ohne zentrale ID-Vergabe und ohne Sortierprobleme
- Ersetzen von UUID v4 in Systemen, bei denen die zeitliche Sortierbarkeit der IDs wichtig ist
- Generieren von eindeutigen Dateinamen oder Event-IDs mit eingebettetem Timestamp
Schritt-für-Schritt-Anleitung
- Schritt 1: Lege optional die Anzahl der zu generierenden ULIDs fest.
- Schritt 2: Klicke auf 'Generieren', um neue ULID(s) zu erstellen.
- Schritt 3: Lies den Timestamp-Anteil und den Zufalls-Anteil der ULID ab.
- Schritt 4: Kopiere die ULID(s) per Klick in die Zwischenablage.
Beispiel
Eingabe
Aktueller Zeitpunkt: 2026-04-18T10:30:00.000Z
Ausgabe
01JRZ3NDEKTSV4RRFFQ69G5FAV
Tipps & Hinweise
- ULIDs sind monoton steigend innerhalb derselben Millisekunde, da der Zufallsanteil bei mehreren IDs pro Millisekunde inkrementiert wird – das garantiert eine stabile Sortierreihenfolge.
- In PostgreSQL können ULIDs als UUID gespeichert werden, da beide 128 Bit haben. Die ULID-Bibliothek bietet Konvertierungsfunktionen zwischen ULID-String und UUID-Format.
- Crockford-Base32 vermeidet visuell ähnliche Zeichen: I, L, O und U sind ausgeschlossen, um Verwechslungen zu verhindern.
Häufige Fragen
Was ist der Vorteil von ULIDs gegenüber UUIDs?
UUID v4 sind völlig zufällig und können nicht lexikografisch sortiert werden. Dies führt bei B-Tree-Datenbankindizes zu Page-Splits und schlechter Performance. ULIDs beginnen mit dem Timestamp und sind daher lexikografisch sortierbar, was zu weniger Index-Fragmentierung und besseren Datenbankabfragen führt.
Sind ULIDs wirklich unique?
Die 80 zufälligen Bits ergeben eine Kollisionswahrscheinlichkeit von ca. 1 zu 2^80 (über 1,2 Quintillionen Möglichkeiten). Bei normaler Anwendung ist die Wahrscheinlichkeit einer Kollision vernachlässigbar gering.
Kann ich ULIDs in bestehenden UUID-Feldern speichern?
Ja. ULIDs haben dieselbe Bit-Länge wie UUIDs (128 Bit). Viele Bibliotheken bieten Funktionen zur Konvertierung zwischen ULID-String (26 Zeichen Crockford-Base32) und UUID-Format (32 Hex-Zeichen mit Bindestrichen).
ULID-Generator
Generiert Universally Unique Lexicographically Sortable Identifiers (ULIDs) — 128-Bit-IDs in Crockford-Base32, lexikografisch sortierbar, mit Zeitstempel-Dekodierung.
Tool öffnen