json

FormatValidateConvert

Start over?

This clears both panes. Unsaved changes in either document are lost.

Replace that document?

This writes the matches into the other pane. What is there now is lost.

Load JSON from a URL

Your browser fetches it directly — the request goes to that site, never to us.

    ↑ ↓ to move · Enter to run · Esc to close

    Keyboard shortcuts

    Send feedback

    Questions, bug reports and feature requests are all welcome. A bug report is easiest to act on with the shape of the document that caused it — never send anything confidential.

    Email us

    Contact page, in a new tab, so this page stays as it is.

    Settings

    Indent

    Format and Sort keys write it, and Tab in Code view types it.

    Code text size
    14 px

    Code view and generated code.

    Wrap long lines
    Left pane opens in
    Right pane opens in

    In a new tab and after New. A view you choose in a pane is still remembered.

    JSON Editor

    On the left pane · one documentOn one document
    0
    0

    About this tool

    Online JSON Editor.

    Your document never leaves the browser.

    My JSON Editor is a developer tool for editing JSON as text, as a tree, a table or a graph, beside a second document or a schema. It runs entirely in your browser — your data is never uploaded, never logged, and never leaves your machine. Here for one job? The JSON formatter, the JSON validator and the JSON viewer each open the editor set up for it.

    0

    bytes leave your machine

    4

    views — code, tree, table and graph

    2

    documents, mirrored or compared

    Private

    Everything runs in your browser

    Most online JSON tools send your document to a server to be processed. That is a problem when the JSON contains API keys, customer records, internal identifiers, or anything else covered by an agreement you have signed. My JSON Editor has no backend at all: the parser, the formatter, and the validator are JavaScript running on your own machine. Nothing is transmitted, nothing is logged, and there is no account to create.

    Format

    The text and its structure, side by side

    Paste or open a document and the editor tells you immediately whether it parses, how large it is, and how many lines it spans. Format it to read the structure, minify it to ship it, or sort its keys to make two versions of the same payload comparable. The dual-panel layout keeps the raw text and its structure side by side, so you can navigate a deeply nested document without losing your place in the source.

    1

    Minified

    40 B
    {"id":4127,"tags":["a","b"],"live":true}
    2

    Press Format

    ✓ Valid JSON · 8 lines
    {
      "id": 4127,
      "tags": [
        "a",
        "b"
      ],
      "live": true
    }

    Convert

    Converting to and from JSON

    YAML, XML and CSV have pages of their own. Paste, open or drop a file on a Convert page and it is detected and converted as you type, with the options for that pair beside the result — a multi-document YAML stream, an XML root element, a CSV delimiter — and a line and column when a file cannot be read. The source keeps its own format: nothing is rewritten until you copy or download the result, and Open JSON in Editor brings the JSON back here. Open a .yaml, .csv or .xml file in this editor and it stays the text it is, with Open in Convert → one click away. Numbers keep every digit in both directions, and nothing leaves your browser. Every pair has a page:

    1

    config.yaml

    service: billing
    replicas: 3
    order_id: 90071992547409931
    2

    config.json

    every digit kept
    {
      "service": "billing",
      "replicas": 3,
      "order_id": 90071992547409931
    }

    Scale

    Built for real documents

    Configuration files, API responses, and exported datasets are rarely small or tidy. The editor is built to stay responsive on large inputs, to report precisely where a parse fails rather than simply refusing the document, and to leave invalid text exactly as you typed it so you can repair it rather than starting over.

    response.json

    {
      "user": "ada",
      "roles": ["admin"],
    }

    ✕ Line 3, column 21: Trailing comma before "}"

    Your text stays as typed. Repair fixes it in one click.

    Features

    Everything the editor does, where to find it, and the quickest way to reach it. All of it runs on your own machine.

    Editor band

    Mirror / Compare

    One document in both panes, or two side by side with every addition, removal and change marked in both.

    The editor band · the strip between the panes

    JSON diffGuide →

    Editor band

    JSON Schema

    Put your document on the left and a draft-07 schema on the right: every failure is marked on the document itself, in all four views, and anything the validator could not check is marked on the schema and counted rather than passed over.

    • Invalid · 1
    • Valid
    • Not fully checked
    • Schema error
    "age": "forty"   ← Expected a number, found a string.

    Mode → Schema in the editor band · Generate → JSON Schema → Validate with this

    JSON Schema validatorGuide →

    Convert

    Convert page

    Every conversion on a page of its own: JSON to and from YAML, XML, CSV and TSV, to a Markdown table, to SQL, and to code — with the options beside the result, as you type.

    • JSON
    • YAML
    • XML
    • CSV
    • TSV
    • MD
    • SQL

    Convert in the header · Open in Convert → on a YAML, CSV or XML pane

    /convertGuide →

    View

    One document on one full-width pane, for reading it as a tree, a table or a graph rather than editing text beside it.

    The editor band · the strip between the panes

    JSON viewerGuide →

    Find

    Search text or run a JSONPath query, filter the document down to what matches, or pull the matches into the other pane.

    The editor band · the strip between the panes · Ctrl/Cmd-F

    Guide →

    Repair

    Fixes the JSON that almost is: trailing commas, single quotes, comments, code fences and an answer that stopped mid-word.

    The editor band, or the pane toolbar

    JSON validatorGuide →

    Export a table

    CSV, TSV or a Markdown table, with the delimiter, the header row and the quoting under your control.

    The Table view’s Export card

    Guide →

    Decode a JWT

    Paste a token to read its header, payload and claims with real times, and check its signature against a secret or public key, without the token leaving the browser.

    Its own page

    JWT decoderGuide →

    YAML

    Anchors, aliases and merge keys expanded, read as YAML 1.2 and written back quoted for 1.1 readers, big numbers kept to the last digit.

    YAML to JSONJSON to YAMLGuide →

    XML

    Attributes as @ keys, repeated elements as arrays, any element you name always an array — and back, with the root element named when one has to be added.

    XML to JSONJSON to XMLGuide →

    SQL

    CREATE TABLE and INSERT for PostgreSQL, MySQL or SQLite — typed columns, NOT NULL where every row has a value, nested values as JSON.

    JSON to SQLGuide →

    FAQ

    Frequently asked questions

    Short answers about privacy, offline use and how the editor treats your data.

    Didn’t find your answer?Write to us on the contact page →
    Is my JSON uploaded to a server?

    No. Every operation — parsing, formatting, validating, sorting — runs in your browser using your own machine’s resources. There is no backend to send data to. You can confirm this by opening your browser’s network tab, or by disconnecting from the internet and continuing to work. The one feature that uses the network is Load from URL, and only when you use it: your browser requests the address you type directly from that site, and nothing is sent to us.

    Does it work offline?

    Yes, once the page has loaded. Nothing the editor does requires a network round-trip, so you can keep formatting and validating with the connection off. The one exception is loading a document from a URL, which needs a connection to reach that address. The Convert pages work the same way, but until the site can install itself for offline use a Convert page works offline only once it has loaded — open it before the connection goes, and it keeps converting.

    Is there a file size limit?

    There is no artificial cap — the practical limit is your browser’s available memory. Large documents are processed off the main thread so the interface stays responsive while they are handled.

    What is the difference between formatting and minifying?

    Formatting adds newlines and indentation so the structure is readable by a person. Minifying removes every byte of insignificant whitespace to make the payload as small as possible for transmission. Both describe exactly the same data — parsing either gives an identical result.

    Why does sorting keys leave my arrays alone?

    In JSON, the order of keys in an object carries no meaning, but the order of items in an array does. Reordering an array would change what the document says, so only object keys are sorted.

    Do you use cookies or analytics?

    No cookies and no analytics. The only thing stored is your current document and editor preferences, kept in your browser’s local storage so your work survives a refresh. Clearing site data removes it.