What is a UUID v8 Generator
A UUID v8 is a free-form 128-bit identifier where you control the contents, except for the version (8) and variant bits which mark it as a valid UUID. It exists for vendor-specific or experimental layouts that do not fit v1–v7.
Because the layout is custom, v8 is best used when you have a specific encoding in mind (for example a packed timestamp plus a shard ID) and need it to remain a valid UUID for tooling and storage.
How to
- Set how many UUIDs you need (1–1000).
- Toggle uppercase, hyphens and braces.
- Press Generate to produce v8-shaped values.
Use cases
- Vendor-specific identifiers that must still be valid UUIDs.
- Packed encodings (timestamp + region + sequence) in 128 bits.
- Experimenting with custom ID schemes without breaking UUID tooling.
Compare UUID v8 Generator with other formats
| Option | When to use |
|---|---|
UUID v8 | Custom layout; you define the bits |
UUID v7 | Standard time-ordered layout |
UUID v4 | Standard random layout |
Code examples
JavaScript
import { v8 } from 'uuid';
const id = v8({ customA: 0x1234, customB: 0x5678, customC: new Uint8Array(8) });
Python
# uuid8 / uuid6 libraries support custom fields
from uuid_extensions import uuid8
id = uuid8(0x1234, 0x5678, b'\x00'*8)
Frequently asked questions
When should I use v8?
Only when you need a custom bit layout that no standard version provides, and still want the value to be a valid UUID for storage and tooling.
Is v8 random on this page?
This generator emits a v8-shaped value with random custom fields, since no single custom layout applies to every visitor. Use your own encoding in production.
Is v8 standardized?
Yes — RFC 9562 (2024) defines v8 as the custom-format version, specifying only the version and variant bits.