Take the 2-minute tour ×

Globally Unique Identifiers (GUID) are a grouped string with a specific format which I assume has a security reason.

A GUID is most commonly written in text as a sequence of hexadecimal digits separated into five groups, such as:


Why aren't GUID/UUID strings just random bytes encoded using hexadecimal of X length?

This text notation contains the following fields, separated by hyphens:

| Hex digits | Description
| 8            | Data1
| 4            | Data2
| 4            | Data3
| 4            | Initial two bytes from Data4
| 12           | Remaining six bytes from Data4

There are also several versions of the UUID standards.



share|improve this question

migrated from crypto.stackexchange.com Oct 14 '12 at 9:18


No, it probably isn't for security reasons, the bitstring has the same entropy with or without the dashes. I would think it is so that GUID's can be recognized at a glance instead of going "here's a bunch of hex characters, is that md5.. or perhaps sha1.. no, wait, it could be..." and so on. Also, GUID's are usually not just random bytes. –  Thomas Oct 14 '12 at 2:35
Similar Question from SO UUID format: 8-4-4-4-12 - Why? –  Praveen Sep 12 at 10:55

2 Answers 2

From RfC4122 – A Universally Unique IDentifier (UUID) URN Namespace

The formal definition of the UUID string representation is provided by the following ABNF:

UUID                   = time-low "-" time-mid "-"
                         time-high-and-version "-"
                         clock-seq-low "-" node

So, those are just the different fields from the original time and MAC-based UUID. The RFC says it originates from the Apollo Network Computing System.

share|improve this answer

The text representation with the dashes is separating the four fields of the Guid/UUID into five groups (with the last field being separated itself after the first two bytes): Guid Text Encoding

The representation doesn't have anything to do with security, as there are different methods of computing it and is intended to be a unique identifier not necessarily a secure one.

The most likely reason the fields are split (even though the standard doesn't mention it) is for readability/separation of the component parts.

share|improve this answer
That tells us what the format is, information that was already in the question. It doesn't explain why, which is what the OP was asking. –  Keith Thompson Oct 14 '12 at 19:49
It is just separating them into the fields, likely for better readability and identification. Maybe the last one was split further because of its length. –  Turnkey Oct 14 '12 at 20:06
logical. Same reason phone numbers, credit card numbers, and many other long numbers are frequently split up in groups when printed or written down. –  jwenting Oct 15 '12 at 5:39

Your Answer


