Contact

Tools  /  Generators  /  JSON → Markdown Table

JSON → Markdown Table

Convert a JSON array (of objects or arrays, or a wrapped payload) into a GitHub-flavoured Markdown table — a union of keys as columns, dot-path flattening of nested objects, per-column left / center / right alignment, pretty column padding, pipe and newline escaping, and column pick / reorder / rename — with a rendered preview and Markdown output, plus an HTML table or CSV.

What this tool does

It reads a JSON array and produces a Markdown pipe table, showing both the rendered result and the raw Markdown.

Input shapes

An array of objects, an array of arrays, or an object whose first array property is the data. Columns are the union of every key seen.

Nested data

Nested objects flatten to dot-path columns (meta.author) up to the depth you set; deeper values and arrays become compact JSON in the cell.

Alignment

Set each column to left, center or right and the separator row gets the matching :---, :---: or ---:. Numeric columns default to right.

Pretty padding

Optionally pad every cell to its column's width so the raw Markdown lines up in a monospace editor — GitHub renders both forms identically.

Escaping

Pipes in values are escaped as \| and newlines become spaces (or <br>) so the table never breaks.

Privacy

Everything runs in your browser. Nothing is uploaded.

Frequently asked questions

How do I right-align a column?
Set its alignment to "right" in the column panel and the separator cell becomes ---:. Numeric columns are detected and default to right automatically.
What is pretty padding?
It pads each cell with spaces so every column is the same width in the raw text. It makes the Markdown readable in an editor; GitHub renders it the same as the unpadded form.
How are line breaks in values handled?
By default they are replaced with a space. Switch the newline mode to
to keep them as visible line breaks inside the cell (GitHub supports
in table cells).
Can I use it with an array of arrays?
Yes. Each sub-array becomes a row and columns are named col1, col2, … unless the first row looks like a header, which you can toggle.
Is anything sent to a server?
No. Conversion happens entirely in your browser.
Theme Accent