Errata exists for this version of the document.
All OPC UA DataEncodings are based on rules that are defined for a standard set of built-in types. These built-in types are then used to construct structures, arrays and Messages. The built-in types are described in Table 1.
| ID | Name | Description | 
| 1 | Boolean | A two-state logical value (true or false). | 
| 2 | SByte | An integer value between −128 and 127 inclusive. | 
| 3 | Byte | An integer value between 0 and 255 inclusive. | 
| 4 | Int16 | An integer value between −32 768 and 32 767 inclusive. | 
| 5 | UInt16 | An integer value between 0 and 65 535 inclusive. | 
| 6 | Int32 | An integer value between −2 147 483 648 and 2 147 483 647 inclusive. | 
| 7 | UInt32 | An integer value between 0 and 4 294 967 295 inclusive. | 
| 8 | Int64 | An integer value between −9 223 372 036 854 775 808 and 9 223 372 036 854 775 807 inclusive. | 
| 9 | UInt64 | An integer value between 0 and 18 446 744 073 709 551 615 inclusive. | 
| 10 | Float | An IEEE single precision (32 bit) floating point value. | 
| 11 | Double | An IEEE double precision (64 bit) floating point value. | 
| 12 | String | A sequence of Unicode characters. | 
| 13 | DateTime | An instance in time. | 
| 14 | Guid | A 16-byte value that can be used as a globally unique identifier. | 
| 15 | ByteString | A sequence of octets. | 
| 16 | XmlElement | An XML element. | 
| 17 | NodeId | An identifier for a node in the address space of an OPC UA Server. | 
| 18 | ExpandedNodeId | A NodeId that allows the namespace URI to be specified instead of an index. | 
| 19 | StatusCode | A numeric identifier for an error or condition that is associated with a value or an operation. | 
| 20 | QualifiedName | A name qualified by a namespace. | 
| 21 | LocalizedText | Human readable text with an optional locale identifier. | 
| 22 | ExtensionObject | A structure that contains an application specific data type that may not be recognized by the receiver. | 
| 23 | DataValue | A data value with an associated status code and timestamps. | 
| 24 | Variant | A union of all of the types specified above. | 
| 25 | DiagnosticInfo | A structure that contains detailed error and diagnostic information associated with a StatusCode. | 
Most of these data types are the same as the abstract types defined in OPC 10000-3 and OPC 10000-4. However, the ExtensionObject and Variant types are defined in this standard. In addition, this standard defines a representation for the Guid type defined in OPC 10000-3.