JSON Formatter & Validator
Format, validate, and beautify JSON instantly. Pretty-print or minify. Error messages show line and column. Free, runs in your browser.
Open toolHome › Tools › Developer Tools › UUID Generator
Generate random, time-based, or sortable UUIDs instantly in your browser. Choose a version, set quantity up to 100, and copy all with one click. Cryptographically secure via Web Crypto API. No server, no signup.
RFC 4122 random UUID — cryptographically secure via crypto.randomUUID(). 5.3×1036 possible values.
Best for: database primary keys, API correlation IDs, session tokens, test fixtures.
Nil UUID is always a single value — quantity is fixed at 1.
A UUID (Universally Unique Identifier) is a 128-bit label formatted as 32 hex digits in five hyphen-separated groups: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx. The M position encodes the version; the N position encodes the variant. UUIDs are designed to be generated independently — no central counter, no coordination between machines — with a collision probability so low it's negligible in any real system.
This tool generates UUID v4, v1, v7, and Nil identifiers in your browser using the Web Crypto API. Nothing is sent to a server. Generate a single value or a batch of up to 100, copy all with one click, and paste directly into SQL, JSON, code, or a terminal.
UUID v4 (Random) — 122 bits of cryptographic randomness. The right default for most use cases. Collision probability across 1 billion generated IDs: approximately 0.00000006%. Use for database primary keys, session tokens, API correlation IDs, and any identifier where revealing creation time is unwanted. Generated using crypto.randomUUID(), which draws from your OS's CSPRNG — the same entropy source used for TLS keys.
UUID v7 (Sortable, RFC 9562 — 2024) — A millisecond-precision Unix timestamp fills the high bits, followed by random bits. The result is lexicographically sortable: UUIDs created in sequence sort in creation order. This matters for databases — random v4 UUIDs inserted as primary keys cause B-tree page splits on every insert; v7 UUIDs fill pages sequentially, eliminating most index fragmentation. Use v7 for any database table where insertion order is meaningful (events, audit logs, rows where you'll query by recency).
UUID v1 (Time-based) — Embeds a 60-bit UTC timestamp at 100-nanosecond resolution (counted from October 15, 1582 — the Gregorian calendar reform date) plus a node identifier. Monotonically increasing within a time tick. Browser-generated v1 uses random bits for the node field rather than a real MAC address, which is the correct privacy-preserving behavior per RFC 4122. Use for audit logs where the ordering must be reconstructable from the ID itself without a separate timestamp column.
Nil UUID — 00000000-0000-0000-0000-000000000000. All zeros. A sentinel value meaning "no UUID" — the UUID equivalent of null. APIs that require a UUID-typed field but need to represent "not assigned" or "absent" use it as a typed null. Useful for testing how your API or database handles this case.
UUID v4 generation requires only cryptographic randomness — no server needs to be involved, and involving one adds latency and a network dependency for no benefit. The Web Crypto API provides OS-level entropy. The generated values are indistinguishable from those produced by server-side UUIDv4 libraries like Python's uuid.uuid4() or Node's crypto.randomUUID(). UUID v7 adds a timestamp from Date.now(), which is accurate to the millisecond in all modern browsers.
v4 is entirely random — 122 random bits with no timing information. v7 embeds a millisecond Unix timestamp in the high bits, making generated UUIDs lexicographically sortable. In databases, v4 primary keys cause B-tree index fragmentation because each insert lands at a random position; v7 keys arrive in order, so new pages fill sequentially. Use v7 for database primary keys; use v4 when the ID must not reveal when it was created.
UUID v4 values are generated using crypto.randomUUID(), which draws from your operating system's CSPRNG (cryptographically secure pseudo-random number generator) — the same source used for TLS session keys. They are not predictable from observed output. UUID v7 adds a millisecond timestamp, which is observable, but the random suffix remains cryptographically secure.
GUID (Globally Unique Identifier) is Microsoft's name for the same concept. The format and version numbers are identical. A UUID v4 from this tool is structurally identical to a GUID generated by .NET's Guid.NewGuid() — they differ only in the casing convention used when displayed (lowercase for UUID, uppercase for GUID by convention, though both are case-insensitive).
Theoretically yes; in practice no. For UUID v4: generating 1 billion IDs per second for 86 years gives you approximately a 50% chance of a single collision. For any realistic workload — 100 IDs per day — the probability of a duplicate in your application's lifetime is effectively zero.
The Nil UUID (00000000-0000-0000-0000-000000000000) is a sentinel value meaning "no UUID" — the UUID equivalent of null. It appears in protocols and APIs that require a UUID-typed field but need to represent "absent" or "not yet assigned." Use it to test how your code handles the null/empty UUID case.
RFC 4122 permits random bits in the node field as a privacy-preserving alternative to the machine's real MAC address. Embedding a real MAC address leaks a hardware identifier that can be used to track the generating machine across time. Browser-based v1 generators always use random node bits; the uniqueness guarantee is preserved because the random bits are combined with the timestamp, not used as the sole entropy source.
Yes. No account required, no rate limit, no watermark. UUID generation runs entirely in your browser — nothing is sent to any server.
Select a UUID version from the Version dropdown. v4 is the correct default for most uses; choose v7 if you need database-friendly sortable IDs.
Set the Quantity field to a number between 1 and 100. The default is 1.
Click Generate. The output panel fills immediately with the requested UUIDs, one per line.
Click Copy All to copy every generated UUID to your clipboard. Paste directly into your SQL editor, JSON file, code, or terminal.
To generate a new batch without changing settings, click Generate again. Each click produces fresh values.
Keep going
Format, validate, and beautify JSON instantly. Pretty-print or minify. Error messages show line and column. Free, runs in your browser.
Open toolGenerate MD5, SHA-1, SHA-256, and SHA-512 hashes of any text or file. Cryptographically correct via SubtleCrypto. Free, in-browser.
Open toolGenerate secure random passwords with custom length, character classes, and entropy meter. Free, runs in your browser.
Open toolEncode text, files, or binary data to Base64 and decode Base64 back to text or download as binary. Free, runs in your browser.
Open tool