What a UUID is
A UUID (Universally Unique Identifier) is specified by IETF RFC 4122 / RFC 9562.
It is a 128-bit value written as 32 hex digits in five hyphen-separated groups:
550e8400-e29b-41d4-a716-446655440000. It is designed to be unique without any central
authority, so independent systems can each mint identifiers that will not collide. Databases use them as
primary keys, distributed systems use them as request and trace ids, and file formats use them as
internal references.
The version is encoded in the first digit of the third group. Version 1 is time-and-MAC based, version 4 is random, version 5 is name-based using SHA-1, and the newer versions 6, 7 and 8 are time-ordered or custom. This tool reads that digit and labels each identifier, and recognises the special all-zero "nil" and all-F "max" UUIDs by name.
How to extract UUIDs from text
- Paste your text. Application logs, a database export, API responses, config files, a trace — anything with identifiers in it.
- Choose what to include. By default every version is returned. Tick Version 4 only to keep just the random UUIDs, which is usually what application code generates.
- Click Extract. The 8-4-4-4-12 hyphenated form is matched, then anything touching another hex digit is discarded, so a UUID is not carved out of a longer token.
- Copy or download. Copy the plain list, or download a .csv carrying each UUID and its version. Upper-case output matches the style some systems, notably Microsoft GUIDs, prefer.
What comes out
- Every UUID in the standard 8-4-4-4-12 hyphenated form, upper or lower case.
- The version of each — v1 through v8 — read from the version digit.
- The nil and max UUIDs labelled by name rather than shown as an unknown version.
- Counts per version, so a mix of random and time-based ids is visible at a glance.
- Optional case folding and a CSV export carrying each UUID and its version.
What is supported, and what is not
Matched: the canonical 8-4-4-4-12 hyphenated form, in upper or lower case, wherever it
appears in the text — including inside a urn:uuid: prefix or a pair of braces, since
the 32 hex digits and their hyphens are what the pattern locks onto. Every match is boundary-checked: a
UUID touching another hex digit on either side is rejected, so one is never sliced out of a longer
identifier.
The version is read, not verified. The version digit is reported as written; the tool does not check that the rest of the value is consistent with that version. A hand-written or malformed UUID is reported with whatever version digit it carries.
Not matched: UUIDs written without hyphens as a bare 32-character hex run — at that length they are indistinguishable from an MD5 hash, so they are left to the hash extractor. Base64-encoded or otherwise shortened UUIDs are not matched either.
Why the log never leaves your device
Matching runs as JavaScript in your browser. Nothing you paste is transmitted. For the full explanation of how browser-based processing works, see the security page.
Application logs and database dumps are exactly where UUIDs live, and those are exactly the files that also carry session tokens, customer records and internal identifiers. Pulling the ids out locally means none of that surrounding data is handed to anyone.
What this tool does not do
This tool finds and labels UUIDs. It deliberately does not:
- Generate UUIDs. It extracts the ones already in your text.
- Decode a UUID. It does not pull the timestamp or MAC out of a version-1 value.
- Verify consistency. The version digit is reported as written, not checked against the rest of the value.
- Match unhyphenated UUIDs. A bare 32-character hex run is indistinguishable from an MD5 hash and is left to the hash extractor.
Who extracts UUIDs
- Developers — pulling a request or trace id out of a wall of log lines to follow one operation through a distributed system.
- Database work — collecting the primary keys referenced in a dump or a migration script.
- Support and debugging — extracting the identifiers a customer quoted, or the ones tied to a failing job.
- QA and testing — gathering the ids generated during a run to check for duplicates or the wrong version.
- Data cleanup — separating identifiers from the surrounding text so they can be deduplicated or diffed.
UUIDs compared with hashes and other identifiers
A UUID is a 128-bit identifier with a distinctive hyphenated shape, minted to be unique. A hash is a digest of data, identified by its length. A MAC address is a 48-bit hardware address. The hyphenation is what makes a UUID unambiguous to match, where a bare hash is not. For hashes use the hash extractor; for hardware addresses, the MAC address extractor; for network addresses, the IP address extractor.
For any other identifier or pattern, the regex extractor lets you write your own and runs it safely in your browser.
Frequently asked questions
How do I extract all UUIDs from a log?
Paste the log above and click Extract. Every UUID in the 8-4-4-4-12 form is listed, deduplicated and labelled with its version.
What is the difference between a UUID and a GUID?
None that matters here. GUID is Microsoft's name for the same 128-bit identifier, often written in upper case and sometimes in braces. Both are matched, and upper-case output is available.
How does it know the UUID version?
The version is encoded in the first digit of the third group. The tool reads that digit and labels each identifier v1 through v8, and names the special nil and max UUIDs.
Can it extract UUIDs without hyphens?
No. A 32-character hex run with no hyphens is indistinguishable from an MD5 hash, so it is left to the hash extractor rather than guessed at here.
Are my logs uploaded anywhere?
No. Everything runs in your browser. Logs and database dumps carry tokens and customer data alongside the ids, so pulling the ids out locally keeps all of that on your machine.
Does it generate UUIDs?
No. This tool extracts the UUIDs already present in your text; it does not create new ones.
Why is only version 4 so common in my data?
Version 4 is random and needs no special input, so most application libraries generate it by default. Tick Version 4 only to filter to just those.