Paste your rows
One row per line, with the columns separated by commas, tabs, pipes or spaces.
Paste rows of data, one per line, and get a table in the format you need. The column separator is detected for you, and the first row can act as the header.
100% private — your text is processed in your browser and never sent to any server.
One row per line, with the columns separated by commas, tabs, pipes or spaces.
Markdown, HTML, tab-separated, CSV, JSON or a text table with borders.
Paste it into a document, a README, a web page, a spreadsheet or code.
Data often arrives as rows of text with the columns separated by commas, tabs or spaces: the output of a command, an email with figures, notes typed in a hurry or a cut and paste from a report. To use it in a README, a web page, a spreadsheet or a program, it has to be in a table format, and writing the pipes of a Markdown table or the tags of an HTML table by hand is tedious and easy to get wrong.
By default the tool looks at the first line and picks the most likely separator: tabs, pipes, semicolons or commas, or runs of two or more spaces, and otherwise single spaces. You can also choose the separator yourself. Values in quotes are kept whole, so a cell such as "Madrid, Spain" is not split at its comma.
With "The first row is the header" ticked, the first line provides the column titles. If you untick it, the columns are named Column 1, Column 2 and so on in the formats that need names, such as JSON. Rows with fewer columns than the widest row are filled with empty cells, and the tool tells you when that happened.
It does not align numbers or merge cells, and it cannot infer types: every JSON value is a string, and dates and numbers are not converted. Text with a variable number of words per column and only spaces between columns cannot be split reliably; put a comma or a tab between columns.
More utilities that also run without leaving your browser.