100% local processing — your files and data never leave this browser. No uploads, no server storage.

OnboxTools

Free · Browser-only · No upload

UUID Generator

Create version 1, 4, or 7 UUIDs in bulk for apps and databases

Generate standards-compliant UUIDs locally for primary keys, correlation IDs, test fixtures, and distributed systems—without calling an external API.

Choose version 4 for random IDs, version 1 for time-based sorting, or version 7 for time-ordered modern identifiers, then copy or download batches instantly.

V4 Generator controls

Generation Settings
How Many?1 UUIDs

V4 uses high-entropy cryptographically secure random bits.

Result Area (V4)
Batch Quantity0
Active Versionv4
ID TypeRandom

More Security

🎫
JWT Decoder
🔑
Password Generator
🔏
SHA-256 Generator
🆔
UUID Generator

Browse by category

Complete guide to generating UUIDs

What a UUID is

A Universally Unique Identifier is a 128-bit value usually shown as 36 characters with hyphens—8-4-4-4-12 hex groupings. The format is standardized so databases, log aggregators, and microservices agree on syntax when labeling records.

UUIDs are not guaranteed unique by mathematics alone; they are unique with overwhelming probability when generated correctly. Collisions matter only at scales far beyond typical web apps if random versions use quality entropy.

Unlike sequential integers, UUIDs need no central allocator. Two services can mint IDs independently without coordination—a reason they dominate sharded databases and client-side offline creation.

String representation is 36 characters with hyphens—plan VARCHAR(36) columns or native UUID types per database vendor guidance.

Testing collision handling with billions of rows is unnecessary for most apps—statistical uniqueness suffices until you approach volumes where birthday paradox math matters.

Version 1, 4, and 7 compared

Version 1 embeds timestamp and MAC-derived node bits. IDs sort roughly by creation time, which helps index locality in some databases but exposes timing information and historically raised privacy concerns about hardware addresses—modern implementations often randomize node bits.

Version 4 fills most bits with random data. Use it when you want opaque identifiers without time semantics. It is the default choice for primary keys in many ORMs and APIs.

Version 7 combines Unix timestamp milliseconds in the high bits with random trailing bits, giving time-orderable IDs with better database index behavior than pure random v4 while staying sortable unlike v4.

  • v4: general-purpose random primary keys
  • v1: legacy systems expecting time-based structure
  • v7: new apps wanting chronological clustering in indexes
  • Bulk quantity: seed tests, CSV imports, mock APIs

Using UUIDs in development

Generate fixtures for unit tests without hardcoding repetitive integers. Paste a dozen v4 values into JSON samples to mimic production shape.

When importing CSV into PostgreSQL or MySQL UUID columns, confirm your dialect expects hyphenated lowercase strings versus binary 16-byte storage. ORM migrations often abstract the difference.

Log correlation IDs as v4 strings so support staff can grep traces across services without guessing sequential ranges.

Collision and formatting rules

RFC 4122 variant bits must appear in the fixed nibble positions—generators handle this so you do not hand-count hex. Uppercase versus lowercase hex is cosmetic; normalize in comparisons with case-insensitive logic.

Do not truncate UUIDs for display without documenting the risk of collisions in shortened namespaces. Use ULID or dedicated short-id schemes if URL length matters.

Privacy and offline generation

Generating locally avoids leaking how many IDs your project minted or when batches were created to a third-party UUID API. Competitive prototypes and unreleased features stay discreet.

For production workloads at extreme scale, embed library generation in your service with crypto-grade randomness. Browser bulk generation suits development, ops one-offs, and documentation examples.

UUIDs at scale and in standards

OpenAPI examples often show placeholder UUIDs—replace them with freshly generated values in documentation so copy-paste does not create accidental collisions in reader tutorials.

Event sourcing systems append v7 identifiers to domain events so replay logs sort chronologically in plain text files without secondary timestamp columns.

Database sharding plans sometimes mandate UUID primary keys to avoid auto-increment hotspots on a single writer node. v4 randomness spreads B-tree inserts; v7 improves locality if your engine optimizes for it.

When exchanging data with partners, confirm string format—some mainframes expect uppercase hex while JSON APIs prefer lowercase. Normalize at integration boundaries.

Migration and legacy identifiers

Systems migrating from auto-increment integers to UUIDs often dual-write both columns during transition. Generate UUIDs in staging to rehearse migration scripts before touching production rows.

Legacy Windows GUID formats with braces and uppercase differ cosmetically from RFC strings—strip braces and normalize case in importers.

Log correlation across microservices improves when request IDs use the same UUID format as database keys—operators grep one string across layers.

Performance tests should use realistic UUID-shaped strings in payloads rather than sequential integers—some serializers and validators behave differently on UUID syntax.

Avoid embedding UUIDs in URLs when analytics tools treat path segments as page titles—use POST bodies or headers for opaque identifiers in public sites.

Snowflake-style sortable IDs compete with UUID v7—choose one standard per greenfield service and document rationale in architecture decision records.

Bulk CSV imports should validate UUID format with regex before INSERT—malformed strings fail late in batch jobs without preflight checks.

Treat UUIDs as opaque strings—never parse substrings for business meaning unless using time-ordered v7 fields intentionally.

Load tests minting millions of UUIDs should run server-side—browsers are for spot checks and developer convenience, not throughput benchmarks.

Version bits in the string encode RFC variant—invalid variants fail import in strict parsers before rows hit production tables.

Copy UUID lists into clipboard as newline-separated text for pasting into SQL IN clauses during ad hoc debugging sessions.

Detailed guide

Seeding a test database

Generate fifty v4 UUIDs, paste into SQL INSERT statements or factory fixtures, and run migrations. Consistent format prevents driver errors during CI.

Choosing v7 for a new microservice

If logs and indexes benefit from time ordering, standardize on v7 for new rows while legacy tables keep v4. Document the convention in your API README.

Copying bulk IDs into spreadsheets

Generate the quantity you need, copy the list, and paste into Excel or Google Sheets as plain text. Format cells as text beforehand so leading zeros in hex groups are not mangled—though UUID hex groups do not use leading-zero ambiguity beyond normal display.

Common questions

UUID generator — frequently asked questions

Is the UUID generator private?

Yes. Everything runs in your browser. Your input is not uploaded, logged, or stored on our servers.

Do I need an account?

No account or sign-up is required. Open the page and start using the tool immediately.

Which UUID version should I use?

v4 for random opaque IDs; v7 when you want time-sortable keys; v1 mainly for compatibility with older time-based expectations.

Are these UUIDs cryptographically secure?

v4 and v7 rely on random bits suitable for identifiers. Do not substitute UUIDs for session tokens without additional entropy and validation requirements.

Can I generate thousands at once?

Yes within browser memory limits. Very large batches are better generated inside your server process.

Do you store generated UUIDs?

No. Values exist only in your tab until you copy or refresh away.