Formatter Validator Minifier Escape / Unescape JSON ↔ String JSON ↔ YAML JSON → CSV NDJSON / JSON Lines JSON → Types JSON ↔ XML JSON Diff JSON Patch Canonicalize (RFC 8785) Schema Validator Schema Generator JSONPath Tester JWT Decoder JSON Errors Schemas More Tools
JSONTools / JSON errors / Invalid \uXXXX escape: line L column C (char N)
CPython json.loads · CPython 3.12.3

Invalid \uXXXX escape: line L column C (char N)

This message comes from CPython json.loads on CPython 3.12.3. In this registry it is produced by 2 distinct mistakes. Positions in the real message vary with your input; the causes do not.

What produces this message

Malformed \u escape in a JSON string

Input
{"a": "\uZZZZ"}

Exact message: Invalid \uXXXX escape: line 1 column 9 (char 8)

Fix: Supply four hex digits, or escape the backslash if you meant a literal `\u`.

Truncated \u escape in a JSON string

Input
{"a": "\u12"}

Exact message: Invalid \uXXXX escape: line 1 column 9 (char 8)

Fix: Pad to four digits: `\u0012`, not `\u12`.

What other parsers say about the same input

If a colleague reports a different message for what looks like the same file, this is why.

Parser Message for the same inputs
Gson\u12"}\uZZZZ
Gson JsonParser (lenient off)java.lang.NumberFormatException: \u12"}java.lang.NumberFormatException: \uZZZZ
JSON5JSON5: invalid character 'Z' at 1:10JSON5: invalid character '\"' at 1:12
JSON::PPunexpected end of string while parsing JSON string, at character offset N (before "…")
Jackson ObjectMapperUnexpected character ('"' (code 34)): expected a hex-digit for character escape sequenceUnexpected character ('Z' (code 90)): expected a hex-digit for character escape sequence
JavaScriptCore JSON.parseJSON Parse error: "\u12"}" is not a valid unicode escapeJSON Parse error: "\uZZZZ" is not a valid unicode escape
Newtonsoft.Json JsonConvertInvalid Unicode escape sequence: \uZZZZ. Path 'a', line L, position N.Unexpected end while parsing Unicode escape sequence. Path 'a', line L, position N.
Newtonsoft.Json JsonTextReaderInvalid Unicode escape sequence: \uZZZZ. Path 'a', line L, position N.Unexpected end while parsing Unicode escape sequence. Path 'a', line L, position N.
Ruby JSON.parseunexpected token at '…'
SpiderMonkey JSON.parseJSON.parse: bad Unicode escape at line L column C of the JSON data
System.Text.Json Deserialize'"' is not a hex digit following '\u' within a JSON string. The string should be correctly escaped. Path: $ | LineNumber: L | BytePositionInLine: C.'Z' is not a hex digit following '\u' within a JSON string. The string should be correctly escaped. Path: $ | LineNumber: L | BytePositionInLine: C.
System.Text.Json JsonDocument'"' is not a hex digit following '\u' within a JSON string. The string should be correctly escaped. LineNumber: L | BytePositionInLine: C.'Z' is not a hex digit following '\u' within a JSON string. The string should be correctly escaped. LineNumber: L | BytePositionInLine: C.
V8 JSON.parseBad Unicode escape in JSON at position N (line L column C)
encoding/json Unmarshalinvalid character '"' in \u hexadecimal character escapeinvalid character 'Z' in \u hexadecimal character escape
hjsonBad \u char " at line L,11Bad \u char Z at line L,9
json-bigintBad string
json_decodeSyntax error
orjsoninvalid escaped sequence in string: line L column C (char N)
serde_json::from_strinvalid escape at line L column C
ujsonUnexpected character in unicode escape sequence when decoding 'string'

← All JSON parser errors

Standards this registry is checked against

Only standards bodies and peer-reviewed venues are cited. Error strings on this site are observed by executing each parser; the standards above define what the parser is reacting to.