DevForge

Markdown table to JSON

Documentation tables are often the only place a piece of reference data exists. Converting one to JSON turns it into something you can iterate over. Header cells become keys, each row becomes an object, and values that are plainly numbers or booleans are converted rather than left as strings.

markdown
json
options
format
grid

Technical Guide & Mechanics

Converting Structured Documentation to Programmable JSON

API documentation, specifications, and system manuals often present reference matrices and enumerations solely as Markdown tables. Extracting this data for automated testing, configuration files, or unit test fixtures manually is error-prone. Converting these tables into structured JSON arrays transforms static documentation into machine-readable data structures.

The converter reads header cells to establish JSON property keys. If header titles contain duplicates or empty cells, the parser deduplicates them deterministically (e.g. column_1, name_2) to prevent data loss. Body rows are converted into clean JSON objects, with numeric values and booleans parsed appropriately while preserving identifier strings.

You can toggle between an array-of-objects representation (ideal for document-driven APIs) and an array-of-arrays matrix (ideal for mathematical and statistical analysis).

how to use it

  1. 01Paste Markdown containing a table.
  2. 02Check the grid, since header names become JSON keys.
  3. 03Copy the JSON array.

questions

What happens to duplicate or empty headers?
They would silently overwrite each other as keys, so they are made unique instead: a second name becomes name_2, and an empty header becomes column_3.
Is 00123 converted to a number?
No. A leading zero means the value is an identifier, so it stays a string. The same applies to anything longer than 15 digits.
Can I get an array of arrays instead?
The object form is the default because it carries the header names. An array-of-arrays form is available for positional data.
How are boolean values detected?
Cells with case-insensitive values of true, false, yes, or no are safely coerced into true booleans.

related