Markdown table to JSON converter - free online tool
What is a Markdown table to JSON converter?
A Markdown table to JSON converter turns a GitHub Flavored Markdown (GFM) table into JSON. This is useful when data lives in a README or wiki table, but you need it as JSON for scripts, tests, or imports.
Textavia converts locally in your browser. You can paste internal tables without sending them to a remote service.
How to use the Markdown table to JSON converter
- Paste your Markdown table: Paste a pipe table with a header row and separator row.
- Choose the table number: If the input contains multiple tables, pick which one to export.
- Pick the JSON output: Export an array of objects (use headers as keys) or an array of arrays (keep the header row).
What counts as a Markdown table?
Most Markdown tools use the GitHub Flavored Markdown table format:
- A header row with pipes, like
| name | role | - A separator row, like
| --- | --- | - One row per line after that
If you are not sure whether your Markdown renderer supports tables, the GFM reference is at https://github.github.com/gfm/.
Why convert Markdown tables to JSON?
- Use table data in code: JSON is easier to load in scripts and tests than Markdown.
- Avoid manual retyping: Convert a table once instead of rebuilding the dataset by hand.
- Keep docs and data aligned: You can store a single source table in docs, then export it to JSON when needed.
Use case 1: Turn a README table into test fixtures
If your README lists sample inputs and outputs, convert the table to JSON and feed it into a unit test.
Use case 2: Export a wiki table for automation
If your team keeps ownership or SLA tables in Markdown, export them to JSON and build checks around them.
Use case 3: Move table content into a JSON config
Some tools accept JSON config files. Convert a Markdown table of settings into JSON and use it directly.
Examples
Basic example (array of objects)
Input (Markdown):
| name | role | active |
| --- | --- | --- |
| Ada | Engineer | true |
| Jordan | PM | false |
Output (JSON):
[
{ "name": "Ada", "role": "Engineer", "active": "true" },
{ "name": "Jordan", "role": "PM", "active": "false" }
]
Advanced example (multiple tables)
Markdown docs sometimes contain multiple tables. Use the table number option to pick the one you want.
Input (Markdown):
| env | url |
| --- | --- |
| prod | https://app.example.com |
| owner | service |
| --- | --- |
| dina | auth |
| evan | billing |
If you choose table 2 and export objects, the output will be:
[
{ "owner": "dina", "service": "auth" },
{ "owner": "evan", "service": "billing" }
]
Common errors
No tables found
The input must be a pipe table with a separator row like | --- | --- |. Fix: make sure you pasted the full table, including the header separator row.
Duplicate headers cause missing keys
JSON objects cannot have duplicate keys. Fix: give columns unique names, or let the tool add suffixes like status_2.
The output types look wrong
Markdown tables are plain text. That means numbers and booleans export as strings. Fix: cast types in your code, or export an array of arrays and handle the conversion yourself.
Tips and proven approaches
- Fix the table first: If the table is messy, rebuild it using the Markdown table creator and convert again.
- Use indented JSON for reviews: Keep indentation on when you are pasting into a PR or issue. If you need compact JSON, turn it off.
- Convert to CSV when a spreadsheet needs it: Use Markdown table to CSV when the destination is a spreadsheet tool. For delimiter control and quoting options, CSV output is often easier to import than JSON.
Related tools
- Turn JSON into a table using JSON to Markdown table.
- Export tables into CSV with Markdown table to CSV.
- Clean JSON output with the JSON formatter.
Privacy and security
Markdown parsing and JSON generation run locally in your browser. Textavia does not upload or store your table content.