Skip to content
TypeParser
All tools

UUID Generator

Generate v1, v4, and v7 UUIDs in bulk.

beats uuidgenerator.net edge: v7 time-ordered + bulk to 1000 + format options
options
version
count
format
10 v4 UUIDs
Guide

About UUID Generator

Generate v1 (time + MAC), v4 (random), and v7 (time-ordered) UUIDs. Pick the count (1-1000), the format (dashes / no dashes / uppercase / braces), and download or copy the lot. v7 produces sortable, time-prefixed IDs that index well as database primary keys without leaking creation order through the surface.

Why UUIDs exist

A UUID is 128 bits chosen so two parties can independently generate identifiers without coordination and have effectively zero chance of collision. They are bigger than auto-increment integers, but they let you mint IDs offline, before a database round-trip, in any process, on any machine — useful in distributed systems, batch imports, and offline clients.

The versions, briefly

  • v1 — timestamp + MAC address. Sortable but leaks where and when you generated it. Avoid.
  • v4 — 122 random bits. Opaque, unsortable, the historical default.
  • v6 — v1 reordered to sort. Niche.
  • v7 — millisecond timestamp + random tail. Sortable, no MAC leak. Use this for database keys.
  • v8 — custom-format, application-defined. Reserved for special cases.

If you are picking one in 2025: v7 for database primary keys, v4 for opaque public IDs.

Format options

  • With dashesf47ac10b-58cc-4372-a567-0e02b2c3d479 (canonical)
  • Without dashesf47ac10b58cc4372a5670e02b2c3d479 (compact, common in URLs)
  • Uppercase — for systems that expect it
  • Braces{f47ac10b-58cc-4372-a567-0e02b2c3d479} (Microsoft-style)
  • Base32 / Base64 — short opaque tokens (24 / 22 chars)

Common workflows

Seed test data. Generate 1000 v7 UUIDs, paste into your fixture, watch your tests sort the same way production will.

Migrate from auto-increment to UUID v7. Generate a starting batch, plan the dual-write cutover. The time-ordered property keeps your indexes happy through the migration.

Mint stable identifiers offline. Generate IDs in a browser-side form before submit. Idempotent retries become trivial — same UUID, same record.

Why v7 is winning

For ten years, the industry’s split was “Postgres BIGINT for hot tables, UUID v4 for distributed keys, accept that v4 fragments your B-tree.” v7 ends that compromise. You get distributed generation and sequential storage. No clustering surgery, no random-page churn, no covering indexes built around created_at. Most teams that move greenfield work to v7 do not look back.

Frequently asked questions

Which UUID version should I use?
For a database primary key — v7. Time-prefixed, sortable, no clustering hot-spot. For an opaque public ID where ordering should not be inferable — v4. v1 is rarely a good choice today (leaks MAC and creation time).
Is v7 standardized?
Yes — RFC 9562 (May 2024) replaces RFC 4122 and standardizes v6, v7, v8. v7 is widely supported in modern libraries (Postgres 17, MySQL 8.0.31+, Java UUID.gen7, npm uuid@10).
Are these UUIDs cryptographically random?
v4 and v7 use crypto.getRandomValues for the random portion. Per RFC 9562, that is sufficient for primary-key uniqueness. For tokens that must resist guessing, prefer a cryptographic random string from the Random String tool.
How many can I generate at once?
Up to 1000 per click. Above that, your clipboard becomes the bottleneck — use the download button to grab them all as a text file.
Are UUIDs collision-safe?
v4 has 122 random bits (5.3 × 10³⁶ values). To get a 50% collision chance you need ~2.7 × 10¹⁸ UUIDs. In practice, applications generating billions per day go decades before any collision concern. v7 ties a counter to time so its collision properties are stronger than v4 within a single instance.
Why do my v7 UUIDs all start with similar characters?
They embed the current millisecond timestamp in the first 48 bits. UUIDs generated within seconds of each other share a prefix — that is the feature, not a bug. It is what makes them sort.

Related tools

Last updated: 2025-01-15