Home Developer Tools UUID Generator

UUID Generator - Click to Decode Every Segment

Generate UUIDs in every version - v1, v3, v4, v5, v7 - and click any part of the UUID to see exactly what it encodes. Bulk-generate up to 10,000, decode timestamps, validate existing UUIDs, and export as JSON, SQL, or CSV.

Always Free Click-to-decode Bulk up to 10,000 Runs in browser
v1 · v3 · v4 · v5 · v7 - all versions, one tool
Click any UUID segment to see what it actually encodes
Bulk generate up to 10,000 with live virtualized table
Paste any UUID to investigate its version and timestamp
-
Click any part of the UUID above to see what it encodes
Generate again to see the diff
Previous-
Current-
All formats - copy any

Other generators give you
random text. This explains it.

Click into any UUID to see what it encodes. Compare versions. Investigate existing UUIDs. Generate thousands with real export formats.

Click-to-decode segments

Every part of the UUID is interactive - click any segment to see exactly what it encodes: timestamp, version, variant, or node ID.

the UUID itself is the UI

Generate & compare diff

See the previous UUID next to the new one with differences highlighted - instantly shows why v1/v7 look sequential while v4 looks fully random.

visual proof of randomness

Investigate mode

Paste any UUID and watch it get analysed like a terminal log - version detected, timestamp extracted, namespace identified.

terminal-style reveal

Bulk generation, real exports

Generate up to 10,000 UUIDs with a live virtualized table, then export as JSON, SQL INSERT, CSV, or a Python list - ready for real workflows.

seed data, instantly

Namespace determinism proof

Generate the same v3/v5 UUID twice and watch it match exactly - then change one character and watch it completely change.

prove it to yourself

Collision probability calculator

Set your own generation rate and timeframe to see exactly how astronomically unlikely a UUID collision really is.

satisfies real curiosity

Generate or decode a UUID in seconds

1

Pick a version

v4 for general use, v1/v7 for timestamp-based, v3/v5 for deterministic namespace-based UUIDs.

2

Click to explore

Click any part of the generated UUID to see what it encodes. Switch to Bulk for thousands at once.

3

Copy or export

Copy a single UUID in any format, or export bulk results as JSON, SQL, CSV, or a Python list.

UUIDs - what's actually inside one

A UUID looks like random noise, but it has real structure. It is 128 bits, written as 32 hexadecimal digits grouped into five sections: 8-4-4-4-12 characters, separated by hyphens. The third group always starts with a digit that identifies the UUID's version, and the fourth group's first character encodes the variant (almost always RFC 4122).

Choosing the right version

VersionHow it's builtBest for
v1Timestamp + MAC addressLegacy systems, when sortability matters and v7 isn't available
v3MD5 hash of namespace + nameDeterministic IDs, when MD5 collision resistance isn't a concern
v4Fully random (122 random bits)General purpose - the most common choice today
v5SHA1 hash of namespace + nameDeterministic IDs - preferred over v3
v7Timestamp (48-bit) + random bitsDatabase primary keys - sortable and unique
Why v7 is replacing v4 for database keys. Random UUIDs (v4) as primary keys cause index fragmentation - new rows get inserted at random positions throughout a B-tree index, hurting write performance. UUID v7 embeds a timestamp at the start, so newly generated UUIDs sort naturally after older ones, giving the index locality of an auto-incrementing integer while keeping the global uniqueness of a UUID. Most modern database design guides now recommend v7 over v4 for primary keys.

Namespace UUIDs - same input, same output, every time

Unlike v1/v4/v7, versions 3 and 5 are deterministic: hashing the same namespace UUID and name string will always produce the identical UUID. This is useful when you need a stable identifier derived from existing data - for example, generating a consistent UUID for a domain name without having to store a separate random ID and look it up later. RFC 4122 defines four standard namespaces: DNS, URL, OID, and X.500.

Are UUID collisions actually possible?

Technically yes, but the probability is so small it's treated as zero in practice. A UUID v4 has 122 random bits (6 bits are fixed for version and variant). Using the birthday paradox approximation, you would need to generate roughly 2.71 quintillion UUIDs to have a 50% chance of a single collision. Try the Collision Odds tab above with your own numbers to see this for yourself.

UUID questions,
answered.

Ask a question
A UUID (Universally Unique Identifier) is a 128-bit identifier, typically written as 32 hexadecimal characters grouped into 5 sections separated by hyphens. UUIDs are designed to be unique across systems without coordination, making them useful for database keys, distributed systems, and session identifiers.
v1 is timestamp + MAC based. v3 is deterministic from a namespace and name using MD5. v4 is fully random - the most common version. v5 is deterministic like v3 but uses SHA1. v7 is timestamp-based like v1 but sortable, using random bits instead of a MAC address.
Not mathematically guaranteed, but the collision probability is astronomically small. For UUID v4, you would need to generate quintillions of UUIDs to have any meaningful chance of a collision. Practically, UUIDs are treated as unique.
Namespace UUIDs (v3 and v5) are generated deterministically from a namespace UUID and a name string - the same inputs always produce the same UUID. Useful for generating consistent IDs from existing data like domain names.
Yes, for UUID v1 and v7, which embed a timestamp. v4, v3, and v5 do not contain timestamp information. Paste any UUID into the Decode tab to extract its embedded creation timestamp if present.
UUID v4 is fully random, which causes index fragmentation when used as a database primary key. UUID v7 embeds a timestamp, making generated UUIDs naturally sortable by creation time while remaining globally unique - giving better database index performance than v4.
Yes. Switch to Bulk mode and choose how many to generate, up to 10,000 at once. Export as plain text, JSON array, SQL INSERT statements, CSV, or a Python list.