AI Tools Free

UUID Validator & Decoder (v7 Timestamp & Batch Inspector)

Inspect single or bulk UUIDs (`v1`–`v8`, `Nil`, and `Max`): verify RFC 9562 syntax and variant bits, decode 48-bit `UUIDv7` millisecond timestamps (`unix_ts_ms` and ISO-8601 UTC), flag `UUIDv4` as non-timestamped, and check multi-line batches for duplicates and lexicographical sort order.

Free to useNo sign-upRuns in your browser
Enter your details

Enter the inputs, then select Validate & Decode UUIDs.

Paste one or more UUIDs (standard 8-4-4-4-12, {braced}, urn:uuid:, or 32-character hex).

Optionally enforce that every UUID in the batch matches a specific RFC 9562 version.

Flags UUIDv7 timestamps that lie further in the future than this tolerance (default 60,000 ms = 1 min).

Your result
Enter your details

Result will appear here

How the UUID Validator, Timestamp Decoder & Batch Auditor Works

The decoder strips optional `urn:uuid:` prefixes or `{}` braces, validates the 128-bit hexadecimal structure, inspects octet 6 (version) and octet 8 (variant), extracts embedded `unix_ts_ms` (for v7) or 100ns Gregorian ticks (for v1/v6), and audits multi-line batches for duplicates and byte-sort monotonicity.

v7_ms = BigInt('0x' + hex.slice(0, 12)); rand_a = parseInt(hex.slice(13, 16), 16); isSorted = every(u[i] <= u[i+1]).

When a Version 4 UUID is inspected, the tool explicitly reports `No embedded timestamp (122 random bits)` rather than returning a bogus date.

UUID Validator & Decoder (v7 Timestamp & Batch Inspector) workflow overview
Workflow overview for UUID Validator & Decoder (v7 Timestamp & Batch Inspector).

UUID Versions (RFC 9562) & What Decoding Can Prove

Compare RFC 9562 UUID versions, how to identify them at character 15, whether they embed a timestamp, and what decoding actually proves.

UUID VersionChar 15 NibbleEmbedded Timestamp?What Decoding Proves vs. Cannot Prove
UUIDv1 (Gregorian + MAC)`1` (`0001`)Yes (60-bit 100ns since 1582-10-15)Proves generator's 100ns clock & node/MAC; does not prove DB commit time.
UUIDv3 / UUIDv5 (Name Hash)`3` or `5`No (122-bit MD5 / SHA-1 hash)Proves deterministic namespace+name hash; cannot be reversed to input string.
UUIDv4 (Random CSPRNG)`4` (`0100`)No (122 random bits)Proves syntax & RFC variant `8/9/a/b` only; contains zero time information.
UUIDv6 (Reordered Gregorian)`6` (`0110`)Yes (60-bit big-endian 100ns)Time-sortable v1 layout; clock value is still unauthenticated generator time.
UUIDv7 (Unix Epoch ms)`7` (`0111`)Yes (48-bit big-endian Unix ms)Extracts `unix_ts_ms`, `rand_a` (12b), and `rand_b` (62b); does not prove server commit order.
Nil / Max Sentinel UUIDs`0` / `f`No (all `0`s or all `f`s)Special RFC 9562 §5.9–5.10 boundary sentinels (`0000...` and `ffff...`).

How to Decode UUIDv7 Timestamps and Audit a UUID Batch

Inspect single identifiers or audit log exports in three steps.

Paste one UUID or up to 500 lines

Paste hyphenated UUIDs (`0192be3d-ec90-71a4-8a3f-4c91b2e01101`), compact 32-hex strings, or `{braced}` identifiers.

UUID Validator & Decoder (v7 Timestamp & Batch Inspector) step 1: Paste one UUID or up to 500 lines
Step 1 workflow overview for UUID Validator & Decoder (v7 Timestamp & Batch Inspector).

Set optional version policy and clock-skew tolerance

Select 'Require UUIDv7 only' if you are auditing a migration table, or keep 'Accept any valid RFC 9562 UUID' for mixed logs.

UUID Validator & Decoder (v7 Timestamp & Batch Inspector) step 2: Set optional version policy and clock-skew tolerance
Step 2 workflow overview for UUID Validator & Decoder (v7 Timestamp & Batch Inspector).

Review decoded timestamps, duplicates, and sort order

Click Validate & Decode UUIDs to view per-UUID bit breakdowns, duplicate line numbers, and whether the list is in ascending lexicographical order.

