UUID v8 Generator

UUID v8 generator creates a version 8 UUID in your browser and copies it in one click. UUID v8 is the custom-use version defined in RFC 9562. It keeps the standard 128-bit layout, but leaves 122 bits for your application to define.

UUID v8 · Custom / vendor-specific Generated in your browser. Nothing is sent to any server.

Shortcuts: C copy · R new uuid · G generate bulk

Mode
Format
Style
Separator

The tool shows the bit layout of every value, so you can see which bits are fixed and which are custom. Your UUIDs are generated in your browser, and nothing is sent to a server.

What Is UUID v8?

UUID v8, also written as uuidv8, is the custom-use version of the UUID format defined in RFC 9562. UUID version 8 keeps the standard 128-bit layout, but only fixes the version and variant bits. The other 122 bits are left for your application to define. People often shorten the name to UUID 8, which means the same thing: a standard-looking UUID whose contents you design yourself.
Other versions tell you how to fill those bits. UUID v4 uses random data, and UUID v5 hashes a namespace and a name. UUID v8 leaves that choice to you: a system might store a timestamp, a shard number, a tenant code, or a hash of its own data.
That freedom has a cost. The layout is private to the system that creates it, so another system cannot assume what the bits mean. The RFC also leaves uniqueness to the implementation, so your layout has to prevent duplicates.
A UUID v8 still looks and behaves like any other UUID. It uses the same 8-4-4-4-12 text form, the third group starts with 8, and it fits UUID columns and parsers without changes.

UUID v8 Example and Format

Here is a UUID v8 example, a UUIDv8 value created by the generator on this page in Time-based mode:


01a19725-4c8d-8321-9b3d-a1c72dcfa5ad

Every UUIDv8 value follows the standard text format: 32 hexadecimal digits in five groups of 8, 4, 4, 4, and 12, joined by hyphens, 36 characters in total. Two digits identify it. The first digit of the third group is 8, which is the version. The first digit of the fourth group is 9, which falls in the variant range of 8, 9, a, or b.
The rest is custom data, and its meaning depends on the generator.

In this tool’s Time-based mode, the first 12 hex digits (01a19725-4c8d) hold the Unix time in milliseconds. This value decodes to 1793537166477, which is 1 November 2026, 12:46:06.477 UTC. That is one generator’s layout, not a rule for every UUID v8.

Reading the timestamp in a UUID v8 made in Time-based mode: first 12 hex digits to Unix milliseconds to a UTC date

 UUID v8 Structure: Version Bits, Variant Bits, and Custom Data//image

In the Timestamp row, keep Current time to stamp the value with the moment you generate it, or switch to Custom time to choose the moment yourself. That helps with test data and fixtures. The embedded time is the one you chose, not the real creation time.

The four modes of the UUID v8 generator, all with the same version and variant bits

For the format, Standard gives the 36-character string, and URN adds the urn:uuid: prefix. Base64, Base64 URL-safe, and Hex (0x) write the 16 raw bytes instead. The style options are Uppercase, Hyphens (on by default), Braces, URL-encode, and Quotes (None by default).

Generate Multiple UUID v8 Values.

For a batch, use the same UUID v8 generator. Type a number or pick a preset: 1, 10, 50, 100, 500, or 1,000. Choose a separator (new line, comma with a new line, comma, space, or tab), then click Generate UUIDs or press G. The whole batch appears in a results panel with numbered rows.

Copy or Download the Results

Use the copy icon on any row for a single value, or Copy all for the whole list. To save the batch, download it as .txt, .csv, .json, or .sql, depending on where it is going next. Click Clear to empty the panel and start again.

UUID v8 Use Cases and Limitations

UUID v8 is useful when you need a UUID-shaped identifier that carries your own data or follows your own rules. UUID version 8 exists for vendor-specific and experimental formats, so the best uses are ones where the standard versions don’t fit:

  • Embedded routing data: Put a shard, tenant, or region code inside the ID, so a service can route a record without a database lookup.
  • Custom time-based IDs: Lay out your own timestamp precision or epoch, instead of the fixed 48-bit millisecond layout of UUID v7.
  • Hash-based IDs with another algorithm: Derive a repeatable UUID from a name using SHA-256 instead of the SHA-1 that UUID v5 uses.
  • Legacy ID migration: Keep an existing identifier scheme inside a standard 128-bit UUID column.

