UUID and ULID generator
Random or time-ordered IDs, in bulk, made in your browser. Ctrl+C copies the list.
122 random bits. The everyday UUID.
Decode a UUID or ULID
Special values: nil 00000000-0000-0000-0000-000000000000 and max ffffffff-ffff-ffff-ffff-ffffffffffff.
How to generate a UUID
Pick a kind
v4 for random IDs, v7 or ULID for sortable keys, v5 for an ID derived from a name, Nano ID for short URL-safe strings. A fresh result appears as soon as you switch.
Set the count and format
Generate up to 1,000 at once. Choose upper case, no hyphens, braces or the urn: prefix, and take the list as plain lines, a JSON array, CSV or SQL values.
Copy or decode
Click the big result or press Copy; Ctrl+C with nothing selected copies the whole list. Paste any UUID or ULID into the decoder to see its version, variant and timestamp.
Good to know
- v7 and ULID put the time first, so a database index stays in insert order and B-tree pages do not fragment the way they do with v4.
- Within one millisecond the tool keeps v7 and ULID values increasing, so a batch of 1,000 still sorts in the order it was made.
- No hyphens gives the 32-character form some databases store; braces give the registry style Windows uses; urn:uuid: is the form RFC 9562 defines for URIs.
- v1 here uses a random node with the multicast bit set, as the RFC allows, so your network card's MAC address is never in the ID.
- Nano ID with the default 21-character URL-safe alphabet has about 126 bits, the same order as a UUID, in a shorter string.
- Nothing leaves your browser; every ID comes from crypto.getRandomValues or a hash computed locally.
Questions people ask
UUID v4 or v7: which should I use?
v7 for database keys and anything you sort or index: it starts with the time, so new rows land at the end of the index and stay in creation order. v4 is fully random; use it when the ID must not leak when it was made. Both are 128 bits and work anywhere a UUID is accepted.
What is a ULID?
A 26-character, URL-safe ID that also starts with a timestamp and sorts by time, written in Crockford base32 with no hyphens. It holds the same 128 bits as a UUID v7; many libraries convert between the two.
Are the IDs really unique?
v4 has 122 random bits, so the chance of two colliding is far below one in a trillion even after billions of IDs. v7 and ULID pair a millisecond timestamp with 74 or 80 random bits and stay ordered within the same millisecond. Everything comes from crypto.getRandomValues.
When would I use v5 or v3?
When the same input must always give the same ID, such as a UUID for a domain name, a URL or a product code. v5 hashes the namespace and the name with SHA-1; v3 uses MD5. Pick v5 unless a system requires v3.
Can I see when a UUID was made?
For v1, v6, v7 and ULID, yes: paste it into the decoder and the timestamp is shown. v4, v3 and v5 carry no time.