Markdown Table to JSON Converter

Turn any Markdown table into a JSON array. Paste it in, get JSON out. Runs in your browser, nothing gets uploaded.

100% Free
Privacy-First
Instant Conversion

Markdown Input

JSON Output

JSON output will appear here

Paste Markdown table on the left to see conversion

Why Pull JSON Out of Markdown Tables?

Tables Look Great in Docs, but Code Needs JSON

If you've ever copied a table from a README and then spent 10 minutes manually wrapping values in curly braces and quotes, you know the pain. This tool reads the pipe-delimited table format, grabs the headers, and spits out a clean JSON array you can drop straight into your codebase. For the reverse direction, there's a JSON to Markdown converter too.

Everything Stays on Your Machine

There's no backend here. The page loads, and from that point on, all the parsing runs in your browser's JavaScript engine. I built it this way because I didn't want anyone worrying about pasting internal docs or config tables into a web form that phones home.

Fits Into Your Existing Workflow

Got a wiki with feature comparison tables? Export the Markdown, convert it here, and feed the JSON into your app. Working with spreadsheets? Check out the Markdown to CSV converter or the Excel to Markdown tool to move data between formats without re-typing anything.

Where This Actually Comes in Handy

Mocking API Responses

Writing a table in Markdown is way faster than hand-crafting 20 JSON objects. I'll sketch out a table of users or products, convert it, and have mock data ready in under a minute. Way less error-prone than typing brackets and commas manually.

Seeding Dev Databases

If your seed data lives in a README or wiki, copy the table, convert it to JSON, and pass it directly to your seeding script. Works with Node.js, Python, Rails — anything that can read JSON.

Pulling Config from Docs

Project docs often have tables listing environment variables, feature flags, or CI/CD settings. Instead of copying them line by line into a config file, convert the whole table and reshape the JSON as needed.

Feeding Data to UI Components

Need to populate a React select dropdown or a Vue data table from a spec doc? Convert the Markdown table to JSON and use the array directly as component props. Saves you from typing it out by hand.

Frequently Asked Questions

Paste a pipe-delimited Markdown table into the input box. The tool reads the first row as your column headers, skips the separator line (the row with dashes), and turns every data row into a JSON object. You get back a JSON array where each object's keys match your headers. It all runs in JavaScript right in your browser — nothing gets uploaded anywhere.
Any standard GitHub Flavored Markdown (GFM) table works. That means a header row with pipes, a separator row with dashes like |---|---|, and your data rows below. Alignment markers (colons in the separator, like |:---:| for centered) are fine — the converter just ignores them since JSON doesn't have alignment. Extra whitespace around cell values gets trimmed automatically.
You get a pretty-printed JSON array. Each table row becomes one object, with column headers as keys. So a two-column table with Name and Age gives you something like: [{"Name":"Alice","Age":"30"}, {"Name":"Bob","Age":"25"}]. Every value stays as a string — the tool doesn't try to guess if something is a number or boolean.
I kept everything as strings on purpose. If you have a column with values like "007" or "01onal," auto-converting to numbers would lose those leading zeros. Same with phone numbers, zip codes, and IDs. It's safer to give you strings and let you cast types in your own code where you know the data.
No. The conversion runs entirely in your browser using client-side JavaScript. Your Markdown text never leaves your machine. You can even disconnect from the internet after the page loads and it'll still work.
The converter handles Unicode, emoji, and most special characters without problems. If a cell contains an escaped pipe (\|), it shows up as-is in the output. The main thing to watch for is that the pipe character is what separates columns, so if your data has literal pipes, they need to be escaped in the Markdown.
Right now it handles one table per conversion. If your Markdown file has three tables, paste each one separately. I built it this way because mixing tables with different columns into a single JSON array would create messy data — you'd end up with null fields everywhere.
Copy the output and drop it into your code. In JavaScript it's JSON.parse(), Python has json.loads(), and every other language has a JSON library. I use it a lot for seeding test databases and creating mock API responses. If you ever need to go the other direction, there's a JSON to Markdown converter for that.
Yes, as long as the table is in standard pipe-delimited Markdown. Obsidian, Notion, Typora, Bear — they all export tables in this format. Just copy the raw Markdown table (not the rendered view) and paste it in.
Nope, it's free and there's no account needed. You might also find these useful: JSON to Markdown, JSON to Excel, CSV to Markdown, and Markdown to Excel.