JSONL to Markdown Table
JSONL to Markdown table. Convert a JSONL (JSON Lines) file to a GitHub-flavoured Markdown table or HTML table. Pick columns, flatten nested keys. Up to 1 GB, runs in your browser.
Convert
Before you start
You need a .jsonl or .ndjson file. The tool reads up to the Max rows setting (default 500) — anything beyond is skipped. This keeps copy/paste into Markdown documents readable.
How to use it
- Paste your JSONL or drop a file.
- Pick the output: Markdown (GitHub-flavoured) or HTML.
- Leave Flatten on unless you want nested objects to appear as raw JSON strings in cells.
- Optional: list specific columns in the Columns box (one per line, dot.notation supported). Leave blank to auto-include every key seen in the data.
- Set Max rows if your file is huge.
- Click Convert, then Copy or Download.
Options explained
Flatten nested keys
Turns {"user": {"name": "Ada"}} into a column called user.name. Off → the cell value is the raw JSON {"name":"Ada"}.
Columns
Whitespace-trimmed list of key paths. The order in your list is the column order in the table. Missing keys render as empty cells. Useful for keeping a stable column set across reports.
Example
Input:
{"id":1,"user":{"name":"Ada"},"signed_up":"2026-01-04"}
{"id":2,"user":{"name":"Linus"},"signed_up":"2026-02-11"}
Output (Markdown, flatten on):
| id | user.name | signed_up |
| --- | --- | --- |
| 1 | Ada | 2026-01-04 |
| 2 | Linus | 2026-02-11 |
Tips & common pitfalls
- Markdown cells can't have newlines. Newlines in values are replaced with spaces; pipe characters are escaped to
\|. - HTML output preserves structure but isn't GitHub-friendly. Use it for docs sites or email.
- Don't dump 10,000 rows. Markdown tables over a few hundred rows get unreadable; instead, use the Sampler first to get a representative slice.
- Need a real spreadsheet? Use JSONL ↔ Excel or JSONL → CSV.
Frequently asked questions
Why are some cells empty?
That record didn't have that key. JSONL is schemaless, so different rows often have different keys.
How do I keep nested objects as nested JSON in a cell?
Turn off Flatten. The cell will then show {"name":"Ada"} literally.
Is the Markdown GitHub-flavoured?
Yes — pipes are escaped, headers are dashed, and pipes work in GitHub's renderer, GitLab, Obsidian and most static site generators.