PureDevTools

Table to Markdown Converter

Convert CSV, TSV, or HTML tables to GitHub-Flavored Markdown pipe tables

All processing happens in your browser. No data is sent to any server.
Samples:

Options

Column Alignment

Default:
Name
Age
City
Occupation
5 rows × 4 cols

Table Preview

NameAgeCityOccupation
Alice30New YorkEngineer
Bob25San FranciscoDesigner
Charlie35ChicagoManager
Diana28AustinDeveloper

You copied a comparison table from a webpage — it’s in HTML with <table>, <thead>, <tbody>, colspan, and inline styles. You need it as a clean GFM Markdown pipe table for your README. Manually rewriting 8 rows × 5 columns with | separators and --- alignment rows takes 20 minutes.

Why This Converter (Not the Markdown Table Generator)

PureDevTools has a Markdown Table Generator for building tables from scratch in a visual grid. This tool converts existing tables — paste CSV, TSV, or HTML table data and get Markdown pipe table output instantly. Auto-detects the input format, lets you control column alignment, and toggle the header row. Use the generator to build new tables; use this converter to convert existing ones.

What Is a Table to Markdown Converter?

A Table to Markdown Converter transforms structured tabular data — CSV exports, tab-separated spreadsheet pastes, or HTML <table> markup — into a GitHub-Flavored Markdown (GFM) pipe table. The result drops straight into README files, wikis, documentation sites, or any Markdown editor without manual formatting.

Supported Input Formats

CSV (Comma-Separated Values)

CSV is the most universal spreadsheet export format. The converter handles:

Export from Excel: File → Save As → CSV (Comma delimited). Export from Google Sheets: File → Download → Comma Separated Values (.csv).

TSV (Tab-Separated Values)

Copying a range of cells from Excel, Google Sheets, or Numbers to your clipboard usually produces TSV data. Just paste directly — the auto-detector identifies tabs and switches to TSV mode automatically.

TSV avoids the quoting complexity of CSV when cell values contain commas, making it a cleaner option for many use cases.

HTML Table

Paste <table> markup copied from a web page, generated by a CMS, or exported from a reporting tool. The converter extracts <thead>, <tbody>, <tfoot>, <th>, and <td> elements, decodes HTML entities, and strips inline tags.

Merged cells (colspan): Cells with colspan="2" expand to fill the spanned columns with empty placeholders, since Markdown pipe tables do not support cell merging. Rowspan is noted but not repeated vertically — leave those cells empty or fill them manually after conversion.

Output: GitHub-Flavored Markdown Pipe Tables

GFM pipe tables use the | character as a column separator and a separator row of dashes to divide the header from the body:

| Name    | Age | City          |
| ------- | --- | ------------- |
| Alice   | 30  | New York      |
| Bob     | 25  | San Francisco |

This syntax is rendered by:

Column Alignment Options

Markdown pipe tables support column alignment via the separator row:

SyntaxAlignment
---Default (no explicit alignment)
:---Left-aligned
---:Right-aligned
:---:Center-aligned

The converter lets you set a global default and then override individual columns independently. Right-align numeric columns (prices, quantities, scores) and center-align short status or boolean fields for the most readable result.

Practical Recipes

From Excel or Google Sheets

  1. Select the cells you want to convert (including the header row).
  2. Copy (Ctrl+C / Cmd+C).
  3. Paste into the Input field — the tool auto-detects TSV.
  4. Enable First row as header if your selection includes column titles.
  5. Click Copy to grab the Markdown output.

From a CSV Export

  1. Export your spreadsheet as CSV.
  2. Open the CSV file in a text editor, select all, and paste into the Input field.
  3. The auto-detector identifies the CSV format.
  4. Adjust alignment if needed, then copy the result.

From a Web Page Table

  1. Right-click the page and View Page Source (or open DevTools → Elements).
  2. Select the <table>...</table> block and copy it.
  3. Paste into the Input field and choose HTML Table if auto-detect misses it.
  4. The tool strips tags and entities to produce clean cell text.

Adding to a README

Markdown tables work best when the surrounding file uses consistent spacing. A typical README section looks like:

## API Reference

| Endpoint | Method | Description |
| -------- | ------ | ----------- |
| `/users` | GET    | List all users |
| `/users` | POST   | Create a new user |
| `/users/:id` | GET | Get a user by ID |
| `/users/:id` | PUT | Update a user |
| `/users/:id` | DELETE | Delete a user |

Frequently Asked Questions

Why does my pasted spreadsheet show as one column?

If you copied from a spreadsheet and the output has only one column, the cells are likely comma-separated but auto-detection picked the wrong format. Set Input Format to CSV explicitly.

How do I convert a table with merged cells?

Markdown does not support cell spanning. The converter places the content in the first cell of a merged group and fills remaining cells with empty strings. You will need to manually refactor the data — consider splitting merged cells into separate rows or using a note column to describe the grouping.

What happens to HTML tags inside cells?

Inline tags (<strong>, <em>, <a>, <code>) are stripped because Markdown pipe tables render their content as plain text in most parsers. The tag-free text content is preserved.

Can I preserve Markdown formatting inside cells?

No — Markdown pipe table cells do not support multi-line content or most inline formatting in standard GFM. Keep cell content to a single line of plain text for maximum compatibility. Bold (**text**) and italic (_text_) are technically allowed but render inconsistently across tools.

Does this tool send my data to a server?

No. All parsing and conversion happens entirely in your browser using JavaScript. No data you paste — CSV rows, HTML table markup, or any cell content — is ever transmitted to or stored on any server.

What is the maximum table size?

There is no hard limit, but very large tables (thousands of rows) may cause the preview rendering to slow down. The Markdown output itself has no size restriction.

My HTML table has no <thead> — will it still work?

Yes. When no <thead> is found, all rows are treated as body rows. Enable First row as header to promote the first <tr> to the header row in the Markdown output, which is the standard GFM requirement (a separator row must follow a header row).

Why are some tools incompatible with aligned columns?

Standard GFM alignment syntax is widely supported, but some older or minimal Markdown parsers (like early GitHub wikis, certain Confluence macros) ignore the : alignment markers. If alignment is not rendering, set all columns to Default (no marker).

Related Tools

More HTML & Markdown Tools