UTF-8 BOM breaks JSON parsers Playbook

UTF-8 BOM breaks JSON parsers. Practical troubleshooting runbook for repeatable fixes and safer conversions.

TL;DR: Validate -> locate exact failing spot -> fix the minimal part -> re-validate.

Execution steps

  1. Validate input locally. Start with a validator or parser-friendly converter.
  2. Locate root cause. Use line/position/error token to isolate one failing place.
  3. Apply a minimal fix. Do not refactor all content at once.
  4. Re-validate and continue. Once clean, convert/export safely.

Recommended tools

Relevant guides

Auto-selected from existing guides for this topic. Need more: search by keyword.

Encoding issues in CSV/JSON: UTF‑8, BOM, and weird characters

Fix encoding issues like UTF‑8 BOM, strange header characters, and broken symbols in CSV/JSON. Convert locally and validate output (no upload).

Unexpected token ï in JSON at position 0: what it means and how to fix it

JavaScript: Fix "Unexpected token ï in JSON at position 0": payload starts with a UTF-8 BOM () or invisible leading character. Strip BOM and validate...

SyntaxError: Unexpected token ï in JSON at position 0: what it means and how to fix it

Node.js: Fix "Unexpected token ï in JSON at position 0": payload starts with a UTF-8 BOM () or invisible leading character. Strip BOM and validate lo...

Guides by topic

Browse troubleshooting and conversion guides grouped by topic (JSON, CSV, XML, YAML, encoding, config formats, privacy).

json_decode(): Syntax error: what it means and how to fix it

PHP json_decode error (Syntax error): strict JSON rules, UTF-8/control characters, and quick fixes you can do locally (no upload).

json_last_error_msg(): No error: what it means and how to fix it

PHP json_last_error_msg error (No error): strict JSON rules, UTF-8/control characters, and quick fixes you can do locally (no upload).

System.Text.Json.JsonException: 'ï' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0.: what it means and how to fix it

Newtonsoft.Json error ('ï' is an invalid start of a value. LineNumber: 0 | ByteP...): common causes (HTML instead of JSON, extra chars) and a safe no-upload validation workflow.

json_decode(): Recursion detected: what it means and how to fix it

PHP json_decode error (Recursion detected): strict JSON rules, UTF-8/control characters, and quick fixes you can do locally (no upload).

Related actions

Related playbooks

Related by intent

Expert signal

Expert note: UTF-8 BOM breaks JSON parsers usually resolves fastest when triage starts from strict validation and then branches to comparison/alternative paths based on input quality.

Data snapshot 2026

MetricValue
Intent confidence score76/100
Predicted CTR uplift potential20%
Target crawl depth< 3 clicks

Trust note: All processing happens locally in your browser. Files are never uploaded.

Privacy & Security
All processing happens locally in your browser. Files are never uploaded.