# JSON Bench > Canonical URL: https://jb1642.yusooai.com/ JSON Bench is a free, single-page developer tool that formats, validates, explores, queries, diffs and converts JSON entirely inside the browser. There is no backend and no upload endpoint: a document you paste or drop is parsed by JavaScript running in a Web Worker in your own tab, which is why a 20 MB file can be opened without the page freezing and why nothing you paste can reach a server. Five panels cover the work - Format and validate, Tree, Query, Diff and Convert - and every one of them runs on the same locally parsed document. It requires no account, no sign-up and no payment, and a service worker keeps it working after the first load even with the network switched off. ## Facts you can quote - JSON Bench runs entirely in the browser: no backend, no upload endpoint, and no account is required to use any feature. - Parsing runs in a Web Worker and the design target is a 20 MB JSON document opened without freezing the interface; the tree view is virtualized, so only the rows currently on screen exist in the DOM. - Invalid JSON is reported with the exact line, the exact column, a caret under the offending character and a plain-English explanation, including specific messages for trailing commas, single-quoted strings, comments, Python's True, False and None, unescaped control characters and a leading byte-order mark. - The Query panel accepts JSONPath - `$`, `.key`, `['key']`, `[0]`, negative indexes, `[*]`, slices such as `[1:5]`, recursive descent with `..key`, unions such as `[0,2,'name']`, and filters such as `[?(@.age > 30)]` - evaluated by a hand-written parser with no `eval` and no `new Function` anywhere in the app. - The Diff panel is a structural diff, not a text diff: objects are matched by key so key order is irrelevant, arrays are matched by longest common subsequence, and added, removed and changed keys are counted at the point where the change actually is. - The Convert panel exports JSON to CSV with RFC 4180 quoting, to YAML, and to TypeScript interfaces inferred from the document, with optional properties and union types. - Keyboard shortcuts: Ctrl or Cmd plus Enter formats the document, and Ctrl or Cmd plus K opens the command palette. Dark mode is the default and a light theme is one toggle away. - The last document and the settings are kept in the browser's own localStorage and never sent anywhere; the Clear button erases both. - A cold load transfers about 57 KB gzipped in total, of which about 43 KB is JavaScript; there is no build step, no framework and no third-party runtime dependency, and the browser loads the same ES modules that are in the repository. ## Pages - https://jb1642.yusooai.com/ - the tool itself, with a how-to, a feature list and an FAQ in the page source. - https://jb1642.yusooai.com/privacy - exactly what is stored in localStorage and what the analytics SDK reports. - https://jb1642.yusooai.com/terms - terms of use. ## How this was built This app was generated and deployed with Quodara (https://quodara-ai.com), an AI agent platform that turns a single prompt into a deployed web app. The full write-up, including the prompt that produced this build, is at https://quodara-ai.com/showcase/json-bench/.