How to Convert JSON to a Markdown Table
Documenting an API response or dropping data into a README is far easier as a Markdown table than raw JSON. This converter builds one instantly. It reads your JSON array of objects, unions the keys across every record so different fields still line up, and writes a valid GitHub-Flavored Markdown table with the keys as the header. A separator row sets your chosen alignment, pipe characters inside values are escaped so nothing breaks, and nested objects are shown as compact JSON. Everything runs in your browser, so nothing is uploaded.
Paste your JSON
Paste an array of objects or load the sample; it's parsed locally with nothing uploaded.
Set alignment
Choose left, center or right column alignment.
Copy or download
Grab the Markdown with one tap or save it as a .md file.
JSON vs Markdown Tables — What's the Difference?
JSON — JavaScript Object Notation
A structured data format built from objects and arrays, ideal for storing and transmitting records. It's meant for machines, not for reading as a formatted table inside documentation.
Markdown tables (GFM)
A lightweight syntax using pipes and dashes that renders as a neat table on GitHub, GitLab, static-site generators and note apps. Converting JSON to Markdown turns your data into a table that looks right wherever Markdown is displayed.
Common Use Cases
README tables
Turn a JSON dataset into a feature or comparison table for your project's README.
API documentation
Document sample responses as clean Markdown tables in your docs.
GitHub & GitLab
Paste tables into issues, pull requests and wikis where GFM renders them.
Notes apps
Use Markdown tables in Obsidian, Notion export, Bear and other note tools.
Changelogs
Format release or version data as a readable table in your changelog.
Static sites
Generate table markup for blog posts and pages authored in Markdown.
Data summaries
Share a JSON result as a tidy table in a message or ticket.
Quick formatting
A fast, no-install way to make JSON look right in any Markdown context.
Tips & Best Practices
Use an array of objects
Each object becomes a row and each key a column — the cleanest input for a table.
Right-align numbers
Numbers are easier to scan when right-aligned; center short labels and left-align text.
Let pipe escaping work
Values containing a pipe are escaped automatically, so you never have to clean them by hand.
Flatten nested data first
Deeply nested values show as JSON text; flatten them beforehand for individual columns.
Preview on the target
Paste into your actual README or docs to confirm alignment renders as expected.
Troubleshooting
It says expected an array of objects
The tool needs a JSON object or an array of objects. A bare array of numbers or strings has no columns to build from.
A row breaks the table
A value likely contained a pipe. The tool escapes pipes automatically; if you edited the output by hand, re-escape any raw pipes.
A cell shows JSON text
That value was a nested object or array, rendered as compact JSON so nothing is lost. Flatten it first for separate columns.
Alignment isn't showing
A few minimal Markdown parsers ignore alignment. On GitHub and most modern renderers the colon markers work correctly.
Frequently Asked Questions
How do I convert JSON to a Markdown table for free?
Paste your JSON array of objects above and a GitHub-Flavored Markdown table appears instantly. Copy it or download a .md file — free, no signup.
What JSON shape does it expect?
An array of objects works best, where each object is a row. A single object is treated as one row too.
What if my objects have different keys?
Every key across all objects becomes a column, and any record missing a key gets a blank cell, keeping the table aligned.
Is the output GitHub-Flavored Markdown?
Yes. It produces GFM pipe tables that render correctly on GitHub, GitLab and most Markdown engines.
Can I set column alignment?
Yes. Choose left, center or right, and the separator row is written with the matching colon markers.
Does it escape pipe characters?
Yes. Any pipe inside a value is escaped with a backslash so it doesn't break the table structure.
How are nested objects handled?
Nested objects and arrays are shown as compact JSON inside the cell so no information is lost.
Are line breaks inside values handled?
Newlines inside a value are converted to spaces, since Markdown table cells can't contain raw line breaks.
Do object keys become the header?
Yes. The unioned keys form the header row of the table automatically.
Is my data sent to a server?
No. Everything happens inside your browser, so your data never leaves your device.
Can I download the result?
Yes. Save the output as a .md file, or copy it straight to your clipboard.
How large a dataset can it handle?
It comfortably converts arrays with many hundreds of records, all in your browser.
Will it work in Obsidian or Notion?
Yes. GFM tables render in Obsidian and most note tools; Notion supports them on import.
Does it work on phones?
Yes, in any modern browser on Windows, Mac, Android or iPhone with nothing to install.
Is this converter really free?
Completely free, forever — no account, no ads and no premium wall.
100% free · No signup · Processed in your browser · Data never sent
Last updated: August 2026 · FlipMyFormat JSON to Markdown Converter
Written and maintained by the FlipMyFormat team · Runs entirely in your browser