toolbench.onlineby Valkyron Labs

ID Generators

UUID v7 Generator

Create time-ordered UUID version 7 values for databases and event logs, then read the creation time back from a value you already have on hand.

UUID v7 Generator

Generate sortable UUID v7 values and read the embedded timestamp.

Timestamp inspection

—

UUID v7 output

—

Output actions

Ready to copy output once your result appears.

A millisecond prefix, then random bits

UUID v7 Generator draws version-7 UUIDs from the clock and from crypto.getRandomValues, one per line. Quantity accepts 1 to 100 and starts at 5. Generate UUID v7 values writes the batch in lowercase with hyphens. Reset batch clears the lines and leaves Quantity as it is. Under the button, UUID v7 to inspect plus Inspect timestamp reads the first 48 bits of a hyphenated version-7 value as a UTC time. Copy output and Download output use the generated lines, not the inspection line.

How to generate and read a UUID v7

  1. 1Set Quantity. The field allows 1 to 100. A click clamps a blank, a decimal, or an out-of-range entry into that span, and the field then shows the clamped integer.
  2. 2Press Generate UUID v7 values. UUID v7 output lists one lowercase hyphenated id per line. Press Reset batch to clear that list without changing Quantity.
  3. 3Paste a hyphenated version-7 id into UUID v7 to inspect and press Inspect timestamp. A match prints UTC timestamp: and an ISO time. Anything else prints Enter a valid UUID v7 with the RFC variant.

What it is good for

  • • Drawing a short batch of time-ordered ids for a local fixture, up to 100 lines.
  • • Reading the UTC time stored in 0190d8e0-0000-7000-8000-000000000000.
  • • Seeing that a version-4 id is rejected by Inspect timestamp even though it is a UUID.

Example

Input

0190d8e0-0000-7000-8000-000000000000 in UUID v7 to inspect

Output

UTC timestamp: 2024-07-22T05:17:57.120Z

Generate UUID v7 values draws new ids from the current clock, so those lines change on every click. The sample is the inspector, which is stable for this fixed value.

Where the clock sits in the id

Each id is 16 bytes. The page fills them from crypto.getRandomValues, then writes Date.now() into the first six bytes, high byte first. The high four bits of byte 6 are set to 7, which is the version nibble. The high two bits of byte 8 are set to the RFC variant pattern 10, and the other bits in those bytes stay random. The text form is eight, four, four, four, and twelve lowercase hex digits with hyphens. There is no uppercase switch, no brace switch, and no switch that drops the hyphens.

The first twelve hex digits are the Unix time in milliseconds. Inspect timestamp requires a hyphenated id whose version nibble is 7 and whose variant nibble is 8, 9, a, or b. It then parses those twelve digits and prints the UTC ISO time. 0190d8e0-0000-7000-8000-000000000000 prints 2024-07-22T05:17:57.120Z. A value that fails the pattern does not produce a partial time. The generator's own lines always match the pattern, because it stamps version 7 and the RFC variant itself.

Quantity, Generate, and Inspect timestamp

Quantity starts at 5. Generate UUID v7 values uses an integer from 1 to 100. A decimal is truncated. A blank, zero, or a non-number becomes 1. A number past 100 becomes 100. The field is rewritten to that integer, then the lines are drawn. Reset batch empties UUID v7 output and does not reset Quantity to 5. The inspection field is independent: clearing the batch does not clear UUID v7 to inspect, and inspecting does not change the batch.

Copy output and Download output follow the generated lines. The inspection sentence stays in Timestamp inspection. There is no option to copy both at once. A fresh visit starts with an empty batch, because this page does not restore a previous list. If you need more than 100 lines, generate again and append the copy yourself. The UUID generator draws version 4, up to 1,000 lines, and can print uppercase, drop hyphens, or add braces. It does not stamp a time.

When a time-ordered UUID is the id you want

Use this shape when the column or the API already stores a UUID and new rows should roughly follow creation order in a text sort. The time prefix is why a later click usually sorts after an earlier one. That is not a promise about database indexes. The engine, the column type, and the workload decide whether the prefix helps. A random version-4 id is the better fit when the id must not reveal when it was minted. A ULID is a different text form. The ULID generator draws that 26-character spelling and has its own inspector.

Anyone who can read the id can read the time. That is useful when a fixture should show when it was created, and it is a poor session secret. A comparison of version 4, version 7, and ULID, including what a time prefix does not guarantee, is in UUID v4 vs UUID v7 vs ULID. To check the version nibble of a value you did not just draw, use the UUID validator. Inspect timestamp on this page is stricter: it accepts only hyphenated version 7 with the RFC variant.

Same-millisecond draws and a clock you can set

The page does not keep a counter between clicks. Two ids drawn while Date.now() is the same millisecond share a time prefix, and the remaining bits are a fresh random fill. Their sort order is the sort order of those bits, not the order of the clicks. A batch of 100 drawn inside one millisecond can list a later line that sorts before an earlier line. Waiting for the clock to move is the only way this page separates the prefixes.

The prefix is the browser clock, not a server clock. A laptop set five minutes fast stamps every new id five minutes fast, and Inspect timestamp will report that fast time. A value someone else assembled with a chosen prefix still decodes. The inspector does not prove a remote event happened then, and it does not check that the id is unique in your database. A version-4 id, a missing hyphen, or a non-RFC variant fails the pattern and prints Enter a valid UUID v7 with the RFC variant.

Rules and limitations

Quantity is clamped to an integer from 1 to 100, starting at 5. Each id is 16 bytes: a millisecond timestamp in the first six, version nibble 7, RFC variant bits, and random fill from crypto.getRandomValues. Text is lowercase and hyphenated.

Inspect timestamp accepts only a hyphenated version-7 id with variant nibble 8, 9, a, or b, and prints the first 48 bits as a UTC ISO time. Reset batch clears the generated lines only. There is no uppercase, brace, or unhyphenated mode.

Common problems

If two lines from one click sort out of click order, they share a millisecond and the random bits decided the order. This page has no monotonic counter.

If Inspect timestamp rejected a UUID you know is valid, it is probably not version 7, not hyphenated, or not the RFC variant. A version check for other versions belongs on the UUID validator.

Frequently asked questions

How many UUID v7 values can one click draw?

From 1 to 100. The field starts at 5. A blank or a non-number becomes 1, a decimal is truncated, and a larger entry becomes 100.

Will two ids from the same millisecond stay in click order?

Not necessarily. They share a time prefix, and the other bits are random. This page does not keep a counter across clicks.

Can I read the time from an id I did not generate here?

Yes, if it is hyphenated, version 7, and the RFC variant. Paste it into UUID v7 to inspect and press Inspect timestamp. A crafted prefix still decodes.

Is the embedded time a secret?

No. Anyone who can see the id can read the millisecond time. Do not use that id as a session token or a password.

Is my input uploaded or saved?

This tool processes input in your browser and does not save its input or output to local storage. Copy and download are user actions. The site uses analytics for page and action metadata and may use ads and production error reporting; see the Privacy Policy for those services.

About this tool

Maintained by Toolbench. For large or deeply nested files, split the input into smaller batches and verify representative results before using them in an import or application. Report reproducible problems through Contact.

Guides

Next steps

Related tools

Continue the workflow with nearby tools for formatting, publishing, debugging, or follow-up checks.

Trust

Policies, contact, and answers

Clear pages for how Toolbench works, what we collect, and how to reach us.