Table Format Converter

Convert tables between CSV, TSV, Markdown, HTML and JSON, with escaped text and alignment controls.

Inputs stay on your device No sign-up Free to use
How this works

The tool runs in this browser. Your file or text is not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

Privacy details

Convert the table controls

Showing an example. Edit to see your own.

Paste a CSV, TSV, Markdown, HTML or JSON table. Detect automatically reads the format. HTML reads common entities; other named entities stay as written. The example starts as CSV with one quoted value.

HTML output contains escaped cell text. JSON output writes every value as a string.

Used when the input is read as CSV. A TSV input always uses tabs.

HTML always uses its first row as names. For CSV, TSV and JSON arrays of arrays, turning this off names columns column_1, column_2 and so on.

Applies to the Markdown output, and to every column unless the input already carries its own alignment rule.

A precaution for opening a CSV or TSV in a spreadsheet. A cell that begins with = + - or @, including after leading spaces, receives a prefix so it is less likely to run; the prefix changes the stored value and is not a guarantee. A Markdown output is text and keeps the value as it was.

Processed in your browser. Your inputs stay on this device.

How to use Table Format Converter

  1. Paste a CSV, TSV or Markdown table into the box.
  2. Leave Read the input as on Detect automatically unless the detected format looks wrong.
  3. Choose the output format. The result updates as you change the input, and you can copy or download it.

Example: Table Format Converter

Turn a small CSV into a Markdown table for a README file.

You add
Text: header id,name then rows 0012,Ana and 0013,Beatrice. Read the input as: detect automatically. Write the output as: Markdown table.
You get
The page reads a CSV table with 2 rows and 2 columns and writes a Markdown table. The header row is | id | name | and the rule row matches each column width. A quoted comma stays inside its cell in the Markdown output too; a line break inside a value would become a space there because a Markdown cell sits on one line, while a CSV or TSV output keeps the break inside the quoted cell.

Options

Reading the input
Automatic detection looks for a Markdown rule row first, then a tab, and otherwise treats the text as CSV. Choose the format by hand when a single-column file or an unusual value confuses the guess.
Delimiter
Used when the input is read as CSV, for a semicolon or pipe file as well as a comma one. A TSV input always uses tabs, whatever this setting says.
Markdown column alignment
Sets the alignment marker in the Markdown rule row. A Markdown input that already carries its own alignment keeps it column by column, so one column can be right-aligned while the rest keep the choice made here.
Escaping in a Markdown cell
A pipe inside a value is escaped so it does not split the row, and a line break is written as a space because a Markdown table cell occupies one line. The CSV and TSV outputs keep the line break inside its quoted cell.
HTML and JSON
HTML input reads the first row as column names. HTML output escapes every value and preserves supported alignment. JSON input accepts an array of objects or rows; JSON output produces records with text cells. Download the output and inspect it before replacing a source table.

Supported inputs and limits

One pasted table up to 5 MiB, 10,000 data rows and 100 columns. HTML requires a single rectangular table without nested tables or merged cells. Markup is read as text and never inserted into the page. Supported numeric entities and amp, lt, gt, quot, apos and nbsp entities are decoded; other named entities stay literal. Inline markup is removed. JSON accepts arrays of records or arrays of cells, and output writes cell values as strings; nulls become empty text and nested values become JSON text. Duplicate JSON output keys are renamed and reported. This does not preserve original JSON value types or open Excel workbooks. Markdown flattens cell line breaks; CSV/TSV preserve them. Default spreadsheet formula protection prefixes risky cells and changes their value; it is a precaution, not a guarantee.

Where your input is processed

This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

A Markdown table is a view of a table

The pipe-and-dash shape reads well in a README, but it cannot carry everything a delimited file can. A cell holds one line, and every value is text, so a formula is not evaluated and a number keeps its digits. Converting a CSV into Markdown and back is therefore useful for publishing a snapshot, not for round-tripping a working dataset with embedded line breaks.

Why quoting matters in both directions

A comma, a tab, a quote character or a line break inside a value has to be escaped, or the reader sees extra columns and shifted rows. This page reads a quoted value as one cell and writes it back with the same escaping, so a value such as tea, coffee or a note across two lines survives the move between CSV and TSV. The one place a value must change is a line break inside a Markdown cell, which becomes a space.

Questions about Table Format Converter

Why did a line break in my value become a space?

A Markdown table cell sits on one line, so the break cannot be carried inside it. The value is joined with a space to keep the row valid; choose a CSV or TSV output when the break must be kept.

Can I convert an Excel file here?

No. Export the worksheet as CSV first. This page reads pasted CSV, TSV, Markdown, HTML or JSON tables.

Why is a cell in my CSV output prefixed with an apostrophe?

The value began with = + - or @, which a spreadsheet could treat as a formula. The prefix lowers that chance when the file is opened, but it changes the stored value and some apps still evaluate a cell after a save and reopen. Set the guard to leave cells exactly as they are when you want the original text.

My Markdown table has its own alignment. Which one wins?

The alignment already in the input is kept column by column. Change the Markdown column alignment setting only affects columns that had no marker of their own.

Does the converter change my pasted text?

No. The conversion runs in this browser and produces a new result to copy or download. The text you pasted is left as it was.

Project manager: Tony Hines · Content updated 30 September 2026 · Report a problem