UUID-Generator/ v4 · v7

UUID v4 (zufällig) und UUID v7 (zeitgeordnet) in großen Mengen generieren. Großbuchstaben, Format ohne Bindestriche und Ein-Klick-Kopieren.

Anzahl:
5 × UUID v4
b0952400-3b15-4c67-8d1b-46fb246388f5
013508cb-9856-426a-bab0-933e2f7edb7e
1baa2c45-76c1-4607-81ee-0730d6ce92d4
33c4c9c3-e36d-413c-b6b9-f5ddf45386ad
87f3fb53-273f-4b5c-9679-d730c42e6dd9
UUID v4 verwendet 122 Bit kryptografischer Zufallszahlen. Die Kollisionswahrscheinlichkeit bei 1 Billion UUIDs beträgt ~10⁻¹⁵ — praktisch unmöglich.

Hat dieses Tool Ihr Problem gelöst?

Was ist eine UUID

Eine UUID (Universally Unique Identifier) ist ein 128-Bit-Bezeichner,通常 dargestellt als 32 Hexadezimalzeichen, z. B. `550e8400-e29b-41d4-a716-446655440000`. UUID v4 wird随机生成iert mit einer astronomisch niedrigen Kollisionswahrscheinlichkeit — man müsste 103 Billionen UUIDs生成ieren, um eine 50%-Chance auf ein Duplikat zu haben. Perfekt als eindeutiger Primärschlüssel in verteilten Systemen.

UUID-Versionsunterschiede

v1基于 Zeitstempel und MAC-Adresse (rückverfolgbar), v3/v5基于 Namespace und Hash (deterministisch), v4 ist rein随机 (am常见sten), v7 ist zeitlich sortiert +随机 (neuer Standard,平衡 Sortierung mit Zufälligkeit). v4 ist der Standard für die日常e Entwicklung; v7 ist ideal für Datenbank-Primärschlüssel, die chronologische Sortierung benötigen.

Codebeispiele

JavaScript / Node.js
// UUID v4 (browser & Node 19+)
const id = crypto.randomUUID();
// "110e8400-e29b-41d4-a716-446655440000"

// Node.js (< 19)
import { randomUUID } from "crypto";
const id = randomUUID();

// npm: uuid package
import { v4 as uuidv4, v7 as uuidv7 } from "uuid";
console.log(uuidv4());
console.log(uuidv7());
Python
import uuid

# UUID v4
print(uuid.uuid4())
# "a8098c1a-f86e-11da-bd1a-00112444be1e"

# UUID v5 (name-based, deterministic)
print(uuid.uuid5(uuid.NAMESPACE_DNS, "example.com"))

# As hex (no dashes)
print(uuid.uuid4().hex)
Go
// go get github.com/google/uuid
import "github.com/google/uuid"

// UUID v4
id := uuid.New()
fmt.Println(id.String())

// UUID v7 (google/uuid v1.6+)
id7, _ := uuid.NewV7()
fmt.Println(id7.String())
SQL
-- PostgreSQL
SELECT gen_random_uuid();          -- v4
INSERT INTO users (id, name)
  VALUES (gen_random_uuid(), 'Alice');

-- MySQL 8+
SELECT UUID();  -- v1 format
-- For v4: use application layer

-- SQLite (with extension or app)
SELECT lower(hex(randomblob(4))) || '-' ||
  lower(hex(randomblob(2))) || '-4' ||
  substr(lower(hex(randomblob(2))),2) || '-' ||
  substr('89ab', abs(random()) % 4 + 1, 1) ||
  substr(lower(hex(randomblob(2))),2) || '-' ||
  lower(hex(randomblob(6)));

Häufig gestellte Fragen

Was ist eine UUID?
Eine UUID (Universally Unique Identifier) ist ein 128-Bit-Bezeichner, der typischerweise als 32-stellige Hexadezimalzeichenfolge im Format 8-4-4-4-12 dargestellt wird (z. B. 550e8400-e29b-41d4-a716-446655440000). Sie ist in RFC 4122 definiert und ermöglicht die eindeutige ID-Generierung in verteilten Systemen ohne zentrale Koordination.
Was ist der Unterschied zwischen UUID v4 und v7?
UUID v4 ist vollständig zufällig (122 Bit), einfach und universell unterstützt. UUID v7 kodiert einen Unix-Millisekunden-Zeitstempel in den ersten 48 Bit und ist dadurch natürlich zeitgeordnet. Datenbankzeilen können nach UUID sortiert werden, um die Erstellungsreihenfolge zu erhalten, mit besserer B-tree-Index-Performance. UUID v7 wird für neue Projekte empfohlen.
Wie wahrscheinlich sind UUID-Kollisionen?
UUID v4 verwendet 122 Bit Zufälligkeit. Sie müssten etwa 2^61 (~2,3 Trillionen) UUIDs generieren, bevor eine 50%ige Kollisionswahrscheinlichkeit besteht. Millionen pro Sekunde zu generieren ist in der Praxis für verteilte Primärschlüssel völlig sicher.
UUID vs. ULID — was ist besser?
ULID (Universally Unique Lexicographically Sortable Identifier) ähnelt UUID v7 — zeitgeordnet — verwendet aber Crockford-Base32-Kodierung (26 Zeichen, keine Bindestriche) und ist dadurch kürzer. UUID v7 ist ein IETF-Standard mit breiterer Ökosystem-Unterstützung; ULID ist kompakter, wenn kürzere IDs bevorzugt werden.
Wie sollte man UUIDs in einer Datenbank speichern?
PostgreSQL hat einen nativen UUID-Typ. MySQL/MariaDB: BINARY(16) für kompakte Binärspeicherung oder CHAR(36) für Lesbarkeit. MongoDB: BinData(3) oder ein einfacher String. Indizieren Sie immer UUID-Spalten, nach denen Sie abfragen.
Warum hat UUID v7 eine bessere Datenbankleistung als v4?
Die Zufälligkeit von UUID v4 verursacht zufällige B-tree-Einfügungen, was zu häufigen Seitenaufteilungen und schlechter Cache-Nutzung führt. Die Zeitordnung von UUID v7 bedeutet, dass neue Zeilen am Ende des Index angehängt werden, ähnlich wie bei Auto-Increment-IDs — deutlich bessere Schreibleistung und Cache-Trefferraten bei großen Tabellen.