How it works
UUID Generator — Generate cryptographically random UUID v4 in bulk. All processing happens in your browser — no upload, no signup, no email required. Free forever.
Last updated:
About UUID Generator
Need ten thousand unique identifiers for a database seed, a single id for a new feature flag, or a fresh request id for a log correlation header? This UUID v4 generator produces cryptographically random identifiers using the browser's built-in crypto.randomUUID(), the same primitive Node.js, OpenSSL and modern operating systems use to mint security tokens.
UUID version 4 means "fully random, no namespace, no MAC address, no timestamp". Each id has 122 bits of entropy, so the probability of two values colliding stays effectively zero even when you generate billions per second across all your services. That is what makes UUIDs the default primary key choice when you cannot rely on a centralised auto-increment counter — sharded databases, offline-first apps, and event-sourced systems all lean on this property.
All generation happens locally in your browser. The UUIDs are never sent over the network, logged, or stored anywhere — refresh the page and they are gone. That matters when you are pre-allocating ids for sensitive records you do not want appearing in any third party's analytics or server logs.
How to use UUID Generator
- Set "How many?" to the number of UUIDs you need (one for a quick test, thousands for a seed file).
- Toggle "Include hyphens" off if you want the compact 32-character hex form your database expects.
- Toggle "Uppercase" on if your style guide or storage system needs the A–F characters capitalised.
- Click Generate to produce the batch, then "Copy all" to drop them into your editor or migration script.
- Re-click Generate any time to swap the batch for a fresh, equally-random set.
Common use cases
- Pre-allocating primary keys before a bulk insert so client and server agree on ids without a round trip.
- Creating idempotency keys for payment, webhook delivery, or message queue producers.
- Filling out test fixtures where you need stable-shaped but unique values across hundreds of records.
- Generating correlation/request ids you can paste into log queries when reproducing a bug.
- Minting feature flag, experiment, or tenant identifiers that must never collide across regions.
Tips & common mistakes
- Don't use UUID v4 as a sortable key. Two ids generated milliseconds apart will sort essentially at random — if you need temporal ordering, use ULID or UUID v7 instead.
- Storing as binary(16) rather than the 36-character text form roughly halves index size in MySQL and Postgres.
- If you ever see the same UUID twice in your logs, suspect a buggy retry that re-used the value — not the random source. The collision probability of v4 is astronomically smaller than your bug rate.
- Generating in the browser is fine for client-side needs, but always re-generate on the server for security-sensitive ids (session tokens, password reset links) so the user cannot pick their own value.
Frequently asked questions
Are these UUIDs cryptographically random?
Yes. We use the browser's crypto.randomUUID() (or crypto.getRandomValues fallback), the same primitives used for security tokens.
What version are the UUIDs?
UUID v4 — fully random, 122 bits of entropy. The collision probability is negligible even at billions per second.
Can I get UUIDs without hyphens or in uppercase?
Yes. Toggle 'Include hyphens' off to get a 32-character hex string, or 'Uppercase' on for ABC… formatting. Both apply to all generated values at once.
Can I generate UUID v1, v5, or v7 with this tool?
Currently only v4 (random). v1 leaks the MAC address and time, v5 needs a namespace and name, and v7 sorts by time — all useful in narrower scenarios. For most application-level ids, v4 is the safe default and what frameworks pick by default.
Are the values safe to use as security tokens?
They are random enough not to be guessable, but a UUID v4 has 122 bits of entropy versus 256 for a typical session token. For long-lived secrets we recommend dedicated token APIs (crypto.getRandomValues with at least 32 bytes), and for short-lived ids UUIDs are perfectly fine.
Why are there only 122 random bits in a 128-bit UUID?
Six bits are reserved for version ("4") and variant ("10") markers, so any tool can recognise the shape. The remaining 122 bits are random, which still gives you about 5×10^36 possible values.
Related tools
- URL Encoder/DecoderPercent-encode and decode URI components and full URLs
- JWT DecoderDecode and inspect JSON Web Tokens (header, payload, expiry)
- Regex TesterTest regular expressions with live match highlighting
- Cron Expression BuilderBuild and explain cron expressions in plain language
- SQL FormatterBeautify, minify or format SQL queries for any major dialect
- YAML ↔ JSON ConverterConvert between YAML and JSON in either direction