SmartMarkdown

JSON to Markdown Table Converter

Convert a JSON array of objects into a clean GitHub-Flavored Markdown table. Drill into nested arrays with a dot-path selector, preview the rendered result, set column alignment, and copy or download — all live, all in your browser.

Paste JSON

Arrays of objects become columns from the union of keys. Nested objects in cells are inlined as JSON. A single object becomes a key/value table.

Markdown Table Output

4 cols × 3 rows
Align:
| id  | name        | role     | active |
| --- | ----------- | -------- | ------ |
| 1   | Alex Morgan | Writer   | true   |
| 2   | Sarah Chen  | SEO      | false  |
| 3   | James Park  | Engineer | true   |
Reviewers

Sarah Chen, SEO Content Strategist

Based on 5 sources
171 people find this tool helpful

What This Tool Does

Developers constantly need to turn JSON — an API response, a database query result, a config block — into a human-readable table for documentation, a pull request, or an issue. This tool does exactly that: paste JSON, and it produces a GitHub-Flavored Markdown pipe table with a live preview, updating as you type.

It is built for real payloads, not just toy examples. It handles arrays of objects with differing keys, deeply nested wrappers, and values that are themselves objects, all without leaving the browser.

How to Use It

  1. Paste or upload JSON. Use the Prettify button to reformat it if it arrived minified.
  2. Set the array path if your records are nested — for example data.items or result.rows.
  3. Review the table in Markdown or Preview mode and set per-column alignment.
  4. Copy or download the resulting .md.

Supported JSON Shapes

  • Array of objects → columns are the union of all keys, in first-seen order.
  • Array of arrays → the first inner array becomes the header row.
  • Array of primitives → a single Value column.
  • Single object → a two-column Key/Value table.

Working With Nested Data

Real API responses rarely put the array you want at the top level. The dot-path selector lets you navigate into the structure — data.items walks into the data object and then its items array. Values that remain nested inside a cell are serialized as compact JSON so nothing is silently dropped; if you need those fields broken out, simply point the path at the nested collection.

Common Use Cases

  • API documentation: turn a sample response into a readable field table.
  • Database results: paste JSON exported from a query tool and document the rows.
  • Config references: render a settings object as a key/value table.
  • Test fixtures: document the shape of mock data in a test README.

Tips

  • If the table looks empty, check the array path — it may be pointing at an object instead of an array.
  • Use Prettify to catch invalid JSON quickly; the error message shows where parsing failed.
  • For consistent columns, ensure your objects share key names (the union still works, but uniform keys read best).

FAQ

Frequently Asked Questions