JSON to MarkdownONLINE

Convert an array of JSON objects into a Markdown table.

1 MiB per input · Ctrl / ⌘ + Enter to run

Columns come from the union of property names. Pipes and HTML markup are escaped; nested values occupy one JSON-text cell.

Result
Ready. Paste input, then run the tool.
Your JSON stays in your browser. Core processing happens locally.
THE PRACTICAL GUIDE

Convert JSON records into a Markdown table for documentation

JSON to Markdown turns record data into a table that can be pasted into a README, issue, or documentation page. Each object becomes one row.

When should you use it?

  • Publish a small API result in project documentation.
  • Share a readable comparison table in an issue.
  • Create a Markdown table without escaping every pipe by hand.
WORKED EXAMPLE

Example: document two API endpoints, including a pipe in a cell

The first row names the columns and the separator enables table rendering. The pipe in List | search is escaped so it stays inside the note cell. Paste the output into a README and preview it with your Markdown renderer.

JSON records
[
  {"method":"GET","path":"/users","note":"List | search"},
  {"method":"POST","path":"/users","note":"Create a user"}
]
Markdown output
| method | path | note |
| --- | --- | --- |
| GET | /users | List \| search |
| POST | /users | Create a user |

Choose columns that tell a useful story

Markdown tables work well for short, comparable records: endpoint settings, release entries, or a small API example. Each object becomes a row and property names form the columns. A huge response may be technically convertible while producing a table that is difficult to read. Select the few fields a reader needs before publishing the result.

A table is an extension supported by GitHub Flavored Markdown and many documentation systems. Preview it in the actual renderer that will publish it, because Markdown implementations differ. This tool produces table source, so you can place it directly in a README or documentation page.

Understand what happens inside a cell

A literal pipe can split a Markdown row unless it is escaped. Line breaks also need handling so one record stays on one table row. The converter prepares cell text for this syntax and represents nested values compactly. A JSON object inside a cell remains text; it does not become another navigable table.

Use a separate code block when nested structure is the point of the example. Missing fields, null, and an empty string can look less distinct in a rendered table than in JSON, so retain a JSON sample where those differences matter. For a large downloadable dataset, CSV or XLSX is usually a more practical companion to the documentation.

IN PRACTICE

How do I turn JSON records into a Markdown table for a README?

Paste a nonempty array of objects. The converter chooses columns from top-level keys, writes a header and separator, then adds one row per record. It escapes pipe characters and HTML-like text so common cell contents do not break a Markdown table.

Markdown table for two JSON records

markdown
| name | role |
| --- | --- |
| Alex | Developer |
| Sam | Reviewer |

Paste the result into a Markdown renderer that supports tables, such as GitHub Flavored Markdown. The exact visual styling comes from that renderer.

It remains JSON text in one cell. This tool does not expand nested properties into extra columns; flatten the JSON first if you need a path/value view.

BEFORE YOU USE THE RESULT

What should you check before using the result?

Markdown tables are flat: nested data is not expanded into extra columns. The converter supports at most 100 columns and 200,000 cells; rendering varies by Markdown host.

Understand JSON syntax

Technical reference: GitHub Flavored Markdown table syntax

THE JSON FIELD GUIDE
All guides