Skip to main content

Free Text to Columns – Split Delimited & Fixed-Width Text

Split delimited or fixed-width text into columns. Handle quoted fields, output aligned monospace, a markdown table, CSV, TSV or a JSON array of objects, with a ragged-row warning.

Written & reviewed by Helperzy Editorial Team · Updated July 2026

Paste Delimited Text

100% Private — everything runs in your browser

How to Use Text to Columns

1

Paste Your Text

Paste the delimited or fixed-width text you want to split into the input box. Each line becomes a row, and the tool previews how it will be divided so you can confirm the split before choosing an output format.

2

Set the Split Rules

Pick delimiter mode with a separator or fixed-width mode with column positions, then toggle the header row, trim whitespace, and skip-empty-lines options. The ragged-row warning highlights any line whose column count does not match the rest.

3

Choose an Output and Copy

Select aligned text, markdown, CSV, TSV, or a JSON array of objects from the dropdown, then copy the result with one click. The same parsed grid can be exported in every format without pasting the source text again.

How Text to Columns Splits and Reshapes Your Data

Text to columns takes rows of run-together data and separates them into clean, aligned columns you can copy into a spreadsheet, a document, or code. It works two ways. In delimiter mode it splits each line on a chosen separator; in fixed-width mode it slices each line at the character positions you specify. The output is not limited to one format either: the same parsed grid can be rendered as aligned monospace text, a markdown table, comma-separated values, tab-separated values, or a JSON array of objects. Data analysts cleaning exports, writers formatting a list pasted from a PDF, and developers converting a quick log into structured data all need this without opening a full spreadsheet program. Delimiter mode supports comma, tab, semicolon, pipe, a custom character you type, or a regular expression for irregular separators like one-or-more spaces. Crucially, it handles quoted fields the way a proper CSV parser must: a comma inside double quotes is treated as data, not as a column break, so a field like a city and country wrapped in quotes stays in one cell. Fixed-width mode is for reports where columns line up by position rather than a separator, common in older banking and mainframe exports; you give the tool the column boundaries and it cuts every line at those points. A header-row toggle tells the tool whether the first line names the columns, which matters most for the JSON output. Options to trim surrounding whitespace and skip empty lines clean up messy pastes, and a ragged-row warning flags any line whose column count does not match the others. Work through a small example. Paste two lines, a comma b comma c on the first and 1 comma 2 comma 3 on the second, choose comma as the delimiter, and turn the header toggle on. The tool reads the first row as the field names a, b and c, then maps the second row onto them. The JSON output becomes an array containing one object whose keys are a, b and c with the values 1, 2 and 3. Switch the output to a markdown table and you get a header row with a divider and one data row. Switch to aligned text and the columns are padded so a, b and c sit directly above 1, 2 and 3. Same input, four presentations, chosen from a dropdown. Specific situations show the range. A marketer exports campaign data as pipe-delimited text and converts it to a markdown table to drop straight into a report. A developer pastes a comma-separated config line, toggles the header on, and copies a JSON array of objects for a test fixture. An accountant receives a fixed-width bank statement dump and uses column positions to separate date, description, and amount into real columns. A blogger pastes a supplier list where each row has a quoted product name containing a comma, and the quoted-field handling keeps each name intact instead of splitting it in two. A student converts tab-separated survey results to CSV so a different program can read them. The ragged-row warning quietly saves all of them by pointing out the one line that has an extra delimiter before it becomes a silent misalignment. A few practical notes. When a field genuinely contains your delimiter, wrap it in double quotes in the source so the parser knows it is data; without quotes there is no way to tell a data comma from a separator comma. Regular-expression delimiters are powerful but easy to over-match, so test on a couple of rows before trusting a whole file. JSON output assumes the header row gives valid, unique key names; duplicate headers collapse into a single key, which the ragged-row and preview panels help you catch. Fixed-width parsing depends on the columns actually lining up, so a single shifted row throws off the cut points. Everything runs locally in your browser, so no data is uploaded, stored, or logged, which makes it safe for confidential exports.

Examples: Text to Columns

Input

"a,b,c\n1,2,3" delimiter comma, header on, JSON output

Result

[ { "a": "1", "b": "2", "c": "3" } ]

The first row becomes the keys a, b and c because the header toggle is on. The second row 1,2,3 is mapped onto those keys, producing a JSON array with one object. Switching the output dropdown to markdown or aligned text reshapes the same parsed grid instantly.

Input

"name,city\n\"Rao, A\",Pune" delimiter comma, quoted field

Result

Row 1 → name=Rao, A · city=Pune

The comma inside the double-quoted field "Rao, A" is treated as data, not a column break, so the name stays whole and Pune lands in the city column. Without the quotes the parser would wrongly split the name into two cells.

Frequently Asked Questions – Text to Columns

You can split on comma, tab, semicolon, pipe, a custom character you type, or a regular expression for irregular separators such as one-or-more spaces. The regex option is powerful for messy data, but test it on a couple of rows first because a loose pattern can match more than you intend and break the columns.