How to use
- Choose v4 random for a plain random ID, or v7 time-sortable if the ID also needs to sort roughly by when it was created.
- Set How many with the − and + buttons, the 1 / 10 / 100 shortcuts, or by typing any number from 1 to 100.
- Turn on UPPERCASE, Hyphens or braces to match the format your database or language expects.
- Press Copy next to any ID, or Copy all / Download .txt for the whole batch. ↻ New makes a fresh batch any time.
A unique ID with no server round trip
A UUID (Universally Unique Identifier) is a 128-bit value designed so that two different computers, generating IDs independently with no coordination between them, will not collide. No database lookup, no central counter, and no network call are required. That property is what makes UUIDs the default choice for database primary keys, request IDs, and anything else that needs an identifier before it has anywhere to register one.
Example
A freshly generated version 4 UUID (yours will be different every time, that is the point):
4ef105b6-d046-4be9-a7d0-826c275cfe24A version 7 UUID carries its creation time in the first part, recoverable afterward:
01a09aa3-7a00-78c0-8530-780518a1c025Options explained
- v4 random / v7 time-sortable: see the FAQ. With v7 selected, the line above the list shows the creation time the batch encodes, read back out of the IDs themselves.
- How many generates 1 to 100 at once, one row each with its own Copy button, so you can take one ID or paste a whole batch of test IDs in one go. A typed number above 100 is treated as 100.
- UPPERCASE renders hex digits in capitals:
3398A22E-0B2C-4253-8D3A-3CDDB497A8A4.Hyphens toggles the standard 8-4-4-4-12 grouping; turning it off gives1cf842c6b9504f59b07d29ee60940b31. { } braces adds{and}around each ID:{3e3a0392-e285-4294-bce8-04da216c603f}, the format Microsoft's GUID APIs (and some Windows registry tools) expect. - ↻ New makes a new batch with the current settings; the first batch on the page is generated automatically so there is one ready immediately.
Edge cases and common errors
- There is no invalid input. This tool only generates, so there is nothing to reject. The only limit is quantity, capped at 100 per click to keep the page responsive; press ↻ New for another batch.
- Every batch is independent. Pressing ↻ Newreplaces the list rather than appending to it, so copy or download a batch before generating a new one if you need to keep it.
- Version 7's timestamp is only millisecond-precision and only as accurate as your device's clock; two UUIDs generated in the same millisecond are ordered only by their random bits, not guaranteed to reflect which call actually ran first. A batch is made in one go, so every ID in it carries the same millisecond.
- The nil UUID: see the FAQ.
- Nothing is sent anywhere. Every ID is generated locally in your browser; this page could be disconnected from the network entirely and still work.
Do the same thing in code
// JavaScript / browsers and Node 19+ (version 4 only, built in, no library needed)
crypto.randomUUID();
# Python 3.7+ (version 4; version 7 needs the separate uuid6 or uuid-utils package)
import uuid
str(uuid.uuid4())Version 7 is new enough (finalized in RFC 9562, 2024) that few languages' standard libraries generate it natively yet. This tool implements the same bit layout by hand from the RFC rather than depending on a library.