The limits come from the same freedom. The standard does not define what the custom bits mean, so a UUID v8 cannot be decoded without knowing the generator’s layout. A parser can confirm the version and variant, but not the contents. Sorting order, repeatable output, and compatibility with other systems exist only if your design provides them. If you don’t need custom data, a standard version is the simpler choice.

What a parser can confirm in a UUID v8 and what only the generator’s layout can tell you

UUID v8 Uniqueness and Security Limitations

A UUIDv8 value is not unique or secure just because it is a UUID. Both depend on the algorithm that fills the 122 custom bits. A layout with plenty of random bits can make collisions extremely unlikely, but a layout built from a few fixed fields can repeat. A hash-based layout returns the same UUID for the same input, by design.

Security needs the same care. The standard does not require UUID v8 to be unpredictable, so don’t assume it is a secret. Random bits protect you only if they come from a cryptographically secure source, so check how your generator produces them. A layout that embeds a timestamp or shard code also shows that information to anyone who reads the ID.

For access tokens, password resets, or session IDs, use a purpose-built secure token instead of any UUID. 

UUID v8 vs UUID v4, v5, and v7

The main difference is who defines the bits. UUID v4, v5, and v7 each follow a fixed recipe from RFC 9562. UUID version 8 fixes only the version and variant bits and leaves the other 122 bits for you.

UUID v4

UUID v5

UUID v7

UUID v8

What fills the bits

Random data

SHA-1 hash of a namespace and a name

Unix timestamp plus random data

Whatever your design defines

Contains a timestamp

No

No

Yes, in milliseconds

Only if your layout includes one

Sorts by creation time

No

No

Yes, when timestamps differ

Only if your layout makes it so

Same input, same UUID

No

Yes

No

Only if your layout is deterministic

Layout set by the standard

Yes

Yes

Yes

No, only version and variant

[UUID v4] is the usual choice for general identifiers. It is random, carries no time information, and does not sort by creation time. [UUID v5] hashes a namespace and a name, so the same input always gives the same UUID. That suits stable IDs derived from names such as URLs. [UUID v7] starts with a 48-bit Unix timestamp in milliseconds, so values sort by creation time when their timestamps differ.

Choose UUID v8 when none of those recipes fit. You might need to embed a shard or tenant code, hash with something other than SHA-1, or keep an existing ID scheme inside a UUID column. The mode selector in this generator shows the range: Random, Time-based, Custom fields, and Name-based (SHA-256) each produce a different layout.

That flexibility has limits. Another system cannot know what your custom bits mean; uniqueness is your responsibility, and sorting or repeatable output exists only if you design them in. If you don’t need custom data, UUID v7 or v4 is usually the simpler choice, and the [general UUID generator](General UUID Generator link) covers every version.

Frequently Asked Questions (FAQ’s)

There is no difference. UUID 8 is a common shorthand for UUID v8, the version 8 UUID defined in RFC 9562, and both names mean the same custom-use format. A UUID is version 8 only if the first digit of its third group is 8, not if an 8 appears somewhere else in the value.

No. RFC 9562 defines a 48-bit Unix millisecond timestamp for UUID v7, but UUID v8 has no standard timestamp field, only the version and variant bits. A particular UUID version 8 implementation can place a timestamp in its custom bits, as the Time-based mode of this generator does in its first 48 bits. You can read it only if you know that layout, and another UUID v8 may contain no time at all.

Yes. UUID version 8 is defined in Section 5.8 of RFC 9562, which replaced RFC 4122. The standard requires the 4-bit version to be set to 8 and the 2-bit variant to be set to the RFC layout. The other 122 bits are for experimental or vendor-specific use. The RFC does not say how to fill them or how to read them back.

Use UUID v4 for random identifiers and UUID v7 for time-ordered ones. Choose UUID v8 only when neither fits, for example, when you need to embed your own data or follow a custom layout. A uuidv8 value is not a default replacement for v4 or v7, because other systems cannot read its custom bits and its uniqueness is yours to design.

Related UUID Tools