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. Everything runs in your browser — nothing is sent to a server, so it is safe to paste sensitive data.

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

Copy or Download

Click Copy to copy the Markdown to your clipboard and paste directly into your README, wiki, or documentation. 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?

It handles two shapes: an array of objects (each object becomes a row) and a flat object (converted to a 2-column Key/Value table). 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 serialized as a JSON string in the cell.

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. The entire conversion runs in your browser using JavaScript. Nothing is sent to any server. You can paste sensitive API keys, passwords, or private data safely — it never leaves your machine.

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