Why does my JSON with comments fail?
Because comments are not part of JSON. The specification has no // or /* */ syntax, and JSON.parse rejects them. Editors like VS Code accept them in their own config files by using JSONC, a superset, but a real JSON parser will not. Strip the comments, or use YAML or JSON5 if you need them.
What is a trailing comma and why does it break everything?
It is the comma after the last item in an object or array, as in [1, 2, 3,]. JavaScript allows it in source code; JSON does not, full stop. It is the single most common JSON syntax error, and it is why the error position usually points at the closing bracket rather than at the comma itself.
Is minifying safe for a config file I have to edit later?
It is lossless in terms of data but destructive to readability, and it wipes out your formatting choices permanently. Minify what is going over the wire and keep the pretty-printed version in version control. You can always re-expand it here, but you will not get your original line breaks back, only the canonical 2-space form.
Why did my large ID number change?
Because JSON numbers are parsed as IEEE 754 doubles, which hold about 15 to 16 significant decimal digits exactly. A 19-digit identifier does not fit, so the last digits are rounded and the value you get back is not the one you put in. The fix is not in this tool: store large IDs as strings in your JSON in the first place.
Does the tool reorder my keys?
No. Both pretty-print and minify go through JSON.parse and JSON.stringify, which preserve the insertion order of string keys, so your keys come back in the order they were written. What does change is the whitespace, and, if you had any, the escape form of certain characters, which is normalised.