JSON to Markdown Table Converter — Free Online Tool
Convert a JSON array to a formatted Markdown table using AI. Generates aligned columns with header rows. Works with any flat or nested JSON array. Free, no sign-up.
Related Guides
JSON to Markdown Table Converter — Free Online Tool
About JSON to Markdown Table Converter — Free Online Tool
JSON to Markdown Table converts a JSON array of objects into a formatted Markdown table, automatically deriving column headers from object keys and aligning cell values. Developers use it to quickly document API responses, display configuration data in README files, and paste structured data into wikis or GitHub issues without manual formatting.
JSON Value Type to Markdown Cell Rendering
| JSON Type | Example Value | Markdown Cell Output | Notes |
|---|---|---|---|
| string | "hello" | hello | Rendered as plain text; pipes inside strings are escaped as \| |
| number | 42 or 3.14 | 42 or 3.14 | Rendered as-is; no locale formatting applied |
| boolean | true / false | true / false | Lowercase literal string |
| null | null | (empty string) | Null values render as an empty cell by default |
| array | [1,2,3] | [1,2,3] | Serialized inline; nested arrays not expanded |
| object | {"a":1} | {"a":1} | Serialized inline; nested objects not expanded |
Markdown Table Format vs Alternative Plain-Text Table Formats
| Format | Syntax Style | GitHub Rendered | Pipe Characters | Alignment Support | Tooling Support |
|---|---|---|---|---|---|
| Markdown (GFM) | | col | col | | Yes | Required | Left / Center / Right via :--- | Ubiquitous — GitHub, GitLab, Obsidian, VS Code |
| reStructuredText Grid | +=====+ | Sphinx / RST only | No | Yes | Python docs, Sphinx projects |
| reStructuredText Simple | ------- | Sphinx / RST only | No | Limited | Python docs only |
| AsciiDoc | | col | col | | AsciiDoc renderers | Required | Yes | Antora, AsciiDoctor |
| CSV | col,col | No (raw text) | No | No | Spreadsheets, pandas, data pipelines |
| HTML <table> | <td>cell</td> | Yes | No | Via CSS | Any HTML context; verbose to write by hand |
Frequently Asked Questions
How do I convert a JSON array to a Markdown table?
Paste your JSON array of objects into the input field and click Convert. The tool reads the keys of the first object as column headers, then iterates every array element to build one row per object. All keys present across all objects are included as columns, with empty cells for missing keys.
What happens if my JSON objects have different keys?
The converter performs a union of all keys found across every object in the array. Objects missing a particular key produce an empty cell in that column. This means your table may have sparse columns if your data is inconsistent — clean your data upstream if you want a compact table.
Can I convert nested JSON objects to a Markdown table?
Nested objects and arrays are serialized to their inline JSON string representation and placed inside the cell as-is. They are not flattened or expanded into sub-columns. For deeply nested data, consider flattening it first with jq (e.g., jq '[.[] | {id, name: .address.city}]') before converting.
Does the Markdown table output work on GitHub?
Yes. The output uses GitHub Flavored Markdown (GFM) pipe-table syntax, which is natively rendered by GitHub in README files, issues, pull request descriptions, and wikis. GitLab, Bitbucket, and Obsidian also render GFM pipe tables without any modification.
How do I handle JSON values that contain pipe characters?
Pipe characters (|) inside cell values must be escaped as \| to prevent them from being interpreted as column delimiters. The converter handles this automatically — any literal pipe found in a string, number, or serialized nested value is escaped before writing the cell.
If jsondecode.com saved you time, share it with your team
Free forever. No ads. No sign-up. Help other developers find it.