# UUID v7 Generator > Free in-browser tool that generates UUID v7 (and v4) identifiers in bulk, with a UUID decoder that reads version, variant, and the v7 creation timestamp. Independent tool, not affiliated with any vendor. Updated 2026-10-23. Full page: https://lab.awaara.cn/uuid-v7-generator/ ## What it does - Generates UUID v7 (time-ordered) or v4 (random) identifiers, 1 to 10,000 per click, using the browser's cryptographic random number generator. - Output formats: one per line, JSON array, SQL quoted list, or braces {GUID} style; lowercase or uppercase; with or without hyphens. - Field inspector breaks the first generated UUID into timestamp, version, variant, and random bits. - Decoder: paste any UUID to check validity and read its version, variant, and (for v7) the exact creation timestamp in milliseconds and ISO 8601. - Everything runs locally in the browser. Nothing is sent to a server; the page works offline once loaded. ## What UUID v7 is - 128-bit identifier standardized in RFC 9562 (May 2024). First 48 bits are a Unix timestamp in milliseconds, so IDs sort by creation time as plain strings; 74 random bits keep collisions effectively impossible. - Byte layout: bits 0-47 unix_ts_ms; bits 48-51 version nibble (7); bits 52-63 rand_a (12 random bits); bits 64-65 variant (10); bits 66-127 rand_b (62 random bits). - Why it matters for databases: random v4 keys scatter B-tree inserts; v7 keys arrive roughly ascending, so inserts append and indexes stay dense. - Ecosystem support (2026): PostgreSQL 18 native uuidv7(); MySQL 9 UUID_V7_BIN(); Python 3.14 uuid.uuid7(); npm uuid package v7() since v10; Supabase, PlanetScale, and Cloudflare D1 default new primary keys to v7. - Tradeoff: v7 leaks its creation time to anyone who sees the ID. Do not use it for rows where creation time is sensitive (use v4 there). Do not use UUIDs as secrets; do not pre-generate IDs for production inserts (mint at insert time); deterministic IDs need v5, not a random generator. - vs ULID: both are 128-bit time-ordered IDs; v7 is the IETF standard with native runtime/database support, ULID is a community spec in Crockford base32. ## Code snippets (from the page) - JavaScript: import { v7 as uuidv7 } from 'uuid'; uuidv7() - Python 3.14+: import uuid; uuid.uuid7() - PostgreSQL 18: SELECT uuidv7(); - MySQL 9: SELECT UUID_V7_BIN(); - Go: uuid.Must(uuid.NewV7()) from github.com/google/uuid ## Sources - RFC 9562, Universally Unique IDentifiers (UUIDs): https://www.rfc-editor.org/rfc/rfc9562.html - PostgreSQL 18 UUID functions: https://www.postgresql.org/docs/18/functions-uuid.html - MySQL 9 miscellaneous functions (UUID_V7_BIN/UUID_V7_STR): https://dev.mysql.com/doc/refman/9.0/en/miscellaneous-functions.html - Python uuid docs: https://docs.python.org/3/library/uuid.html - Neon pg_uuidv7 extension docs: https://neon.com/docs/extensions/pg_uuidv7