How to format, fix and check JSON
Paste JSON or drop a file. The tool formats it as you type (up to 500 KB, larger on Ctrl+Enter), shows the exact line and column of any error, and fills the tree, table, statistics and path explorer.
When the JSON is broken
Most "invalid JSON" comes from text copied out of code, logs or chat. Click Repair automatically in the error banner, or Repair JSON in the workbench. It fixes:
//,/* */and#comments, and trailing commas;- single or curly quotes, and unquoted keys;
- Python
True/False/None, andNaN/Infinity; - missing commas between lines, unclosed brackets, and a JavaScript
const x =prefix.
Every change is listed, and Undo puts your original text back.
Things a normal formatter gets wrong
- Big numbers. JavaScript can only hold integers up to 9,007,199,254,740,991 exactly. Most online formatters silently round larger IDs (DynamoDB numbers, Snowflake-style IDs, some account and order numbers). This tool keeps every digit in the formatted output and tells you when a number is that large, because Lambda (Node.js) and many SDKs will round it too.
- Duplicate keys.
{"Effect":"Allow","Effect":"Deny"}is accepted by most parsers, which keep only the last value. The tool flags every duplicate with its path and line.
Workbench
- Repair & clean: sort keys, unwrap JSON hidden inside strings (common in SQS, SNS, EventBridge and CloudWatch messages), remove nulls, escape or unescape a JSON string, and decode the gzip + base64
awslogs.datafield of a CloudWatch Logs subscription event. - Query (JMESPath): the same language as
aws … --query. Test the expression here, then copy the CLI form. - Convert: JSON ⇄ YAML (CloudFormation short tags such as
!Ref,!Suband!GetAttare understood), JSON → CSV, and DynamoDB JSON ⇄ plain JSON (includingget-item/scanoutput). - JSON Schema: generate a draft 2020-12 schema from a sample, or validate the input against your schema. It checks the commonly used keywords and lists any it skipped.
- AWS checks: recognises contact flows, IAM and S3 policies, CloudFormation, CTRs, EventBridge and Lambda events, and links to the matching KloudMint tool. It also compares the minified size with AWS payload limits (checked 17 October 2026):
- Amazon Connect contact attributes: 32 KB;
- Step Functions: 256 KiB;
- SNS: 256 KB;
- DynamoDB item: 400 KB;
- Lambda async, SQS and EventBridge: 1 MB;
- Lambda sync: 6 MB;
- API Gateway REST: 10 MB.
Nothing you paste leaves your browser. The JMESPath and YAML libraries load from this site only when you use those tabs.