Neatbo.

Markdown table converter

Convert CSV or JSON records to Markdown tables and export Markdown tables back to CSV.

Browser-local processingInputCSV / JSON / MarkdownOutputMarkdown / CSVUp to 10 MiB per file · File limit: 1
  1. 1Add input
  2. 2Adjust settings
  3. 3Get your result

Tool input and files are processed in this browser without being uploaded.

Your input

Inputs are kept temporarily in this tab when switching tools. Refreshing or closing clears them; large results may need to be regenerated.

⌘ / Ctrl + Enter to run
Conversion direction
Input source
0 characters · 0 bytes

Check the input table

Review the detected columns and rows before converting.

Paste a headered CSV or choose a UTF-8 file. Select the actual input delimiter below.

Paste content or choose a file to check the table.

Preparing the tool…

Before you start

Turn a headered CSV or JSON object array into a GitHub-style Markdown table, or bring a Markdown pipe table back to CSV. For JSON nested in a document, select the array path. Inspect detected columns and save the complete result.

How to use this tool

  1. Choose CSV → Markdown, Markdown → CSV or JSON → Markdown in the workbench, then paste content or choose one UTF-8 file.
  2. For CSV, select its delimiter. For nested JSON, enter the array path. For Markdown output, optionally right-align numeric columns. Check detected headers, dimensions and any input error.
  3. Convert, review the first output rows and text preview, then copy or download the complete Markdown or CSV.

Supported inputs and limits

Supports one table at a time, up to 200,000 cells and 1,000 columns; pasted text is limited to 1 MiB and a UTF-8 file to 10 MiB.

CSV needs unique nonempty headers and equal row widths. Choose comma, semicolon, tab or pipe as its input delimiter.

Markdown input needs a header and alignment row; outer pipes are optional. Escaped pipes and backslashes are decoded. Short rows gain empty cells; extra cells are rejected.

JSON input must select a nonempty array of objects with unique keys, either at the top level or through a JSON Pointer path. Nested values become compact JSON text; large numeric tokens are preserved.

Generated Markdown escapes literal formatting and uses <br> for cell line breaks. Markdown-to-CSV keeps inline markup as text except <br> line breaks. Spreadsheet-like formulas in CSV are preserved and flagged.

Worked example

Example input

name,age
Mori,3
Example options
{}

Example output

| name | age |
| --- | --- |
| Mori | 3 |

When something does not work

Choose the direction matching your input. Check the CSV delimiter and row widths, the Markdown separator and escaped pipes, or the JSON array path and duplicate keys; resolve highlighted errors before converting.

Frequently asked questions

Can I paste a Markdown table without outer pipes?

Yes. A header and a separator row of at least three hyphens per column are required. Escaped pipes stay inside cells; rows with fewer cells are padded, while rows with extra cells are rejected to avoid data loss.

Will Markdown formatting become plain CSV values?

Escaped punctuation and <br> line breaks are decoded. Other inline Markdown and HTML remain literal text; formatting and column alignment are not preserved in CSV.

How are JSON values converted?

Select a top-level array or enter a JSON Pointer such as /statistics/map for a nested one. Every key across the selected objects becomes a column. Missing keys become empty cells; nested values are compact JSON text, and number tokens remain exact.

Is my content uploaded?

No. Text and files are processed in this browser. Save the complete output before closing the tab.

Documentation & further reading

Related tools