Latest UUID
{{ formattedUUID }}
{{ summaryLine }}
{{ badge.label }}
{{ primaryActionStatusText }}
UUID generator inputs
Use v4 for general IDs, v7 for sortable creation time, or v3/v5 with name and namespace.
Enter a stable key such as example.com, tenant-id, or customer-42.
Accepted: DNS, URL, OID, X500, or a canonical UUID namespace.
Turn on for uppercase hex output in copied and exported values.
{{ params.uppercase ? 'On' : 'Off' }}
Use when a storage field expects 32 hex characters with no separators.
{{ params.removeDashes ? 'On' : 'Off' }}
Produces {uuid}; leave off for standard RFC-style text.
{{ params.includeBraces ? 'On' : 'Off' }}
Metric Value Copy
{{ r.label }} {{ r.value }}
No data yet. Generate a UUID.
Field Hex Meaning Copy
{{ r.field }} {{ r.hex }} {{ r.meaning }}
No UUID yet. Generate a UUID.
# UUID Version Copy
{{ row.index }} {{ row.uuid }} {{ row.versionDisplay }}
No history yet.

            
Customize
Advanced
:

Introduction:

A universally unique identifier, or UUID, is a 128-bit value used to label records without relying on one central counter. The familiar text form looks random, but the version number inside the value tells you whether the identifier came from randomness, a name mapping, or time-based fields.

The version choice matters more than the string shape. Version 4 is the common fresh random choice. Versions 3 and 5 are deterministic: the same namespace and name produce the same UUID again. Versions 1, 6, and 7 carry time information in different layouts, which can help ordering but can also reveal more structure than a purely random identifier.

UUID version choices for fresh random IDs, repeatable name-based IDs, and time-friendly identifiers.

Formatting is separate from identity. Uppercase text, braces, or dash removal can help with a database column, Windows-style GUID field, or compact copy target, but those choices do not change which UUID family produced the underlying value. For name-based versions, the namespace and name are the facts that determine repeatability.

A UUID should not be treated as a secret. Even a hard-to-guess random UUID is an identifier, not an access-control token. Time-based and name-based UUIDs are especially unsuitable as secrets because part of their structure or input relationship can be inferred.

How to Use This Tool:

Choose the UUID family first, then decide whether the displayed text needs a special shape for the system that will receive it.

  1. Select UUID version. Use Version 4 - Random for general fresh IDs, Version 7 - Unix time sortable for time-friendly event IDs, Version 5 - SHA-1-name for repeatable name mappings, or Version 1 and Version 6 only when that time-based family is required.
  2. For Version 3 - MD5-name or Version 5 - SHA-1-name, enter Name and Namespace. Accepted namespace inputs are DNS, URL, OID, X500, a 32-character hexadecimal namespace, or a dashed UUID namespace.
  3. Use the large Generate UUID action after the settings are valid. If a name-based version is missing a name or namespace, the warning explains which value must be fixed.
  4. Open Advanced only when the receiving system needs a different text form. Uppercase output, Remove dashes, and Wrap in braces change the displayed and copied form.
  5. Read UUID Details for the formatted UUID, canonical UUID, URN, version, generation profile, variant, no-dash form, uppercase form, and formatted length. Version 1, 6, and 7 values show time-related fields when they can be decoded.
  6. Open UUID Anatomy when you need the five UUID text groups split into field names, hexadecimal segments, and version-specific meaning.
  7. Use UUID History for the latest 20 generated values in the current session. Export or copy the history before reloading if those values need to be retained.

For repeatability checks, keep the same version, namespace, and name. If a version 5 UUID changes, check those inputs before checking display toggles.

Interpreting Results:

The most important split is between UUID (canonical) and UUID (formatted). The canonical value is the dashed lowercase UUID. The formatted value is the copy-ready text after uppercase, dash removal, or braces have been applied.

UUID Anatomy breaks the canonical value into time_low, time_mid, time_hi_and_version, clock sequence fields, and the final node-or-random field. Use it when you need to explain which segment carries the version marker or why a time-based value exposes decoded fields.

UUID result fields and interpretation
Output Read It As Do Not Read It As
UUID (formatted) The text shape currently shown and copied by the main action. A separate identifier from the canonical UUID.
UUID (canonical) The base UUID value in standard dashed lowercase form. Proof that the value was stored or registered elsewhere.
URN The same UUID with the urn:uuid: prefix. A different generated value.
Version The UUID generation family. A quality score or security rating.
Variant The broad UUID layout family bits, normally shown as RFC 9562 for generated values. A user-selected mode.
Time and node fields Decoded values available for time-based families. Fields that exist for every UUID version.

Version 1 and version 6 expose more structure than a random UUID. The decoded rows can show UTC time, local time, clock sequence, node bytes, and whether the node bytes look locally administered or MAC-derived. Use those fields for inspection, not for privacy-sensitive opaque IDs.

Version 7 should be read as time-friendly, not strictly sequential. The first 48 bits hold Unix milliseconds, and the remaining fields are random in this tool. Values created in different milliseconds usually sort by time, while values created inside the same millisecond can still appear in either order.

Technical Details:

RFC 9562 defines UUIDs as 128-bit values with reserved version and variant bits. The version field tells how the rest of the value is structured: random bits for version 4, a namespace-and-name hash for versions 3 and 5, Gregorian-time fields for version 1 and version 6, and Unix-millisecond time for version 7.

