How to Format, Validate, and Debug JSON Online
Complete guide to working with JSON — formatting, validation, common errors, and using online JSON tools effectively.
JSON Formatter Guide: Validate, Debug, and Format JSON Online
JSON (JavaScript Object Notation) is the universal language of modern web APIs. Every REST API call, webhook, and most configuration files use JSON. But raw API responses come minified — all on one line, impossible to read. A JSON formatter transforms them into readable, navigable structures.
JSON Syntax: The Six Rules
JSON has exactly six rules. Breaking any one makes the document invalid.
Rule 1 — Keys must be double-quoted: {"name": "Ravi"} is correct; {name: "Ravi"} and {'name': "Ravi"} are both wrong.
Rule 2 — String values use double quotes only: {"city": "Delhi"} is correct; {"city": 'Delhi'} is wrong.
Rule 3 — No trailing commas: {"a": 1, "b": 2} is correct; {"a": 1, "b": 2,} is wrong. Arrays: [1, 2, 3] correct; [1, 2, 3,] wrong.
Rule 4 — No comments: JSON supports no comment syntax. Use JSONC or JSON5 for human-edited config files where comments help.
Rule 5 — null not undefined: JSON has null but no undefined. Use null for absent values.
Rule 6 — Lowercase booleans and null: true and false lowercase always; True and False are Python, not JSON.
Common JSON Errors and Fixes
| Error Message | Root Cause | Fix |
|---|---|---|
| Unexpected token | Missing comma or extra comma | Check between properties and after last item |
| Expected property name | Key without quotes | Wrap key in double quotes |
| Unexpected end of JSON | Unclosed bracket or brace | Count opening and closing delimiters |
| Unexpected token at position N | Trailing comma or syntax error | Check character at that position |
| Invalid character | Smart quotes or special characters | Replace curly quotes with straight double quotes |
JSON Data Types Reference
JSON supports exactly seven value types: strings (double-quoted text), numbers (integer or decimal, no quotes), booleans (true or false, lowercase), null, arrays (ordered lists in square brackets), and objects (key-value pairs in curly braces). These types can be nested infinitely.
Numbers support integers (42), decimals (3.14), and scientific notation (6.022e23). JSON has no Date type — use ISO 8601 strings ("2024-01-15T10:30:00Z"). JSON has no binary type — use Base64 strings.
JSON in Different Contexts
API debugging: Copy a response body from browser DevTools Network tab, paste into Lazyblink JSON Formatter, instantly see the structure. Identify the exact field path you need for your code.
Configuration files: package.json, tsconfig.json, and .eslintrc all use JSON. Format before committing to make code reviews easier.
MongoDB and NoSQL: MongoDB uses BSON internally but JSON for queries and aggregations. Format complex aggregation pipelines before running.
AWS IAM policies: Cloud permission policies are JSON. Formatting is essential for spotting security configuration errors in nested policy structures.
JSON vs Related Formats
JSON is strict and machine-optimised. For human-editable config files, alternatives exist: JSON5 allows comments and trailing commas; JSONC allows // comments (used by VSCode settings.json); YAML uses indentation instead of brackets and supports comments with #; TOML is designed for config files with a natural key = value syntax.
Rule: For API communication and data exchange, always use strict JSON. For config files humans edit regularly, JSON5 or YAML are better choices.
Using Lazyblink JSON Formatter
Paste your JSON in the left panel. Errors highlight immediately with the problematic line and column. Valid JSON appears formatted with syntax highlighting on the right. Use Minify to compress back to one line before sending to APIs. Use Validate to check validity without reformatting. The formatter also supports converting JSON to other formats including YAML and handles JSONPath queries for extracting specific values from complex documents.
Frequently asked questions
What is the difference between JSON and JavaScript objects?
JSON requires double quotes for keys and strings; no functions, undefined, or comments. JavaScript objects are more flexible.
How do I validate JSON?
Paste it in the Lazyblink JSON Formatter — valid JSON shows formatted output, invalid JSON shows the exact error.
Put this guide into practice with our free online tool — no signup required.
Open tool