UUID Generator
Generate UUID v4, v7, and ULID values in your browser. They are created after the page loads and are never sent anywhere.
Generated values
How to use UUID Generator
- 1Choose a type (v4, v7, ULID, or Nil/Max) and how many values you need. The list is filled as soon as the page loads.
- 2Press Regenerate to get new values. Changing an option also creates a new list.
- 3Copy one value with its copy button, press Copy all, or press Download to save a .txt file with one value per line.
UUID Generator options
- Type
- UUID v4 is random. UUID v7 starts with the Unix time in milliseconds, so values sort by creation time. ULID holds the same time in 26 Crockford Base32 characters. Nil/Max gives the all-zero and all-one UUIDs.
- Count
- 1 to 1,000 values at a time. The default is 5.
- Uppercase
- Writes the hexadecimal digits in uppercase. A ULID is always uppercase.
- Hyphens
- On by default (8-4-4-4-12). Turn it off to get 32 digits in a row.
- Wrap
- Puts braces or double quotes around each value.
- Analyze
- Paste a UUID or ULID to see its version and variant. For v1, v6, v7, and ULID the timestamp inside the value is shown as well.
UUID versions and the standard
UUIDs are defined in RFC 9562. A UUID is 128 bits written as 32 hexadecimal digits in five groups (8-4-4-4-12). The first digit of the third group is the version, and the first digit of the fourth group holds the variant.
- v4: 122 random bits. The version digit is
4and the variant digit is8,9,a, orb. - v7: 48 bits of Unix time in milliseconds, the version digit
7, then random bits. A value created later sorts after an earlier one. - Nil and Max: the two special values with every bit set to 0 and every bit set to 1.
A ULID stores the same 48-bit millisecond time followed by 80 random bits, written as 26 Crockford Base32 characters.
How the values are generated
v4 values come from crypto.randomUUID(). The random bits of v7 and ULID come from crypto.getRandomValues(). Math.random() is never used. When several v7 values are created in the same millisecond, the 12 bits after the version digit act as a counter, so the values in one list are in ascending order.
The work card is empty in the HTML the server sends. Values are created in your browser after the page loads, and a new list replaces the old one when you press Regenerate or change an option.
UUID Generator examples
Nil UUID (type Nil/Max)
The Max UUID on the second line is ffffffff-ffff-ffff-ffff-ffffffffffff.
Input
Nil
Output
00000000-0000-0000-0000-000000000000
UUID v7 created at 1767225600000 ms (2026-01-01T00:00:00.000Z)
The first 12 hex digits, 019b76daa800, are the Unix time in milliseconds. 7 is the version and x stands for random digits.
Input
1767225600000
Output
019b76da-a800-7xxx-…
ULID created at the same time
The first 10 characters hold the time. 16 random characters follow.
Input
1767225600000
Output
01KDVDNA00…
Analyze a UUID
Version, variant, and the time stored in the first 48 bits.
Input
019b76da-a800-7000-8000-000000000000
Output
7 · RFC 9562 · 2026-01-01T00:00:00.000Z
Examples use the reference cases this tool is tested against.
UUID Generator: frequently asked questions
Is my input sent to a server?
No. Your input and the result are processed only in this browser and are not stored. Reloading the page clears them.
Should I use v4 or v7?
Use v4 when you only need a unique value with no meaning. Use v7 for database keys: the leading timestamp keeps new rows close together in an index. A v7 value shows when it was created, so choose v4 if that should stay private.
Can two generated UUIDs be the same?
A v4 UUID has 122 random bits, so a duplicate is not a practical concern. The values come from crypto.randomUUID() and crypto.getRandomValues() in your browser, not from Math.random().
Why is the list empty until the page has loaded?
The values are created in your browser after the page loads. The HTML the server sends contains no generated values, so two visitors never receive the same list.
What is a ULID?
A ULID is a 128-bit identifier written as 26 Crockford Base32 characters: 10 for the time in milliseconds and 16 random ones. It sorts by time as plain text and leaves out the letters I, L, O, and U.
In what order are v7 values in one list?
All values in one list share the same millisecond. The 12 bits after the version digit work as a counter that goes up by one for each value, so the list is already in ascending order. If the counter runs out, the next value uses the following millisecond.
Related tools
How it works · Standards
- Processed in: this browser (your device). Nothing is sent or stored.
- Standards: RFC 9562 · ULID
- Engine: Web Crypto API (crypto.randomUUID, crypto.getRandomValues) (browser built-in) · ZEKILO Dev UUID v7 and ULID generator, UUID analyzer (in-house code)
- UUID v7 and ULID contain the creation time. Do not use them where that time must stay private.
- Generated values are not stored. Reloading the page creates a new list.
- As of 2026.10.03
- Changelog: 2026.10.03 First release