JSON to Markdown
Paste JSON and get readable Markdown back — an array of objects becomes a table, and any nested object, array, or mixed structure becomes an indented bullet list.
Runs entirely in your browser — files never leave your device.
How it works
- 01Paste or upload JSON, or click Sample to try a realistic array of records.
- 02Click "Format JSON" to pretty-print the input with 2-space indentation, or fix any syntax error using the Line/Column location and "Go to error" button.
- 03Use the Table / List toggle to switch how the JSON is rendered.
- 04Markdown updates automatically as you type or switch modes.
- 05Copy the result or download it as output.md.
Frequently asked questions
Is this JSON to Markdown converter free?
Yes, with no account or usage limit. Parsing and rendering both happen entirely client-side in your browser.
Does my JSON get uploaded anywhere?
No. Everything runs in your browser's JavaScript engine — the JSON you paste or upload never leaves your device, and nothing is sent to a server (unless you use "Open from URL" to fetch a remote file, which is a direct browser request, not a server relay).
What if my JSON isn't valid?
A friendly error message appears explaining that the input isn't valid JSON, without crashing the page — fix the syntax and the Markdown output appears automatically. When the browser can determine where the syntax error is, the message shows the exact "Line X, Column Y" and a "Go to error" button jumps your cursor straight to it.
What does the "Format JSON" button do?
It parses your JSON and rewrites it with clean 2-space indentation, right in the input box — the same result Prettier would produce for JSON. If the JSON is invalid, nothing is changed and the error banner explains why.
When does Table mode produce an actual table?
When the JSON is an array of flat objects — objects whose values are strings, numbers, booleans, or null, not nested objects or arrays. The header row is the union of every object's keys, so records with slightly different fields still line up in one table.
What happens to nested objects or arrays?
They render as an indented Markdown bullet list instead of a table — object keys appear as bold **key:** labels, and array items get their own bullet, recursing for however deep the nesting goes.
Does it execute or fetch anything from the JSON, like $ref links?
No. The JSON is treated as literal structure only — nothing in it is executed, evaluated, or fetched, including $ref-style references or URL-looking strings.