Guides
Troubleshooting and reference material for the errors that come up while working with structured data. Each guide explains what a message actually means, why it happens, and which tool helps you confirm the fix.
Published guides
- CSV ConverterCSV Opens in One Column: Semicolons, Commas, and Your LocaleEverything landing in column A does not mean the file is broken. Two causes look identical: the file uses semicolons, or Excel is splitting on your locale separator. Check the file first.
- JSON FormatterTrailing Comma in JSON: Two Different Errors, and Only One Tells You WhereJSON forbids trailing commas, but V8 reports them two different ways. An object gives you a position, line, and column. An array gives you none of those — measured, with what to do instead.
- JSON FormatterUnexpected end of JSON input: Empty Input or Incomplete JSON?It does not only mean empty. Measured on current V8: this message appears when the input ends where a value should begin — which covers an empty body and several kinds of truncation, but not all of them.
- CSV ConverterCSV Unterminated Quoted Field: One Missing Quote Swallows the Rest of the FileA quote that never closes makes the parser read every following line as part of one field. Measured: a three-row file parses as one row, and the row count is the symptom to look for.
- YAML FormatterYAML "did not find expected key": It’s Indentation, and the Line Number Is Usually WrongOne cause: a mapping key indented to a column that matches no open block. Measured across go-yaml, libyaml, and the yaml package — go-yaml reported an earlier line every time.
- JSON FormatterBad Control Character in String Literal: Raw Newlines and Tabs in JSONA real newline inside a JSON string is invalid; the same newline between two keys is fine. Measured across V8 and Python — which characters break, which do not, and why U+007F is allowed.
- JWT DecoderWhy Your JWT Won't Decode: Segments, Base64URL, and Paddingjwt malformed, Not enough segments, Invalid payload padding — measured across PyJWT and jsonwebtoken. Each message names the check that failed, not the problem: a four-segment token is reported as a padding error.
- JSON FormatterExpecting Property Name Enclosed in Double Quotes — Three Causes, Not OnePython raises this for single-quoted keys, unquoted keys, and a trailing comma alike — the message does not say which. How to tell them apart, and what V8 reports for the same input.
- CSV ConverterCSV Rows With a Different Number of Fields — and What __parsed_extra MeansA row with more or fewer fields than the header is not invalid CSV — but every parser treats it differently. Measured across Papa Parse, Python csv, and Go: extra values, omitted keys, and hard errors.
- JSON FormatterValid JSON, Changed Value: Which Runtimes Preserve Large Integer IDsA JSON document can parse without error and still hand you a different number. Measured across Node, Python, Go, jq, and PostgreSQL: which consumers keep every digit of a large ID, and which do not.
- YAML Formatterkubectl "error converting YAML to JSON": Which Layer Failed, and What the Line Number MeansThe failure happened before Kubernetes read your manifest as a Kubernetes object, so it is never a schema or field-name problem. What the reported line number actually points at, measured.
- ENV FormatterWhy the Same .env File Behaves Differently in Docker, Compose, Node, and PythonMeasured on current versions: docker run --env-file and Docker Compose disagreed on 10 of 14 cases from one .env file. What each consumer does with quotes, #, $, and whitespace.
- JSON FormatterUnexpected token '<', "<!DOCTYPE "... is not valid JSONThe parser is not the problem: your request returned an HTML page instead of JSON. How to read the V8 message, find the real response, and fix the cause.
Guides and tools
A guide explains why something broke. A tool lets you act on it — inspect the payload, compare two responses, or strip secrets before sharing. Guides link to the tool that helps at the point it becomes useful, and every tool runs entirely in your browser.
Browse the full set on the tools page.