UUID Generator

Generate UUIDs of version 1, 4 and 7, up to a thousand at a time, derive version 3 and 5 UUIDs from a namespace and a name, and write them in six formats.

Overview

A UUID is a 128-bit identifier that can be made anywhere without asking a central registry and still not collide, defined in RFC 9562. It is written as 32 hexadecimal digits in five groups, 550e8400-e29b-41d4-a716-446655440000. The first digit of the third group is the version, the first digit of the fourth group holds the variant, 8, 9, a or b for the UUIDs of RFC 9562. GUID is Microsoft's name for the same thing.

Web interface

Generator makes UUIDs: pick the version, the format and a quantity from 1 to 1,000, and press Generate or Ctrl/ + Enter. Copy copies all of them, one per line. Namespace UUIDs derives version 3 and 5 UUIDs from a namespace and a name as you type.

Versions

VersionMade fromSorts by time
v1the time in 100-nanosecond steps since 15 October 1582, a random clock sequence and a random node, marked as random by its multicast bit as RFC 9562 asksno: the low bits of the time come first
v4122 random bitsno
v7the Unix time in milliseconds, followed by 74 random bitsyes
v3a namespace and a name, hashed with MD5no, the same input always gives the same UUID
v5a namespace and a name, hashed with SHA-1no, the same input always gives the same UUID
Nilall zeros: 00000000-0000-0000-0000-000000000000

The random bits come from crypto.getRandomValues, the browser's cryptographic random source. Within one millisecond, v7 counts its random part up instead of drawing it again (RFC 9562, section 6.2, method 2), so a batch of a thousand sorts in exactly the order it was made, and a UUID made later never sorts before one made earlier on the same page. That is what makes v7 a good primary key: new rows land at the end of an index.

Namespace UUIDs

Version 3 and 5 hash the 16 bytes of a namespace UUID followed by the name in UTF-8. The presets are the four namespaces RFC 9562 defines, DNS, URL, OID and X.500; Custom takes any UUID. The same namespace and name always give the same UUID, which makes them useful as stable identifiers for things that already have a name. For the DNS namespace and example.com the tool gives:

VersionUUID
v3 (MD5)9073926b-929f-31c2-abc9-fad77ae3e8eb
v5 (SHA-1)cfbff0d1-9375-5685-968c-48ce8b15ae17

Both were checked against Node.js's own MD5 and SHA-1. Prefer v5 for new work; v3 exists for compatibility.

Formats

FormatExample
Standard550e8400-e29b-41d4-a716-446655440000
Uppercase550E8400-E29B-41D4-A716-446655440000
No dashes550e8400e29b41d4a716446655440000
Braces{550e8400-e29b-41d4-a716-446655440000}, as Microsoft writes GUIDs
URNurn:uuid:550e8400-e29b-41d4-a716-446655440000
ShortVQ6EAOKbQdSnFkRmVUQAAA: the 16 bytes in URL-safe Base64, 22 characters

No API

There is no API for this tool. UUIDs are made in the browser; in a script, use uuidgen on the command line, crypto.randomUUID() in JavaScript or the uuid module in Python, all of which make version 4.

Privacy

Nothing leaves the browser. The UUIDs are made on the page and are not stored or logged anywhere, so nobody else has seen the ones you use.