JSON to Markdown Table — Free Online
Convert ragged JSON arrays to Markdown tables. Automatically unites all object keys from inconsistent records into one rectangular table.
JSON to Markdown Table Converter
Files never leave your browser0 lines · 0 chars · 0 B
0 lines · 0 chars · 0 B
You're on 7BusyBoss — 300+ free tools that run instantly in your browser. No signup, nothing uploaded.
JSON arrays are frequently ragged
An API response omits fields that are null, a database export adds a new column halfway through the records, and a form collection grows optional fields over time. A table needs fixed columns, but your JSON often doesn't — different objects in the same array can have completely different keys. This converter reconciles that mismatch by building a table where the column set is the union of every key across every object, not just the keys of the first one. One record that introduces a new key adds a column for the entire table.
Column order follows first appearance
When objects introduce new keys in different positions, how should the table render them? This converter walks the array in sequence and appends each new key to the column list when it is first encountered. So if the first object has name and age, the second adds city, and the third repeats keys already seen, the final column order is name, age, city — not alphabetical, and not the order of whichever object happens to be widest.
The practical consequence: the shape of your table depends on the order of your data. Sort the same array differently and the columns can come out in a different order, even though no value has changed. If you need a stable column order across runs, sort or normalise the records before converting.
Missing keys and nested values need attention
When an object lacks a key that appears elsewhere, its cell is empty — not the text undefined, not null, just blank. If a key is explicitly null in the JSON, that also becomes an empty cell, so a missing key and an explicit null are indistinguishable in the output. That distinction often matters — "we never collected this" is not the same fact as "we collected it and it was nothing" — so if it matters to you, substitute a placeholder before converting.
Objects and arrays inside cells are serialised inline with JSON.stringify, so a nested address becomes {"city":"London","country":"UK"} right in the cell rather than being spread across extra columns. This keeps the data visible and lossless, but can make one column far wider than the rest. If that hurts readability, flatten the structure before converting.
Input must be a non-empty JSON array of plain objects
Three error messages tell you exactly what went wrong. Malformed JSON gives Invalid JSON: followed by the parser's own message, which usually names the position of the problem. A single top-level object, or an empty array, gives Expected a non-empty JSON array of objects — this is by far the most common mistake, and the fix is simply to wrap your object in square brackets. An array holding a number, string, null or nested array rather than an object gives Every array item must be a plain object.
For the mechanics of the Markdown table format itself — pipe escaping, padding and the separator row — see the CSV to Markdown Table Converter.
How to use the JSON to Markdown Table Converter
Takes about a minute. No signup, no download, your data stays in your browser.
- 1Open the tool. Scroll up to the JSON to Markdown Table Converter above — it loads instantly in your browser, no install needed.
- 2Enter your values. The fields come pre-filled with realistic defaults so you can see how it works — replace them with your own numbers.
- 3Read the result. The output updates instantly. Copy or share it — nothing is uploaded to a server, everything stays on your device.
Frequently asked questions
Common questions about the JSON to Markdown Table Converter.
Why is my column order different from what I expected?
Columns follow first appearance, not alphabetical order. The first object determines the leading columns and later objects append theirs on the right. Because of this, re-sorting the same array can change the column order without changing any value, so normalise your records first if you need a stable layout.
What happens if one object has a key that others do not?
Every object gets a column for that key, since the column set is the union of all keys across the array. Objects without it show an empty cell. A JSON null renders as an empty cell too, so a missing key and an explicit null look identical in the output.
Can I convert a single JSON object to a table?
Not directly — the tool needs a non-empty array of objects. Wrap your object in square brackets and it will convert as a single-row table. Passing a bare object at the top level returns an error asking for a non-empty JSON array of objects.
What happens to nested objects and arrays inside my data?
They are serialised inline with JSON.stringify, so a nested address appears as its own JSON text inside a single cell rather than being expanded into extra columns. Nothing is lost, but that column can become very wide. Flatten the structure beforehand if readability matters more than completeness.
What are the exact error messages?
Malformed JSON returns Invalid JSON followed by the parser message. A non-array or empty array returns a message asking for a non-empty JSON array of objects. An array containing a number, string, null or nested array returns: Every array item must be a plain object.
Community rating
Discussion (0)
No comments yet. Start the discussion.
Keep exploring
Related tools across 7BusyBoss — all free, all instant.
More in Data Converters
- CSV to Markdown Table Converter
- JSON to XML Converter
- TSV to CSV Converter
- CSV to TSV Converter
- XML to JSON Converter