JSON to Markdown Table — Free Online
JSON to Markdown table converter — turn a JSON array into a GFM table for READMEs, docs, GitHub, and Notion. Auto headers, escaped pipes, browser-based.
PDFFlare's JSON to Markdown table converter turns a JSON array of objects into GitHub-flavored Markdown — auto-generated headers from the union of keys, escaped pipes, one row per object. Drop the result into any README, Issue, or Notion page that renders GFM Markdown.
Need an HTML table instead? JSON to HTML Table. CSV? JSON to CSV. Excel? JSON to Excel (.xlsx).
How to Convert JSON to a Markdown Table
Paste a JSON array
An array of flat objects — API rows, exported records, scraped data. The shape determines the table columns.
Click Convert to Markdown
PDFFlare collects every key across every object and emits a GitHub-flavored Markdown table with the union of keys as headers.
Paste into your README or doc
Drop the table into a README, GitHub Issue, Notion page, or any tool that renders GFM Markdown.
When Do You Need JSON to Markdown Table?
README documentation: You have a JSON config or API spec and want to document it in your README as a clean table. Paste, convert, paste — done in seconds instead of hand-aligning pipes.
GitHub Issues / PRs: Pasting test results, audit findings, or comparison tables into a GitHub Issue. Markdown tables render natively; raw JSON doesn't.
Notion, Obsidian, internal wikis: All of them speak GFM. Convert JSON exports from any tool into a Markdown table and paste into any GFM-compatible note.
Static docs sites: Docusaurus, MkDocs, Hugo, Jekyll — all render Markdown tables. Skip the manual pipe-aligning and let the tool do it.
Why Use PDFFlare for JSON to Markdown?
Union of Keys as Headers
If row A has 3 keys and row B has 4, the table gets 4 columns — missing fields render as empty cells, not errors.
Pipe-Safe Escaping
Literal | characters in cell values get escaped as \| so column boundaries stay intact.
100% Browser-Based
Conversion runs entirely in your browser. Safe for internal data, customer exports, or anything you wouldn't paste into a third-party site.
No Signup Required
No account, no limits, no watermarks. Free for any size dataset that fits in your browser tab.
Frequently Asked Questions About JSON to Markdown Table
An array of flat objects, e.g. [{"id": 1, "name": "alice"}, {"id": 2, "name": "bob"}]. Each object becomes a row; the union of every key across every object becomes the header set.
Yes — the output uses the standard GFM table syntax: pipe-delimited cells with a separator row of dashes. Renders correctly on GitHub, GitLab, Notion, Obsidian, Bear, and any GFM-compatible renderer.
Headers are the union of all keys seen across all rows — every object contributes to the header set. Missing fields render as empty cells, not null, so the table stays readable.
Cell values that aren't primitives get JSON-stringified inside the cell. The table stays one-row-per-object — the converter does not flatten nested keys into extra columns. If you need that, run the JSON through Flatten first, then back through this tool.
Yes. Any literal | inside a cell value is escaped as \| so the column boundaries stay correct. Newlines are replaced with spaces because Markdown tables can't span lines inside a cell.
Markdown tables are flat by definition — they don't represent nesting. For nested data either flatten first (see PDFFlare's JSON Flatten tool), pre-process to a flat array of leaf rows, or render a different format (HTML table with rowspan, JSON Tree).
No. Conversion runs entirely in your browser. Your JSON never uploads — safe for internal exports, customer data, or anything you wouldn't paste into a third-party site.
GitHub doesn't render arbitrary CSV inline in Markdown — it renders Markdown tables. That's the whole point of this tool: it produces the exact syntax that GitHub, READMEs, and GFM-compatible tools display as a table.