JSON to Markdown Table

Convert JSON arrays to GitHub-flavored Markdown tables. Handles mixed keys and escapes pipe characters.

What is a Markdown Table?

Markdown is a lightweight markup language that uses plain text syntax to produce formatted documents. A Markdown table uses pipe | characters to separate columns and dashes to create the header separator row. It is supported natively by GitHub, GitLab, Notion, Obsidian, and most documentation platforms.

Converting JSON to a Markdown table is useful for including API response data in README files, creating comparison tables in pull request descriptions, documenting configuration options in wikis, and sharing structured data in documentation that is version-controlled with your code.

JSON to Markdown Table Example

json
[
  { "name": "Alice", "role": "Engineer", "age": 30 },
  { "name": "Bob",   "role": "Designer", "age": 27 }
]

Generates:

markdown
| name  | role     | age |
| ---   | ---      | --- |
| Alice | Engineer | 30  |
| Bob   | Designer | 27  |

Where to Use Markdown Tables

PlatformSupportedNotes
GitHub README / PRYesGitHub-Flavored Markdown
GitLab WikiYesIdentical syntax
NotionYesPaste as Markdown block
ObsidianYesNative table rendering
ConfluencePartialUse Markdown macro
SlackNoPlain text only

Frequently Asked Questions

Input must be a JSON array of objects — like an API list response. A single object is wrapped in an array automatically.

All unique keys across all rows are collected as headers. Missing values for a row appear as empty cells.

Pipe | characters in values are escaped as \| to prevent breaking the table syntax.

Not with this tool — use the CSV tool instead. Export your Markdown to CSV first, then use our CSV to JSON converter.

Related Tools