A universally unique identifier (UUID) is a 128-bit number used to identify information in computer systems. The term globally unique identifier (GUID) is also used, typically in software created by Microsoft.
When generated according to the standard methods, UUIDs are, for practical purposes, unique. Their uniqueness does not depend on a central registration authority or coordination between the parties generating them, unlike most other numbering schemes. While the probability that a UUID will be duplicated is not zero, it is close enough to zero to be negligible.
GUIDs are used in C#, Java, and C++ enterprise software development as database keys, component identifiers, or just about anywhere else a truly unique identifier is required. GUIDs are also used to identify all interfaces and objects in the COM programming process.
128-bit is large enough and the generation algorithm is unique enough that if 1,000,000,000 GUIDs per second were generated for 1 year, the probability of a duplicate would be only 50 percent. Or if every human on Earth produced 600,000,000 GUIDs, there would only be a 50 percent chance of a duplicate.