Recto
Markdown tools that never upload your document
Table editor
CSV, Excel, Markdown, HTML and JSON

Your table

Table cells
Paste a table anywhere on this page CSV, a range copied from Excel or Sheets, a Markdown or HTML table, or JSON.
Or drop a file here, or start with a blank grid.
Drop to load

Copy out as

Everything runs in this tab. Your table is never uploaded.
Paste a table

CSV, tab-separated text from a spreadsheet, a Markdown or HTML table, or a JSON array. The format is worked out for you.

CSV to Markdown table, and back again

Paste a spreadsheet range, a CSV file or a Markdown table. Edit it as a grid. Copy it out as Markdown, CSV, TSV, HTML or JSON. Nothing is uploaded.

Writing a Markdown table by hand means counting pipes and padding columns until they line up. Going the other way — getting a table out of a README and into a spreadsheet — is just as fiddly. This tool reads any of the common table formats, shows you the cells, and writes whichever format you need, with the columns already aligned.

What it reads

Formats the table editor understands
InputHow to bring it inNotes
Excel, Google Sheets, NumbersCopy a range and pasteTab-separated on the clipboard; cells with line breaks survive
Excel workbook (.xlsx)Choose or drop the filePick the worksheet; dates come through as dates, not day counts
CSV and TSVPaste, choose or dropComma, semicolon, tab or pipe, detected for you; quoted fields handled properly
Markdown tablePasteColumn alignment is kept; escaped pipes are unescaped
HTML tablePaste, or copy a table from a web pageMerged cells are spread out into the grid
JSONPaste or choose a .json fileAn array of objects becomes rows with a header; arrays of arrays work too

Markdown tables that line up

The Markdown output pads every column to the same width, so the source reads as a table in a plain-text editor, not just once it is rendered. Wide characters such as Chinese, Japanese and Korean count as two columns, the way a monospaced font draws them. Pipes inside cells are escaped and line breaks become <br>, so nothing breaks the table. Set a column's alignment and the separator row gets the matching colons.

CSV that Excel opens correctly

The CSV writer follows RFC 4180: fields holding commas, quotes or line breaks are quoted, and quotes inside are doubled. It has been checked against Python's own CSV module on fifteen thousand awkward cases. Leave “Excel-friendly” on and the download starts with the byte-order mark that tells Excel the file is UTF-8, so accented letters and symbols don't arrive as garbage.

Edit like a small spreadsheet

Questions

How do I convert CSV to a Markdown table?

Paste the CSV anywhere on the page or drop the file onto the grid. The Markdown version appears on the right with the columns padded to line up. Press Copy.

Can I paste straight from Excel or Google Sheets?

Yes. Copy a range of cells and paste it onto the page. Spreadsheets put tab-separated text on the clipboard, which is read as a table, including cells that contain line breaks.

Can it open an .xlsx file?

Yes. Choose or drop an Excel workbook and pick the worksheet. Values are read, including the results of formulas, and dates come through as dates rather than Excel's internal day numbers. Formatting is not carried across.

How do I convert a Markdown table to CSV?

Paste the Markdown table, choose CSV on the right, and copy or download it. Alignment colons are read and escaped pipes inside cells are restored.

Is my data uploaded anywhere?

No. The table is parsed and written by the page itself, in your browser. Nothing is sent to a server, so it is safe for client lists, financial data or anything else you would rather keep to yourself.

Why do accented characters look wrong when I open the CSV in Excel?

Older versions of Excel assume a CSV is in the local legacy encoding unless the file says otherwise. Keep “Excel-friendly download” ticked and the file starts with a byte-order mark that tells Excel it is UTF-8.

Can it convert JSON to CSV?

Yes. Paste a JSON array of objects and each object becomes a row, with the keys as the header. Then choose CSV. It works the other way too: any table can be written out as JSON.

The other tools

Markdown reader and editor

Open a .md file and read it typeset, or write with source and page side by side, both editable. Tables, task lists, footnotes, find and replace, six colour schemes.

Open the editor →

Document converter

Markdown, Word, EPUB, HTML and plain text, in any direction. Build an ebook or a Word file without handing your document to anyone.

Open the converter →

Book formatter

Turn a manuscript into a typeset book: real pages at your trim size, running heads, a contents page with page numbers, and a print-ready PDF or EPUB.

Format a book →

Markdown to slides

Write a talk in Markdown, split slides with a rule, and present full screen with speaker notes, or save the deck as a PDF or a single HTML file.

Make slides →

Document compare

See exactly what changed between two versions of a document, word by word, as a redline. Works with Markdown, Word, EPUB and plain text.

Compare documents →

Readability checker

Reading grade, Flesch score and five more measures, with long sentences, passive voice and padding highlighted in your own text.

Check readability →

CV typesetter

Write your CV in Markdown and get a clean, print-ready A4 or Letter page in one of four styles, with a fit-to-one-page control.

Typeset a CV →

Code viewer and formatter

Open any source file with highlighting and line numbers. Format or minify JSON, XML and CSS, find syntax errors, print it, or copy it with colours.

View code →