UUID Generator
Generate v4 UUIDs (random universally unique identifiers). Each click produces a new one.
What is a UUID and why does software use them?
A UUID (Universally Unique Identifier, sometimes called GUID in Microsoft contexts) is a 128-bit value used to identify entities without requiring coordination between systems. The point of a UUID is that two different programs, running on two different machines, with no knowledge of each other, can each generate UUIDs and confidently assume they'll never collide. That property unlocks distributed systems design: you can let any service mint IDs locally without a central counter, you can merge databases without renumbering rows, and you can pre-generate IDs on the client before the server even sees the request. UUIDs come in five canonical versions defined by RFC 4122: v1 (time + MAC address based, leaks creation time and machine identity), v3 (MD5 hash of a namespace + name), v4 (random — the most common), v5 (SHA-1 hash of a namespace + name). RFC 9562 added v6 (time-ordered, like v1 but without the MAC leak) and v7 (Unix timestamp + random — designed specifically for database primary keys because it sorts chronologically). This tool generates v4 UUIDs using crypto.randomUUID(), which uses cryptographically-strong randomness from the browser's underlying OS — the same source TLS keys come from. Output is byte-identical to Python's uuid.uuid4(), Node's crypto.randomUUID(), and Go's google/uuid.NewRandom().
Common use cases
Database primary keys — replace auto-incrementing integers when you need to merge databases or generate IDs client-side.
Session identifiers in cookies — long enough that brute-forcing a valid session ID is computationally infeasible.
Idempotency keys for API requests — repeat the request safely; the server deduplicates by UUID.
File upload identifiers — name uploaded files by UUID to prevent path collisions and avoid exposing original filenames.
Distributed tracing IDs — each request gets a UUID, propagated through services for log correlation.
Test fixture identifiers — predictable randomness for test data without coordinating IDs across test cases.
Frequently asked questions
What does v4 mean?▼
How unique are UUIDs really?▼
Should I use v4 or v7 for database primary keys?▼
Is crypto.randomUUID() safe to use?▼
What's the difference between UUID and GUID?▼
Can I shorten a UUID for URLs?▼
Why does my UUID start with the same characters as another?▼
Related tools
JWT Decoder
Decode JSON Web Tokens (JWT) instantly — inspect the header, payload, and signature claims. Runs entirely in your browser; tokens never leave your device. Safe for production secrets.
JSON Formatter & Validator
Format, validate, and minify JSON instantly. Catches syntax errors with line numbers, pretty-prints with adjustable indent, supports large payloads. Runs in your browser — no upload.
XML Formatter & Beautifier
Format and beautify XML documents — proper indentation, line breaks, namespace handling. Useful for SOAP responses, sitemaps, RSS feeds, and Android resource files.
Base64 Encoder & Decoder
Encode and decode Base64 strings.
URL Encoder & Decoder
Encode/decode URL-safe strings.
HTML Entity Encoder & Decoder
Convert special characters to/from HTML entities.