UUID Generator Online Free
Generate cryptographically random UUIDv4 identifiers, single or in bulk, with optional uppercase and dash-stripped formats.
In your browser—your files never leave your device.
Learn moreAbout this tool
A UUID is a 128-bit identifier with extremely low collision probability — 32 hex digits laid out as 8-4-4-4-12 with hyphens, per RFC 4122. Version 4 (the random variant) is the one you reach for most often, generated from 122 bits of entropy. This tool uses crypto.randomUUID, the Web Crypto API call exposed in every current browser, which is the same code path your Node 19+ or Deno backend uses. Output is deterministic in format and indeterministic in content: always 36 characters, always 5 groups, always lowercase by default, always RFC 4122 compliant for version and variant bits. Generate one, generate a hundred, copy the lot. Toggle uppercase or strip dashes if your downstream system has specific format requirements.
How to uuid generator online free
-
Set the count
How many UUIDs you need. The input goes 1 to 100. For more, generate multiple batches and concatenate. The default of 1 covers the "I just need an ID right now" case, which is by far the most common.
-
Pick format options
Standard hyphenated lowercase is the default and what almost every system expects. Toggle Uppercase or No dashes if your destination has stricter formatting requirements. The choice does not affect the underlying randomness — it is purely a string-level transformation after generation.
-
Click Generate
A fresh batch appears below. Each is independent and unique. Re-clicking generates a new batch — the old one is overwritten. The whole batch generates in milliseconds even for the maximum count of 100, because the randomness source is fast.
-
Copy individual or all
Each UUID has its own copy button (hover to reveal). Or use Copy All at the top to grab the whole batch as newline-separated text, ready to paste into a SQL INSERT, a CSV file, a fixtures.json, or a load test config. The newline-separated format is what most consumers expect.
Why use this tool
Database primary keys are the common case. PostgreSQL has a native uuid type, MySQL/MariaDB store them as char(36) or binary(16) for compact form, MongoDB defaults to ObjectId but accepts UUIDs as _id, DynamoDB happily takes them as partition keys, and most modern ORMs (Prisma, Drizzle, TypeORM) have first-class UUID support. UUIDv4 trades sequential write locality for the freedom to mint IDs on the client without a database round-trip — useful for offline-first apps, distributed writes across multiple regions, and avoiding the "leak my user count via auto-increment" pattern where /users/47 tells competitors how big you are. The second case is seeding test data: I need 50 unique IDs for a fixture and "Generate 50" is a click away. The third case is correlation IDs in logs. A web request gets a UUIDv4 attached at the edge; that ID propagates through every downstream call, and grepping for it gives you the full distributed trace across microservices. The fourth is generating share-link tokens or magic-link slugs where unguessability is the security property. UUIDv7 is the new hotness for sortable IDs with timestamp prefixes — this tool defaults to v4 because it is still the most widely supported format across all language ecosystems.
Features
Cryptographic randomness
crypto.randomUUID under the hood, which means 122 bits of entropy pulled from the OS-level CSPRNG (CryptGenRandom on Windows, /dev/urandom on Linux/macOS, getrandom() on newer kernels). Not Math.random — that would be wrong for IDs that need to be unguessable, since Math.random is a pseudo-random number generator with a finite state that can be inferred from output samples. The collision probability for UUIDv4 is so small you would need to generate hundreds of billions of UUIDs before having a meaningful chance of a duplicate.
Bulk generation up to 100
Set the count from 1 to 100 and get the whole batch in one click. Each is independently random, so generating 50 sequentially or one batch of 50 produces the same statistical distribution. Useful for seeding test databases, fixture files, load test inputs, or any other case where you need a chunk of unique IDs at once. For larger batches, run multiple generations and concatenate; the underlying randomness source has effectively unlimited capacity.
Format options
Toggle uppercase if your downstream system expects uppercase hex (some legacy COM-era Windows code does; the RFC actually requires lowercase but many real systems accept either). Toggle no-dashes if you need the 32-character compact form (some Mongo drivers accept either, some legacy DBs use compact form for storage efficiency). Both flags compose, so you can get the uppercase no-dash variant in two clicks. The standard form — lowercase hyphenated — is what every modern system expects and what RFC 4122 mandates.
Local generation, verified in DevTools
crypto.randomUUID runs in your browser. The UUIDs never touch a server. Important because UUIDs are sometimes used as session IDs, share-link tokens, magic-link slugs, or other identifiers where the server seeing them defeats the purpose of generating client-side. Open DevTools, click Generate, watch the Network tab — no outbound requests. The randomness comes from your operating system's CSPRNG, not from any remote service.
Version and variant bits visibly correct
Every UUID the tool emits has a 4 in position 13 (the version digit) and an 8, 9, a, or b in position 17 (the variant digit). Those six bits are not random — they identify the UUID as version 4 in the RFC 4122 family. If you paste a UUID elsewhere and it gets rejected as "invalid UUIDv4", check those two positions first. The remaining 122 bits are pure entropy from the OS CSPRNG. Trying to "fix" a UUID by hand-editing position 13 to a different digit will produce a string that looks like a UUID but is not version 4 and may be rejected by strict parsers in PostgreSQL (uuid_v4 functions) and other type-aware systems.
Privacy & security
crypto.randomUUID is a browser primitive that pulls bytes from the operating system's secure random source (CryptGenRandom on Windows, /dev/urandom on Linux and macOS) and lays them out per RFC 4122. Generating 1 UUID or 100 UUIDs takes no network calls — the function runs in your tab. This matters when the UUID is going to be used as a session ID, an unguessable share-link slug, or a magic-link token, because in those cases the server seeing the generated value would defeat the security property of generating it client-side.