What the validator checks
The tool reads your text against the JSON grammar in RFC 8259, the IETF standard for JSON. Keys and strings must use double quotes; the only literals are true, false and null; numbers cannot have leading zeros or a trailing point; and there are no comments and no comma before a closing bracket. Each of these is a common copy-and-paste slip, so the error message names it in plain words, for example "Trailing comma before ]" or "Single quotes are not allowed", rather than a bare "Unexpected token".
Line and column, counted as you see them
The position of an error is counted in characters as they appear on screen, starting at line 1, column 1. Arabic text, accented letters and emoji count as one character each, so the column matches what your editor shows. Press Go to error and the cursor lands on the exact character, even in a file of several thousand lines.
Big numbers and duplicate keys
Most online formatters run JSON through the browser's own parser, which stores numbers as 64-bit floating point. RFC 8259 notes that only integers between −(2^53 − 1) and 2^53 − 1 are exchanged exactly that way, so a 19-digit order ID can come back changed in its last digits. This formatter keeps every number exactly as written and warns you when a value is beyond that range, because other programs may round it. The standard also says object keys should be unique; if a key appears twice, the tool keeps both and lists them, rather than quietly keeping only the last one.
Sorting keys and minifying
Sort keys orders the keys of every object by Unicode code point, the same order common command-line tools use, so two files with the same data but a different key order become easy to compare. Arrays keep their order, because order in an array carries meaning. Minify removes every space and line break outside strings, which gives the smallest file for an API request or a config value; text inside quotes is never touched.
Encoding, Arabic text and the escape option
RFC 8259 requires JSON exchanged between systems to be UTF-8, and Arabic or any other script can be written directly inside strings. If a system you send JSON to only accepts ASCII, tick Escape non-ASCII and every such character is written as a \u escape instead. A byte order mark at the start of a file is accepted and reported, since the standard says senders must not add one.