Paste JSON and get the right markdown format automatically — tables for flat arrays, bullet lists for primitives, code blocks for everything else.
Three steps. Five seconds.
Paste any valid JSON into the left panel, or click "Paste Example" to load a sample array of objects. The converter validates JSON as you type.
The converter inspects the JSON structure and picks the best output format: table for flat arrays of objects, bullet list for primitive arrays, fenced code block for nested or complex JSON.
Copy the markdown to your clipboard or download a .md file. A badge in the output panel shows which output mode was applied.
Not all JSON should become a table. The converter picks the right format for each structure automatically.
A flat array of objects (same-shape rows) is converted to a GFM markdown table, with one column per key and one row per object. Numeric columns are right-aligned.
The converter collects all unique keys across the array (preserving insertion order), uses them as headers, and renders each object as a table row. Missing keys in any row produce empty cells. Columns where all non-empty cells are numbers get ---: alignment.
Nested objects, mixed arrays, and complex structures are formatted as a fenced ``` json ``` code block — readable and properly highlighted in any markdown renderer.
When the input is not a uniform flat array, trying to force it into a table would produce a misleading or broken result. A fenced code block with JSON syntax highlighting is the correct output — it preserves the full structure, is copy-pasteable, and renders beautifully in GitHub READMEs and documentation sites.
Arrays of strings, numbers, or booleans are converted to a markdown bullet list — one item per element.
Simple primitive arrays (["Alice", "Bob", "Chen"]) are best represented as a bullet list rather than a single-column table. This produces a more readable markdown document and matches how developers naturally format such data.
JSON is validated and converted as you type. Syntax errors show an inline error message with the exact parse error. Valid JSON converts immediately with no button press.
The converter uses native JSON.parse for validation — the same parser your JavaScript runtime uses. Syntax errors show the browser's parse error message directly, which is usually precise enough to locate the problem (e.g. "Unexpected token } at position 42").
Everything you need to know.
An array of objects where every element is a plain (non-array, non-null) object. For example: [{"name":"Alice","score":98},{"name":"Bob","score":87}]. The converter collects all unique keys across the array as column headers and renders each object as a row.
Export your data as CSV and use our CSV to Markdown converter to generate a perfectly formatted table.