Committed to connecting the world

ICTs for a Sustainable World #ICT4SDG

Universally Unique Identifiers (UUIDs)

This web page is associated with Rec. ITU-T X.667 | ISO/IEC 9834-8"Information Technology - Open Systems Interconnection - Procedures for the operation of OSI Registration Authorities: Generation and Registration of Universally Unique Identifiers (UUIDs) and their Use as ASN.1 Object Identifier Components".​

UUID Generation

This feature automatically generates a time-based UUID for your own use.

What is a UUID?

​A UUID (Universally Unique Identifier) can be used for multiple purposes, from tagging objects with an extremely short lifetime, to reliably identifying very persistent objects across a network, particularly (but not necessarily) as part of an ASN.1 object identifier (OID) value, or in a Uniform Resource Name (URN). 

UUIDs are an octet string of 16 octets (128 bits). The 16 octets can be interpreted as an unsigned integer encoding, and the resulting integer value can be used as a subsequent arc of {joint-iso-itu-t uuid(25)} (or 2.25) in the OID tree. This enables users to generate OIDs without any registration procedure.

UUIDs forming a component of an OID are represented in ASN.1 value notation as the decimal representation of their integer value, but for all other display purposes it is more usual to represent them with hexadecimal digits with a hyphen separating the different fields within the 16-octet UUID. This representation is defined in Rec. ITU-T X.667 | ISO/IEC 9834-8.
Example: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 is the hexadecimal notation that denotes the same UUID as 329800735698586629295641978511506172918 in decimal notation.

UUIDs are also known as Globally Unique Identifiers (GUIDs), but this term is not used in Rec. ITU-T X.667 | ISO/IEC 9834-8. UUIDs were originally used in the Network Computing System (NCA) and later in the Open Software Foundation's Distributed Computing Environment (DCE). ISO/IEC 11578 "Remote procedure Call (RPC)" contains a short definition of some (but not all) of the UUID formats specified in Rec. ITU-T X.667 | ISO/IEC 9834-8 which is consistent with all these earlier specifications.

If generated according to one of the mechanisms defined in Rec. ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be different from all other UUIDs generated before 3603 A.D., or is extremely likely to be different (depending on the mechanism chosen). The UUID generation algorithm specified in this standard supports very high allocation rates: 10 million per second per machine if necessary, so UUIDs can also be used as transaction IDs.

No centralized authority is required to administer UUIDs but automatic generation of UUIDS (using the algorithm defined in Rec. ITU-T X.667 | ISO/IEC 9834-8) is provided at the top of this web page.

Government health warning: It is important to note identical values for a UUID might be used, although the probability of this occurring is very small. The probability is increased if UUIDs are generated from MD5 hash values or pseudo-random numbers, rather than from SHA-1 hash values and cryptographic-quality random numbers. This may cause confusion for the users of the OID, and could be the trigger of malicious use such as spoofing.

Use of a UUID as a URN

​​A URN (see IETF RFC 2141) formed using a UUID shall be the string "urn:uuid:" followed by the hexadecimal representation of a UUID.
Example: The following is an example of the string representation of a UUID as a URN: