The library uses the following mapping from JSON values types to CBOR types according to the CBOR specification (RFC 7049):
| JSON value type | value/range | CBOR type | first byte |
| null | null | Null | 0xf6 |
| boolean | true | True | 0xf5 |
| boolean | false | False | 0xf4 |
| number_integer | -9223372036854775808..-2147483649 | Negative integer (8 bytes follow) | 0x3b |
| number_integer | -2147483648..-32769 | Negative integer (4 bytes follow) | 0x3a |
| number_integer | -32768..-129 | Negative integer (2 bytes follow) | 0x39 |
| number_integer | -128..-25 | Negative integer (1 byte follow) | 0x38 |
| number_integer | -24..-1 | Negative integer | 0x20..0x37 |
| number_integer | 0..23 | Integer | 0x00..0x17 |
| number_integer | 24..255 | Unsigned integer (1 byte follow) | 0x18 |
| number_integer | 256..65535 | Unsigned integer (2 bytes follow) | 0x19 |
| number_integer | 65536..4294967295 | Unsigned integer (4 bytes follow) | 0x1a |
| number_integer | 4294967296..18446744073709551615 | Unsigned integer (8 bytes follow) | 0x1b |
| number_unsigned | 0..23 | Integer | 0x00..0x17 |
| number_unsigned | 24..255 | Unsigned integer (1 byte follow) | 0x18 |
| number_unsigned | 256..65535 | Unsigned integer (2 bytes follow) | 0x19 |
| number_unsigned | 65536..4294967295 | Unsigned integer (4 bytes follow) | 0x1a |
| number_unsigned | 4294967296..18446744073709551615 | Unsigned integer (8 bytes follow) | 0x1b |
| number_float | any value | Double-Precision Float | 0xfb |
| string | length: 0..23 | UTF-8 string | 0x60..0x77 |
| string | length: 23..255 | UTF-8 string (1 byte follow) | 0x78 |
| string | length: 256..65535 | UTF-8 string (2 bytes follow) | 0x79 |
| string | length: 65536..4294967295 | UTF-8 string (4 bytes follow) | 0x7a |
| string | length: 4294967296..18446744073709551615 | UTF-8 string (8 bytes follow) | 0x7b |
| array | size: 0..23 | array | 0x80..0x97 |
| array | size: 23..255 | array (1 byte follow) | 0x98 |
| array | size: 256..65535 | array (2 bytes follow) | 0x99 |
| array | size: 65536..4294967295 | array (4 bytes follow) | 0x9a |
| array | size: 4294967296..18446744073709551615 | array (8 bytes follow) | 0x9b |
| object | size: 0..23 | map | 0xa0..0xb7 |
| object | size: 23..255 | map (1 byte follow) | 0xb8 |
| object | size: 256..65535 | map (2 bytes follow) | 0xb9 |
| object | size: 65536..4294967295 | map (4 bytes follow) | 0xba |
| object | size: 4294967296..18446744073709551615 | map (8 bytes follow) | 0xbb |