LaunchRanked

JSON to Markdown converter

Paste JSON. Arrays of objects become a Markdown table; everything else becomes a readable nested list.

Levels of nesting shown as lists. Anything deeper is shown as inline JSON. Missing and null cells in tables show as “—”. Limit: 2 MB. Runs in your browser; nothing is uploaded.

Paste JSON on the left, or load the example. The Markdown appears here as you type.

Tables for records, lists for everything else

Most JSON worth putting in a doc is either a list of records (users, plans, API results) or a config-style object. The converter treats them differently:

  • Array of objects. Becomes a GFM table. Tables are a GitHub Flavored Markdown extension, not part of core CommonMark, so check that your renderer supports them (GitHub, GitLab and most docs tools do).
  • Object. Becomes a nested bullet list: **key**: value, with child objects indented under their key.
  • Array of strings or numbers. Becomes a plain bullet list.
  • A single value. A lone string or number is printed as it is, with Markdown characters escaped.

A table nested inside an object is placed inside that key’s list item, which GitHub renders. Use max depth to stop deep structures from turning into a wall of nested bullets: past that depth, values are shown as inline JSON.

Escaping

Pipes inside cells are written as \| so they don’t split a column; the GFM spec requires this even inside code spans. Text that would turn into formatting, like a value starting with # or containing *stars*, is escaped with backslashes. Numbers are printed as JavaScript reads them, so integers above 253 can lose precision; keep IDs like that as strings.

Related converters

Got a spreadsheet instead? The CSV to Markdown converter handles quoted fields and alignment. For feeds and sitemaps use XML to Markdown, and for web pages HTML to Markdown. Writing a changelog or post around the table? Check it with the word counter or the reading time calculator.

Questions

When does JSON become a table?

When an array's items are all objects, like [{"name":"Free"},{"name":"Pro"}]. The columns are every key that appears, in the order first seen. If one item mixes in a string or number, the array is shown as a list instead. Turn the table option off to get lists everywhere.

What happens to nested objects inside a table?

They're written as compact inline JSON in a code span, because a Markdown table cell can only hold one line of inline content. Missing keys and null values show as a dash (—), and line breaks inside strings become <br>.

Why is my JSON invalid?

The error shows the line and column plus the reason. The usual causes are a trailing comma after the last item, single quotes instead of double quotes, unquoted keys, comments, and values like NaN or undefined. None of those are allowed in JSON, even though JavaScript accepts some of them.

Is there a size limit?

2 MB. Everything runs in your browser, and very large documents would freeze the tab. Nothing is uploaded or saved.

Autopilot · early access

Want this fixed automatically?

Autopilot checks your site, publishes researched articles at a safe pace, and tracks whether ChatGPT, Perplexity, Gemini and Claude cite you. $49/mo.

Related free tools

See all free tools