Markdown Table to JSON Converter
Convert Markdown tables to a pretty-printed JSON array of objects
[
{
"Name": "John Doe",
"Department": "Engineering",
"Salary": "95000"
},
{
"Name": "Jane Smith",
"Department": "Marketing",
"Salary": "78000"
},
{
"Name": "Bob Johnson",
"Department": "Engineering",
"Salary": "88000"
}
]| Name | Department | Salary |
|---|---|---|
| John Doe | Engineering | 95000 |
| Jane Smith | Marketing | 78000 |
| Bob Johnson | Engineering | 88000 |
How to Use This Tool
- Paste a Markdown table into the input box on the left
- The JSON output updates instantly as you type or edit
- Verify the parsed table in the preview panel
- Copy the JSON to your clipboard or download it as a .json file
About Markdown Table to JSON Conversion
JSON is the default data format for APIs, configuration files, and test fixtures, while Markdown tables are where structured data tends to live in documentation. This tool bridges the two: it parses a Markdown pipe table and emits an array with one object per data row, where each object's keys come from the header cells and its values from the corresponding row cells.
For example, a table with headers Name and Age becomes [{"Name": "John", "Age": "28"}, ...]. The output is pretty-printed with two-space indentation so it drops cleanly into source files and code reviews. All values are strings, exactly as they appear in the table — no type guessing means no surprise coercion of things like ZIP codes or version numbers.
The parser handles real-world Markdown details: escaped pipes (\|) inside cells, <br> tags converted to line breaks, ragged rows padded to the header width, and surrounding prose ignored. Everything runs locally in your browser.
Frequently Asked Questions
What JSON structure is produced?
An array with one object per table row. Each object's keys are the header cells and its values are the row cells, pretty-printed with two-space indentation.
Are numbers converted to JSON numbers?
No — every value stays a string. That is deliberate: automatic type coercion breaks values like "007", "1.10", or phone numbers. If you need typed values, parsing the strings in your own code keeps you in control.
What happens with duplicate header names?
JSON object keys must be unique, so a later duplicate header overwrites the earlier one within each row object. Rename duplicate columns before converting if you need both values.