ID Generator — UUID, NanoID, ULID, ObjectID & MAC

Ten ID types — UUID v1/v3/v4/v5/v7, nil, NanoID, ULID, ObjectID, MAC — up to 1,000 at a time, with GUID styling and a UUID validator. Free, in your browser.

Press Generate to create IDs.

🔒 Random IDs come from your browser’s cryptographic RNG; v3, v5 and the nil UUID are worked out from what you type. Either way nothing is uploaded.

Validate a UUID

Every ID format in one generator

Ten types sit in one select: UUID v4 (random), UUID v1 (time plus a node id), UUID v3 and UUID v5 (namespace plus name, MD5 and SHA-1), UUID v7 (time-ordered, RFC 9562), the nil UUID, NanoID (21 characters from a 64-character URL-safe alphabet), ULID (26 characters of Crockford Base32 — 10 of timestamp, 16 of randomness), MongoDB ObjectID (4-byte timestamp, 5 random bytes, 3-byte counter) and a MAC address. IDs are on screen from the moment the page opens and again whenever you change the choice; Generate rolls another set. Each has its own copy button, and Copy all and Download take the whole batch.

Up to a thousand, and never a silent ceiling

Ask for anything from 1 to 1,000 — Enter in the quantity box generates. Type 5,000 and the tool says the range is 1 to 1,000 instead of quietly handing you 1,000, so you always know what you got. UUID v3, UUID v5 and the nil UUID have no quantity at all: each is a function of its input, and fifty copies of one value are not fifty IDs.

Written the way your tooling expects

For the six UUID types, three checkboxes — Uppercase, Braces { } and Hyphens — restyle the IDs already on screen rather than rolling new ones, so a Windows-style {123E4567-E89B-42D3-A456-426614174000} and the canonical lowercase form are one click apart. Copy format then joins the batch six ways — one per line, quoted, comma-separated, JSON array, Base64 or URL-encoded — and both Copy all and Download follow it, saving .json for the JSON array and .txt otherwise.

Names, namespaces and a validator

Versions 3 and 5 hash a namespace together with a name, so the same two inputs always produce the same UUID. Pick one of the four RFC 4122 namespaces — DNS, URL, OID, X.500 — or paste your own; the name is hashed as UTF-8, so a Korean or emoji name has a defined answer. A namespace that is not a UUID is refused with a sentence. The validator underneath reports whether a string is a well-formed UUID and shows both its version and its variant (NCS, RFC 4122, Microsoft or reserved).

UUID v4, UUID v7, the v1 node id and clock sequence, NanoID, ULID, ObjectID and MAC addresses all draw from your browser's cryptographic random source; UUID v3, UUID v5 and the nil UUID are worked out from what you type. Either way nothing is uploaded. The type, count, namespace, name, the three style toggles and the copy format all ride in the URL, so "twenty uppercase braced GUIDs" is a link you can send — it reproduces the settings, and the random values are freshly generated for whoever opens it.

Frequently asked questions

Which ID types can it generate?

Ten: UUID v1 (time-based), UUID v3 (name, MD5), UUID v4 (random), UUID v5 (name, SHA-1), UUID v7 (time-ordered), the nil UUID, NanoID, ULID, MongoDB ObjectID and MAC addresses. Pick the type from the dropdown and set how many you want, up to 1,000.

What is UUID v7 and when should I use it?

UUID v7 (RFC 9562) puts a millisecond timestamp in its leading bits, so the IDs are time-ordered and sort chronologically. That makes them a great database primary key — better index locality than random UUID v4 — while still being a standard UUID you can store in a uuid column.

Are these IDs cryptographically random?

UUID v4, NanoID and MAC addresses come straight from the browser's cryptographic random source. UUID v7, ULID and ObjectID combine a timestamp with randomness from that same source, as their specs require, and UUID v1 pairs a timestamp with a random node id and clock sequence. UUID v3, UUID v5 and the nil UUID are not random at all — they are computed from what you type, which is the point of them.

Can I validate a UUID?

Yes — paste a value into the Validate a UUID box and it tells you whether it is well formed, which version it is, and which variant (NCS, RFC 4122, Microsoft or reserved). It accepts upper or lower case.

How many IDs can I generate at once?

Up to 1,000 in one batch. A number outside 1–1,000 is refused with a message rather than clamped, so you are never handed 1,000 when you asked for 5,000. UUID v3, UUID v5 and the nil UUID have no quantity field, because each is determined by its input.

Can I get GUIDs in the Windows {UPPERCASE} form?

Yes. For the six UUID types there are Uppercase, Braces { } and Hyphens checkboxes, so you can produce {123E4567-E89B-42D3-A456-426614174000}, a 32-character form with no hyphens, or the canonical lowercase. They restyle the IDs already on screen instead of generating new ones, and they travel in the shareable link.

Can I copy the batch as a JSON array or Base64?

Yes. The Copy format dropdown offers six ways to join the list — one per line, quoted, comma-separated, JSON array, Base64 or URL-encoded — and both Copy all and Download use whichever you picked. The download is named .json for the JSON array and .txt for the rest.

What are UUID v3 and v5 for?

They turn a namespace and a name into a UUID by hashing them together — v3 with MD5, v5 with SHA-1 — so the same pair always yields the same UUID. That makes them useful for deriving a stable ID from something you already have, like a domain or a URL. Choose the DNS, URL, OID or X.500 namespace from RFC 4122, or paste a namespace UUID of your own.

Can I share a link that opens with my settings?

Yes. The ID type, the count, the namespace and name, the uppercase/braces/hyphens toggles and the copy format are all kept in the URL, and Copy link hands you that address. Opening it shows generated IDs immediately, with no click needed — the settings are shared, the random values are new.