Name-based UUIDs are deterministic. The namespace scopes the name so the same name can produce different UUIDs in different domains. The standard namespace keywords are DNS, URL, OID, and X500; custom namespaces must still resolve to a UUID-shaped 128-bit namespace.

Formula Core:

The exact bit layouts differ by version, but the generation families can be summarized without treating the formatted text as the identity.

UUIDv3,UUIDv5 = hash(namespace||name) with version and variant bits set UUIDv4 = 122 effective random bits+ reserved version and variant bits UUIDv7 = 48-bit Unix milliseconds||74 random bits after reserved fields displayed = canonical with optional uppercase, dash removal, or braces
UUID version behavior
Version Mechanism Best Fit Main Caution
v1 Time-based UUID with timestamp, clock sequence, and node fields. Legacy systems or inspection of classic time-based UUID parts. Can reveal time and node-related structure.
v3 Name-based UUID using the version 3 hash family. Repeatable mappings where version 3 compatibility is required. Predictable when namespace and name are known.
v4 Fresh random UUID. General-purpose identifiers with no embedded meaning. Does not sort by creation time.
v5 Name-based UUID using the version 5 hash family. Repeatable namespace-and-name mappings for imports or stable fixtures. Predictable from the same visible inputs.
v6 Time-based UUID with timestamp fields rearranged for better ordering. Time-based compatibility with a more sortable layout than v1. Still belongs to the time-based family and can show decoded time fields.
v7 Unix milliseconds first, followed by random fields and reserved bits. Modern event and database IDs that benefit from broad chronological order. Not guaranteed to be monotonic within the same millisecond here.

Version 7 in RFC 9562 permits optional sub-millisecond or counter techniques for extra monotonicity. This tool uses Unix milliseconds plus random fields, so it favors simplicity and strong randomness over same-millisecond sequencing.

The browser random-number source is used for the version 7 random bytes. The page should still be used as an identifier generator, not as a key-management or secret-token system.

Privacy and Accuracy Notes:

UUID generation and the displayed metrics run in the browser session. The history is a short working list for the current page, not a durable registry. Treat copied UUIDs, exported CSV/DOCX files, and downloaded JSON as records you manage outside the page.

  • Use version 4 when no embedded meaning is wanted.
  • Use version 5 when repeatability matters more than secrecy.
  • Use version 7 for broad creation-time ordering, but add a separate sequence or timestamp if exact event order is required.
  • A UUID collision is unlikely for normal random use, but uniqueness still depends on using the right version and not reusing deterministic inputs accidentally.

Worked Examples:

Stable Domain Mapping:

Select Version 5 - SHA-1-name, enter namespace DNS, and use name example.com. The same namespace and name should keep the same UUID (canonical). Uppercase, braces, or dash removal should only change UUID (formatted).

Fresh Test Records:

Leave the version on Version 4 - Random and press Generate UUID several times. Each generated value should differ, and UUID History should list the latest entries with their version numbers for a quick test-data handoff.

Time-Friendly Event IDs:

Choose Version 7 - Unix time sortable for event records that benefit from rough chronological grouping. UUID Details should include v7 Unix time (UTC), v7 Unix time (local), and v7 Unix milliseconds. Do not use the order of same-millisecond values as a strict event sequence.

Invalid Name-Based Setup:

If Version 3 or Version 5 is selected and the namespace is blank or malformed, the action is disabled and the warning asks for DNS, URL, OID, X500, or a UUID namespace. Fixing the namespace and keeping a non-empty name restores generation.

For version 1 or version 6 inspection, compare the decoded UTC and local time rows with the time you generated the value. If those fields are too revealing for the use case, switch to version 4 or version 7.

FAQ:

Which UUID version should I use most often?

Use v4 for a fresh general-purpose ID, v5 for repeatable namespace-plus-name mappings, and v7 when broad creation-time ordering helps. Use v1 or v6 only when the time-based family is required.

Why did my displayed UUID change shape but not meaning?

Uppercase output, Remove dashes, and Wrap in braces change the displayed text. Check UUID (canonical) when you need the underlying dashed lowercase value.

Are version 3 and version 5 secure hashes?

They are deterministic UUID families, not secrecy tools. The same namespace and name reproduce the same canonical UUID, so anyone with those inputs can generate the same value.

Are version 7 UUIDs strictly increasing?

No. They carry Unix milliseconds and random fields. Values created in separate milliseconds usually group by time, but same-millisecond values are not forced into sequence in this tool.

Is the UUID history saved after reload?

No. UUID History is a current-session list capped at 20 entries. Copy or export it before refreshing if you need to keep it.

Glossary:

Canonical UUID
The standard dashed lowercase UUID value before display-only formatting is applied.
Namespace
The UUID domain combined with a name to produce deterministic version 3 or version 5 output.
Variant
The layout-family bits that identify which broad UUID format the value follows.
Clock sequence
A time-based UUID field used to help distinguish values around repeated or closely spaced timestamps.
URN
A UUID written with the urn:uuid: prefix.
Time-friendly UUID
A UUID family such as version 6 or version 7 whose leading fields help chronological sorting more than version 4 does.

References: