
UUIDv7 Generator
Generate RFC 9562 UUIDv7 identifiers locally in your browser. Supports bulk generation (1-1,000), embedded timestamp inspection, monotonic counter ordering, and JSON/SQL export.
Open toolInspect 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.
Enter the inputs, then select Validate & Decode UUIDs.
Result will appear here
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.
Compare RFC 9562 UUID versions, how to identify them at character 15, whether they embed a timestamp, and what decoding actually proves.
| UUID Version | Char 15 Nibble | Embedded 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...`). |
Inspect single identifiers or audit log exports in three steps.
Paste hyphenated UUIDs (`0192be3d-ec90-71a4-8a3f-4c91b2e01101`), compact 32-hex strings, or `{braced}` identifiers.
Select 'Require UUIDv7 only' if you are auditing a migration table, or keep 'Accept any valid RFC 9562 UUID' for mixed logs.
Click Validate & Decode UUIDs to view per-UUID bit breakdowns, duplicate line numbers, and whether the list is in ascending lexicographical order.
Compare baseline and alternative runs for UUID Validator & Decoder (v7 Timestamp & Batch Inspector) before exporting the result.
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.
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.
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.
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.

Generate RFC 9562 UUIDv7 identifiers locally in your browser. Supports bulk generation (1-1,000), embedded timestamp inspection, monotonic counter ordering, and JSON/SQL export.
Open tool
Validate systemd .service and .timer unit files online: check section headers, ExecStart absolute paths, Type/BusName rules, and sandboxing directives.
Open tool
Split multi-contact .vcf vCard files into individual BEGIN:VCARD...END:VCARD blocks and extract FN, TEL, and EMAIL contact tables locally in your browser.
Open toolChoose another tool for your next calculation, conversion, or text task.

Generate Linux and macOS find commands with -name/-iname globs, file type (-type f/d), size, modification time (-mtime), -maxdepth, and -exec actions.
Open tool
Convert Apple XML .plist (Property List) files to formatted or minified JSON online, mapping <dict>, <array>, <string>, <integer>, <real>, and <true/>/<false/>.
Open tool
Generate rsync commands for local and remote SSH file synchronization with -avzP, custom SSH port, --delete, --exclude patterns, and --dry-run safety.
Open tool
Generate ~/.ssh/config Host blocks with HostName, User, Port, IdentityFile, ProxyJump bastion host, LocalForward port forwarding, and ServerAliveInterval.
Open toolAnswers about using UUID Validator & Decoder (v7 Timestamp & Batch Inspector) and understanding its results.
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.
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.
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).
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.
Choose another tool for your next calculation, conversion, or text task.