Skip to main content
UFOZoo

UUID Generator: v4 & All Versions, Validate & Decode Online

UUID generator online: create v1, v4, and v7 UUIDs in bulk, validate any UUID, and decode version and variant information.

Updated 2026-08-26

Related Tools

Features

  • Multiple UUID versions: generate V1 (timestamp), V3 (MD5 name-based), V4 (random), V5 (SHA-1 name-based), V7 (sortable)
  • Multiple ID formats: UUID, NanoID, and ULID generation + validation in one tool
  • Format options: uppercase, no hyphens, braces {}, quotes "" for UUID output
  • Built-in validator: paste any UUID/NanoID/ULID to check format, identify version, or decode timestamp
  • Bulk generation: create up to 1,000 IDs at once for testing and database seeding
  • V3/V5 namespace support: DNS, URL, OID, X500 predefined namespaces
  • One-click copy: copy individual IDs or all results to clipboard instantly
  • Download as file: export generated IDs as a .txt file
  • Cryptographically secure: uses browser's crypto API for maximum security
  • Works offline after first load

How to Use

  1. 1Select the UUID version tab (V1, V3, V4, V5, V7) or switch to NanoID/ULID mode.
  2. 2For V3/V5: choose a namespace (DNS, URL, OID, X500) and enter a name; same inputs always produce the same UUID.
  3. 3Use format checkboxes (Uppercase, No hyphens, Braces, Quotes) to customize UUID output format.
  4. 4Set the quantity (1–1,000) and results update automatically.
  5. 5Click Copy to copy a single ID, or Copy All / Download for bulk results.
  6. 6Use the validator section at the bottom to paste any UUID/NanoID/ULID; inspect version, variant, timestamp, or check format validity.
  7. 7Customize the NanoID alphabet: choose from URL-safe, alphabetic, hexadecimal, numeric, or enter your own custom characters to control exactly which characters appear in your IDs.
  8. 8Use the Bulk Export feature to generate up to 1,000 IDs at once, then copy all results or save as a .txt file for database seeding, test fixtures, or distributed system development.

Frequently Asked Questions

Which UUID version should I use?

V4 (Random) is the standard choice for most use cases; it's random, simple, and widely supported. Use V7 (Sortable) for database primary keys where insertion order matters. Use V1 (Timestamp) when you need to extract creation time from the ID. Use V3/V5 when you need deterministic IDs from a namespace + name combination.

What's the difference between V3 and V5?

Both generate deterministic UUIDs from a namespace and name. V3 uses MD5 hashing, while V5 uses SHA-1. V5 is preferred because SHA-1 provides better uniqueness guarantees. Same namespace + name always produces the same UUID for a given version.

What is UUID V7 and why use it for databases?

UUID V7 embeds a millisecond-precision Unix timestamp, making values naturally sorted by creation time. This improves B-tree index performance (fewer page splits), better cache utilization, and efficient range queries. It's ideal for database primary keys in high-volume applications.

What is NanoID?

NanoID is a compact alternative to UUID: 21 characters vs 36, URL-safe (A-Z, a-z, 0-9, _, -), and faster to generate. Perfect for short URLs, compact database keys, and scenarios where readability and size matter.

What is ULID?

ULID (Universally Unique Lexicographically Sortable Identifier) is a 26-character identifier combining timestamp + randomness. Unlike UUIDs, ULIDs sort chronologically as strings, making them excellent for database indexes and distributed systems where ordering matters.

What does the UUID Decoder do?

Paste any UUID to instantly see its version number, variant type (RFC 4122, Microsoft, etc.), embedded timestamp (for V1 and V7), and raw hexadecimal value. It accepts UUIDs with or without hyphens, braces, and quotes.

Are these IDs truly unique?

For practical purposes, yes. UUID V4 has 2^122 possible combinations. Collision probability is astronomically low: you'd need to generate 2.7 quintillion UUIDs for a 50% chance of one collision. V3/V5 are deterministic (same input = same output), while V1/V7 combine time + randomness.

Is UUID v4 cryptographically secure?

Yes, v4 and v7 UUIDs are generated in your browser with the Web Crypto API (crypto.getRandomValues), the same cryptographically secure random number source browsers use for TLS. V3/V5 are deterministic (MD5/SHA-1 of a namespace plus name) and V1 embeds the current time; only v4/v7 draw on random numbers. The same 2^122 value space means collision odds stay astronomically low.

Can I use this tool for database primary keys?

Yes. UUID V4 and V7 are excellent choices for database primary keys. V7 is especially recommended for MySQL and PostgreSQL because its time-ordered nature improves B-tree index performance and reduces page splits. NanoID is a good alternative for smaller databases where key length and readability matter.

What custom alphabets are available for NanoID?

NanoID supports multiple alphabets: URL-safe (A-Z, a-z, 0-9, _, -) for universal compatibility, pure letters for human-readable codes, hexadecimal for compact hex strings, pure numbers for numeric codes, or fully custom alphabets you define. URL-safe is recommended for most use cases as it works universally in URLs and file names.

Why does my V1 UUID contain my MAC address?

UUID version 1 is built from a timestamp plus the node identifier of the generating machine; for most computers that node ID is the network card's MAC address, so the UUID can reveal the hardware it was generated on. This is by design of the v1 spec, not a bug. If that privacy concern matters, use v4 (random) or v7 (time-ordered random) instead; neither embeds any hardware identifier.

Why does my uuid generator produce a different ID than another generator for the same input?

Because UUIDs are not derived from your input: v4 is pure randomness, and v1/v7 embed the current time, so every run (and every generator) produces a different value. There is no canonical output to match, and matching is not the goal; uniqueness is. The only deterministic versions are v3/v5, which hash a namespace plus a name; those DO give the same ID in every tool for the same pair.

Why does my uuid generator v4 output get rejected by MySQL or my database column?

The usual causes: the column is CHAR(36) and the pasted value lost its hyphens (or vice versa), the value was stored as uppercase while the app compares lowercase, a trailing newline or BOM sneaked in with copy-paste, or the column is too small (CHAR(32) for a hyphenless UUID). v4 IDs work fine as primary keys; generate with hyphens kept, store as CHAR(36) or BINARY(16), and validate the exact string before inserting.