# InputJSON > Free JSON formatter, validator and viewer. The web UI processes JSON locally in the browser. The API below is stateless, stores nothing, and returns machine-readable diagnostics (line, column, snippet) for invalid JSON. ## API (POST, content-type: application/json, input limit 2 MB -> 413) - POST https://inputjson.9cloud.io.vn/api/format — {json: string, indent?: 2|4|"tab", sort_keys?: boolean} -> {ok, output, stats} - POST https://inputjson.9cloud.io.vn/api/minify — {json: string, sort_keys?: boolean} -> {ok, output, stats} - POST https://inputjson.9cloud.io.vn/api/validate — {json: string} -> {ok: true, stats} or {ok: false, error: {message, position, line, column, snippet}} - POST https://inputjson.9cloud.io.vn/api/query — {json: string, path: "$.a.b[0]"} -> {ok, value} or {ok: false, error} - POST https://inputjson.9cloud.io.vn/api/convert — {json: string, to: "csv"|"yaml"|"ts", root_name?: string} -> {ok, output} - POST https://inputjson.9cloud.io.vn/api/schema-validate — {json: string, schema: object|string} -> {ok, valid, errors: [{path, message}]} - POST https://inputjson.9cloud.io.vn/api/schema-generate — {json: string} -> {ok, output, schema} (schema inferred from a sample) - POST https://inputjson.9cloud.io.vn/api/repair — {json: string} -> {ok, fixes: [..], output} (conservative, reported fixes) - POST https://inputjson.9cloud.io.vn/api/diff — {json: string, json2: string} -> {ok, identical, changes: [{path, type, left, right}]} - POST https://inputjson.9cloud.io.vn/api/validate also returns warnings: duplicate keys and integers beyond Number.MAX_SAFE_INTEGER. ## Tool pages - https://inputjson.9cloud.io.vn/json-formatter · /json-validator · /json-viewer · /json-to-csv · /json-to-yaml · /json-to-typescript · /json-path-tester · /json-schema-validator · /json-schema-generator · /json-repair · /json-diff - https://inputjson.9cloud.io.vn/sitemap.xml · /robots.txt ## Notes - Invalid JSON is a validation result, not a server error: HTTP 200 with ok:false. - Malformed request bodies (not JSON at all) return 400. Bodies over 2 MB return 413. - GET https://inputjson.9cloud.io.vn/health — status JSON. No auth, no storage, no tracking in the API.