UUID Validator & Decoder (v7 Timestamp & Batch Inspector) step 3: Review decoded timestamps, duplicates, and sort order
Step 3 workflow overview for UUID Validator & Decoder (v7 Timestamp & Batch Inspector).

Worked examples for UUID Validator & Decoder (v7 Timestamp & Batch Inspector)

Compare baseline and alternative runs for UUID Validator & Decoder (v7 Timestamp & Batch Inspector) before exporting the result.

Baseline example

Validate and decode single or bulk UUIDs (v1-v8, Nil, Max). Extract embedded UUIDv7 UTC timestamps, verify RFC 9562 variant bits, and check batch duplicates and sorting.

UUID Validator & Decoder (v7 Timestamp & Batch Inspector) example 1: Baseline example
Worked example 1 for UUID Validator & Decoder (v7 Timestamp & Batch Inspector).

Comparison scenario

v7_ms = BigInt('0x' + hex.slice(0, 12)); rand_a = parseInt(hex.slice(13, 16), 16); isSorted = every(u[i] <= u[i+1]).

UUID Validator & Decoder (v7 Timestamp & Batch Inspector) example 2: Comparison scenario
Worked example 2 for UUID Validator & Decoder (v7 Timestamp & Batch Inspector).

Boundary check before exporting

When a Version 4 UUID is inspected, the tool explicitly reports `No embedded timestamp (122 random bits)` rather than returning a bogus date.

UUID Validator & Decoder (v7 Timestamp & Batch Inspector) example 3: Boundary check before exporting
Worked example 3 for UUID Validator & Decoder (v7 Timestamp & Batch Inspector).

How to interpret the UUID Validator & Decoder (v7 Timestamp & Batch Inspector) output

Review the calculated output alongside your entered parameters and unit conventions.

When a Version 4 UUID is inspected, the tool explicitly reports `No embedded timestamp (122 random bits)` rather than returning a bogus date.

How to interpret UUID Validator & Decoder (v7 Timestamp & Batch Inspector) results
Result interpretation guide for UUID Validator & Decoder (v7 Timestamp & Batch Inspector).

Input limits, assumptions, and related tools

Check the model scope and boundary conditions before applying the numbers to a real project.

v7_ms = BigInt('0x' + hex.slice(0, 12)); rand_a = parseInt(hex.slice(13, 16), 16); isSorted = every(u[i] <= u[i+1]). When a Version 4 UUID is inspected, the tool explicitly reports `No embedded timestamp (122 random bits)` rather than returning a bogus date.

Scope limits and assumptions for UUID Validator & Decoder (v7 Timestamp & Batch Inspector)
Assumptions and input boundaries for UUID Validator & Decoder (v7 Timestamp & Batch Inspector).

Frequently Asked Questions

Answers about using UUID Validator & Decoder (v7 Timestamp & Batch Inspector) and understanding its results.

Can you extract a creation timestamp from a UUIDv4?

No. A Version 4 UUID consists of 6 fixed version/variant bits and 122 cryptographically random bits. It contains zero timestamp bits. Any tool claiming to decode a date from a UUIDv4 or 'convert UUIDv4 to UUIDv7' without an external database timestamp is misinterpreting random bits.

Does the timestamp decoded from a UUIDv7 prove when a database row was created?

No. The 48-bit unix_ts_ms field inside a UUIDv7 only records what the generating machine's clock read at the moment the UUID was constructed. If the UUID was minted on a client device with a skewed clock, pre-generated in a worker pool minutes before INSERT, or backfilled during a migration, the embedded timestamp will differ from the database transaction commit time.

How do I extract the timestamp from a UUIDv7 in PostgreSQL 18?

PostgreSQL 18 provides the built-in function uuid_extract_timestamp(uuid) which returns a timestamptz for Version 1 and Version 7 UUIDs (and returns NULL for Version 4 UUIDs).

What is the difference between Nil UUID, Max UUID, and standard RFC 9562 variants?

RFC 9562 defines two special all-zero and all-one identifiers: the Nil UUID (00000000-0000-0000-0000-000000000000) and the Max UUID (ffffffff-ffff-ffff-ffff-ffffffffffff). All standard v1-v8 UUIDs have variant bits 0b10 in the top two bits of octet 8, meaning the 17th hex digit is always 8, 9, a, or b.

Try your own values

Choose another tool for your next calculation, conversion, or text task.

Validate & Decode UUIDs