What the formatter does and does not change
Formatting changes only whitespace: one key or item per line, nesting indented by two or four spaces or a tab, empty {} and [] kept. Literals stay as written: big integers are not rounded, 1.0 and 1e3 stay as they are, repeated keys are kept. Invalid JSON is flagged with the line and column of the first error.
It formats itself a moment after you stop typing. Keys, strings, numbers, booleans and null have their own colors, bracket pairs light up together, the icon next to a value copies just that value, and the left column numbers the lines and folds objects and arrays. Sort keys A→Z, Z→A or by size; arrays keep their order. Copy gives the formatted text, Copy minified one line, Copy as JS object a JavaScript literal. You can also paste a JS object, log-escaped JSON or JSON buried in a log line. Nothing leaves your browser.