Free tool

Markdown to JSON converter

Paste Markdown or drop a .md file and get a structured JSON document back: every heading, paragraph, list, table, code block and quote becomes an object with a type, so the structure the file already has is available to a script, an API or a CMS. The conversion runs in this tab — nothing is uploaded.

or drop a .md file onto this box

Conversion options
Block types reference
{
  "type": "document",
  "blocks": [
    {
      "type": "heading",
      "depth": 1,
      "text": "Release 2.0 notes"
    },
    {
      "type": "paragraph",
      "text": "The **converter** turns each block into an object with a type."
    },
    {
      "type": "heading",
      "depth": 2,
      "text": "Highlights"
    },
    {
      "type": "list",
      "ordered": false,
      "start": 1,
      "items": [
        {
          "text": "Faster preview"
        },
        {
          "text": "Tables keep their alignment",
          "checked": true
        },
        {
          "text": "Nested details:",
          "list": {
            "ordered": true,
            "start": 1,
            "items": [
              {
                "text": "one"
              },
              {
                "text": "two"
              }
            ]
          }
        }
      ]
    },
    {
      "type": "blockquote",
      "blocks": [
        {
          "type": "paragraph",
          "text": "Documents never leave the browser."
        }
      ]
    },
    {
      "type": "table",
      "align": [
        "left",
        "right"
      ],
      "head": [
        "Area",
        "Status"
      ],
      "rows": [
        [
          "Parser",
          "ready"
        ]
      ]
    },
    {
      "type": "code",
      "lang": "js",
      "text": "const blocks = parse(markdown);"
    }
  ]
}

Runs entirely in your browser — your file is never uploaded.

How to convert Markdown to JSON

  1. Paste Markdown into the box above, drop a .md file on it, or press Load sample to see the shape of the output. The JSON is rebuilt as you type.
  2. The document is parsed into blocks. Headings get depth, lists get ordered, start and items, tables get head, rows and align, and code gets lang. Inline syntax such as **bold** or a link stays as written inside each block’s text.
  3. Copy the JSON or download it as a .json file. The JSON to Markdown converter reads the same schema back into Markdown whenever you need it.

What the JSON looks like

Frequently asked questions

What JSON structure does this produce?

A block tree: {"type":"document","blocks":[{"type":"heading","depth":1,"text":"Title"}]}. The Block types reference under the tool lists the fields every block carries.

Does it keep bold, links and other inline formatting?

Yes, inside text, in Markdown form. Tick Plain text if you need the words without the syntax: bold markers disappear and a link keeps its label without the URL.

Is my Markdown uploaded or stored?

No. The parser is bundled into this page and the conversion happens in the browser tab; the file never leaves your device. There is no account, no queue and no server-side job.

Can I turn the JSON back into Markdown?

Yes — that is what the JSON to Markdown converter does. Both pages share one schema, so a round trip returns the document you started with and editing the JSON by hand is safe.

Want to read the Markdown instead?

Open the editor to render the same document with live preview, math, diagrams and export to PDF, HTML or DOCX. The JSON tools stay one click away in the Tools menu.

Open the Markdown Viewer