Generate UUID v8
A 128-bit identifier with an application-defined payload — the spec reserves only the version and variant bits, so the remaining 122 bits are yours to assign.
Generated · 0 IDs
Options
This ID
Collision
Custom data reduces the random space by overwriting bytes. The estimate follows the random bits left after your prefix and the fixed UUID version and variant bits are applied.
Validate and parse UUID v8
Paste an ID
About UUID v8
Use when: you need a UUID-shaped ID for an experimental or vendor-specific use case — RFC 9562 §5.8 reserves v8 for exactly that.
Avoid when: a standard format will do. v4 covers random IDs and v7 covers time-sortable ones — both are easier to reason about.
How it is generated
A v8 UUID is a blank UUID-shaped canvas. RFC 9562 reserves only the version nibble and the variant bits — 6 bits total — and leaves the other 122 to the application.
This page seeds the payload with random bytes, then overlays whatever hex you paste into the "Custom data" field over the leading bytes. Anything past your hex stays random. The result is a syntactically valid UUID that carries whatever shape you need.
- 01 Read 16 bytes from crypto.getRandomValues as the random base.
- 02 If "Custom data" is non-empty: hex-decode it and overwrite the leading bytes (left-aligned, partial nibble at the end is padded with 0).
- 03 Overwrite the high nibble of byte 6 with 1000 (version 8) and the top two bits of byte 8 with 10 (variant). Those are the only bits the spec dictates.
- 04 Hex-encode with dashes after bytes 4, 6, 8, 10.
xxxxxxxx-xxxx-8xxx-Nxxx-xxxxxxxxxxxx └──┬───┘ └─┬┘ └─┬┘ └─┬┘ └────┬─────┘ │ │ │ │ └── application bits (48) │ │ │ └────────── variant "10" + application bits (14) │ │ └─────────────── version "8" + application bits (12) │ └──────────────────── application bits (16) └────────────────────────── application bits (32) Total: 122 application-defined bits + 6 spec-reserved bits.
All of this runs in your browser. Random bytes come from crypto.getRandomValues, timestamps come from the system clock, and nothing about the generated ID leaves the tab.