CSV and Markdown, free, by Pivotal Labs
Turn a CSV into a Markdown table, and back again
Paste a CSV and get a Markdown table you can drop into a document. Paste a table and get the CSV back. Alignment and awkward characters are handled properly. Nothing is uploaded.
Loading CSV ↔ Markdown Table...
What CSV ↔ Markdown Table does
Paste a CSV, get a Markdown table. Paste a Markdown table, get a CSV. Alignment and awkward characters handled the way most tools get wrong.
Doing this job well
This is a small job that appears constantly once documentation lives in Markdown. A number comes out of a spreadsheet and needs to go into a README, a handover note, a proposal or a ticket, and it needs to arrive as a table rather than as a screenshot of one.
The reason to use something built for it rather than doing it by hand is the awkward characters. A pipe inside a cell ends the cell, so any value containing one breaks the whole table, and the value is usually something innocuous like a measurement or a path. The same goes for line breaks inside a quoted CSV field, which have no equivalent in a Markdown row at all and have to be turned into something else deliberately.
Alignment is the other thing that gets skipped. A table of numbers where the numbers are left aligned is harder to read than the same numbers aligned right, and Markdown supports the distinction with the colons in the separator row. Most quick conversions ignore it, which is why so many documented tables look approximately correct and read badly.
Going the other way is more useful than it first appears. A table that only exists inside a document is data nobody can work with. Pulling it back out to CSV means somebody can sort it, sum it, or check it against the system it was supposed to describe, which is often how a stale document gets found out.
It runs entirely in the browser, which for this applet is less about secrecy and more about not needing to think about it. A table on its way into a proposal may well contain client figures, and the correct amount of consideration to give a free web tool handling those is none, because it never sees them.
The wider point, if this is happening often: a table pasted into a document is a snapshot that starts going out of date immediately. That is fine for a proposal and a problem for anything that is meant to stay true. When the same table is being re-pasted every month, what is really needed is a report somebody can look at, not a document somebody has to maintain.
Common questions
Does anything get uploaded?
No. The conversion happens in your browser and nothing is sent anywhere.
What happens to a pipe character inside a cell?
It is escaped, so the table does not break. That is the single most common reason a hand made Markdown table renders wrongly.
Can I control column alignment?
Yes. Alignment is written into the separator row, which is worth setting for numeric columns because right aligned numbers are considerably easier to scan.
Will it convert a Markdown table back to CSV?
Yes, both directions, which is useful when a table has been trapped in a document and somebody needs to actually work with the figures.
Does it cope with line breaks inside a CSV field?
Yes. Markdown rows cannot contain them, so they are converted rather than silently truncating the row.
Related applets
Built by Pivotal Labs
We build software, and this is a small piece of it.
Pivotal Labs is a software development and product management team. The applets on this site are the offcuts, the small things we build for ourselves and give away. The work we are paid for looks rather different.
See what Labs buildsWhen the browser tab is not enough
A one-off clean-up is a job for an applet. Doing it the same way every month, across systems that disagree with each other, is a job for data management & crm integration.
Further reading

The CS Tech Stack: What to Buy, and in What Order

The Sales-to-CS Handover Is Broken, and Both Teams Know It

How Customer Experience Transformation Boosts Business Success

What Your CS Health Score Is Actually Measuring, and What It's Probably Missing

The QBR Format That Fits Nobody

