A UUID is 128 bits with two landmarks in it and, depending on the version,
a clock and a machine identifier. This app makes them and takes them apart,
entirely on your device, with no network access of its own.
EVERY VERSION, AND WHICH ONE TO USE
Versions 1, 3, 4, 5, 6, 7 and 8, plus the nil and max constants. Each one is
shown with a short explanation of what it is actually for, because "which
version am I supposed to use" is the real question and a list of numbers does
not answer it.
Version 4 is the default and the right answer most of the time. Version 7 is
marked as recommended for anything that will be a database key: it sorts into
creation order, so it does not scatter your index the way a version 4 does,
and it gives away nothing but the time.
VERSION 7 THAT ACTUALLY STAYS IN ORDER
Ask for a hundred and they all land inside the same millisecond — the moment
most generators stop being ordered, because a millisecond timestamp followed by
random bits sorts randomly inside it.
This one keeps a sub-millisecond counter, as RFC 9562 section 6.2 describes, so
a batch sorts into creation order as text, as bytes, and in a database index.
You can see the counter advancing down the list.
BULK, AND SEVEN OUTPUT FORMS
One UUID or a thousand. Copy a single row with a tap, copy the whole batch, or
share it. Every value can be written as:
• canonical 8-4-4-4-12
• 32 bare hex digits, for a CHAR(32) column
• braces, for the Windows registry and .NET
• urn:uuid:, which is a legal URI
• 22 characters of Base64URL, safe in a URL or a filename
• one decimal integer, for a NUMERIC column
• sixteen 0x octets, ready to paste into source
Upper or lower case throughout.
NAME-BASED UUIDS
Versions 3 and 5 hash a namespace and a name, so the same inputs always give
the same UUID on any implementation, so two systems can derive one identifier
for the same thing without talking. The four namespaces RFC 9562 defines are
built in, and you can paste your own.
TAKE ANY UUID APART
Paste one, or send it here from another app: select it in a log line, a URL or
a JSON response and choose Share, or Inspect UUID in the text menu. The
identifier is pulled out of the text around it.
You get the version and variant, the embedded timestamp in UTC and local time,
the clock sequence, the node field, the counter, and a diagram of where every
one of the sixteen octets sits.
It reads the variant before the version, which most tools get backwards: in a
Microsoft-variant GUID the bits that look like a version belong to another
field, so reporting them as a version would invent a fact.
WHAT IT TELLS YOU THAT OTHERS DO NOT
A version 1 or version 6 UUID whose node field has its multicast bit clear
contains a real, globally unique MAC address. The machine that created it can
be identified from that, permanently, in every copy of the value that was ever
stored or logged. It is invisible in the text; the app says so plainly.
It also flags the nil and max UUIDs, an undefined version, a timestamp in the
future, a version 7 whose first 48 bits are not a date, version 3's use of MD5,
and when what you pasted is a published namespace constant rather than your own
value.
When something will not parse it says which character or which hyphen is wrong,
including invisible ones copied out of a formatted document.
ABOUT THE RANDOMNESS, AND YOUR MAC ADDRESS
Version 4 and the random parts of the others come from the platform's
cryptographic random source, never from a seeded generator.
Versions 1 and 6 need a node field. This app never reads your MAC address: it
uses 48 random bits with the multicast bit set, regenerated every time the app
starts, which is what RFC 9562 recommends instead.
OFFLINE, AND IN TEN LANGUAGES
Nothing you generate or paste in is sent anywhere, and the app works with no
network at all. English, German, Spanish, French, Italian, Portuguese, Russian,
Turkish, Japanese and Chinese.
Built to RFC 9562, which replaced RFC 4122 in 2024.
Generate and inspect UUIDs v1 to v8, offline. Nothing leaves your phone.