How the JSON formatter works
The input is parsed with JSON.parse and written back with the indentation you choose, about a tenth of a second after you stop typing. Formatting changes whitespace only. Minify removes it, which is what you want before putting JSON in an environment variable or a single log line.
When the text is not valid, the output panel says where and why, and the position is underlined in the editor. For text that is almost JSON, switch to Repair:
{ 'order': "A-1042", items: [1, 2,], shipped: False } // before
{ "order": "A-1042", "items": [1, 2], "shipped": false } // afterRepair handles single quotes, unquoted keys, trailing commas, comments, Python literals and documents cut off before the closing bracket. It is a guess about your intent, so the page tells you whenever a repair changed the text.
Tree view and path lookup
The Tree view folds objects and arrays and shows how many members each has. The lookup above it takes a path such as $.items[0].sku, items[*].qty or $["odd key"] and lists every value it reaches. Keys, indexes (negative ones count from the end) and * are supported; filters and recursive descent are not.
Large files
From 200,000 characters up, parsing runs in a Web Worker so the editor stays responsive. Above 1,500,000 characters the result is produced when you press Run or Ctrl+Enter rather than on every keystroke.
Next steps with the result: generate TypeScript interfaces, export to CSV or convert to YAML. The "Send to" menu carries the output with you.