Database & ID Utility
UUID, ULID & Modern ID Generator
Generate and decode UUIDv7 (timestamp-ordered), UUIDv4 (random), ULID, and NanoID. Designed for modern database primary keys, distributed tracing, and zero index fragmentation.
GENERATED IDENTIFIERS
Why UUIDv7 Is Replacing UUIDv4 in Modern Databases
For decades, standard practice was using UUIDv4 for globally unique IDs. However, UUIDv4 is purely random, which causes severe B-Tree index page splitting in PostgreSQL, MySQL, and SQLite.
``` UUIDv4 (Random): [84a1...] ──> Random Disk Write ──> ❌ B-Tree Page Splits UUIDv7 (Time-Ordered): [0192...] ──> Appended Sequentially ──> ✅ Clean B-Tree Leaves ```Primary ID Formats Compared
| Format | Sortable? | Entropy | Encoding | Best Use Case |
|---|---|---|---|---|
| UUIDv7 | ✅ Yes (Time ms) | 74 bits random | 36-char Hex (RFC 9562) | Modern SQL primary keys, event sourcing |
| UUIDv4 | ❌ No (Random) | 122 bits random | 36-char Hex (RFC 4122) | Ephemeral session IDs, security tokens |
| ULID | ✅ Yes (Time ms) | 80 bits random | 26-char Crockford Base32 | URL-friendly slugs, NoSQL partition keys |
| NanoID | ❌ No (Random) | 126 bits random | 21-char URL-safe Base64 | Frontend UI keys, short share links |