JSON Input

Markdown Output

What Is JSON to Markdown?

You have a JSON array from an API response or database query, and you want to drop it into a GitHub README or a GitHub wiki table — but Markdown tables are tedious to write by hand. This tool converts a JSON array of objects to a CommonMark-compatible Markdown table automatically. Keys become column headers, each object becomes a row. It also handles flat objects as a 2-column Key/Value table. Nested objects and arrays are serialized as JSON strings in the cell. The GitHub Flavored Markdown tables extension is what powers tables in GitHub READMEs, and the output here is fully compatible. The table is assembled by JavaScript on this page, so rows from a production export can go in without ever leaving your laptop.

How to Use This Tool

1

Paste Your JSON

Paste a JSON array of objects (or a flat object) into the left editor. You can also upload a .json file or click Sample to load example data.

2

See the Markdown Table

The right panel updates automatically as you type (300 ms debounce). Each object key becomes a column header. Values are escaped so pipe characters | inside cells do not break the table.

3

Paste the Table Where It Belongs

Press Copy and the pipe-delimited table is ready to paste into a README, a wiki page or a pull request description. Use Download to save a .md file.

Example

Here is a realistic example: a JSON array of users converted to a Markdown table.

Users array → Markdown table

JSON input:

JSON Input

Markdown output:

Markdown Output

FAQ

What JSON shapes does this tool support?

Two input shapes are supported. Give it an array of objects and you get one table row per object; give it a single flat object and you get a two-column Key/Value table instead. For arrays, it collects all unique keys across every object to build the header row, so sparse objects with missing fields are fine — missing cells are left blank. Deeply nested values (objects or arrays inside objects) are run through JSON.stringify() and land in the cell as compact JSON text.

What happens to pipe characters inside values?

Pipe characters | inside cell values are escaped as \| automatically. This is required because | is the column delimiter in CommonMark and GFM tables. Without escaping, the table would render incorrectly.

Is this compatible with GitHub README tables?

Yes. The output uses the GitHub Flavored Markdown (GFM) tables extension, which is what GitHub uses to render tables in READMEs, issues, and wikis. It is also compatible with GitLab, Bitbucket, Notion, and most Markdown editors that support table extensions.

Can I convert a JSON object (not an array) to a table?

Yes. If you paste a flat JSON object like {"name": "Alice", "role": "admin"}, the tool produces a 2-column table with Key and Value columns. This is useful for config objects or single-record displays. Deeply nested objects will have their nested values serialized as a JSON string.

Does my data leave my computer?

No. Building the Markdown table is done locally by JavaScript in this tab, with no request to a server, so pasting a payload that contains API keys, credentials or customer records does not expose it to anyone.

How do I use the Markdown table in GitHub?

Copy the output and paste it directly into a .md file, a GitHub README, a GitHub wiki page, or a GitHub issue/PR comment. GitHub's renderer will display it as a formatted table automatically. For more details, see the GitHub docs on tables.

Related Tools