Skip to content
TextLab

Free text to columns splitter

Text to columns, without opening Excel

Text to Columns is the Excel wizard that cuts one crowded column into several, and this page does the same job on anything you paste, in the browser. It is free, no account required, and you choose the cut: a comma, a tab, a character of your own, a set of fixed positions or a pattern — the table builds underneath as you type. Quoted fields stay whole, so “Okonkwo, Ada” remains one name, and the finished grid copies out as CSV or TSV ready for cell A1.

  • 100% free
  • No signup
  • Delimiter, fixed width or pattern
  • Quoted fields kept whole
  • CSV or TSV out
0columns0 rows of data
Where to cut

How to split text into columns

Three steps, and the grid redraws with every option you change.

  1. Paste the lines that arrived as one column

    A CSV somebody emailed, a tab-separated export, a fixed-width report printed for a monospaced font, a log file, or the single crowded column a spreadsheet gave you. A ⌘V (Ctrl+V on Windows) while this tab has focus brings them straight in. Try a quoted CSV fills the box with four rows that include a comma inside a name and a doubled quote inside a nickname, which is where naive splitters fall apart.

  2. Say where the cut goes

    At a character covers the usual suspects — comma, tab, semicolon, pipe, space, or anything you type yourself, including multi-character separators like :: — and keeps a quoted field in one piece. At fixed positions takes a list such as 10, 24, 38 and cuts every line there, which is how mainframe and banking reports are laid out. On a pattern splits wherever a pattern matches; \s{2,} handles the report that lines its columns up with runs of spaces.

  3. Check the grid, then take it as CSV or TSV

    The preview is laid out like a spreadsheet, with A, B, C above the columns and your first row promoted to headings if you ticked that. The line above it counts the columns and warns when a row has fewer fields than the rest. Copy puts the whole table on the clipboard ready to paste into cell A1; Download writes columns.csv or columns.tsv with proper quoting.

Technical specifications

Ways to cut a lineAt a delimiter (comma, tab, semicolon, pipe, space or any string you type, including multi-character ones), at fixed character positions, or wherever a pattern matches
Quoting understoodRFC 4180: a double-quoted field may contain the delimiter, a line break or a doubled "" standing for one quote character
Line endings acceptedCRLF, LF and lone CR, mixed freely in the same paste; a line break inside a quoted field keeps the row together
OptionsTreat repeated delimiters as one, trim the spaces around each field, skip blank lines, and promote the first row to headings
PreviewA spreadsheet-style grid with A, B, C column letters and numbered rows, showing the first 200 rows; the copy and the download carry every row
ExportCSV or TSV, UTF-8, with a field quoted only when it holds the delimiter, a quote, a line break or an edge space
Measured speed5 MB of quoted CSV — 151,516 rows of four fields — parsed in about 123 ms; the same volume cut at fixed positions in about 91 ms, on an Apple M-series laptop
Where the splitting happensIn this browser tab. No file is uploaded, so a price list or a payroll export never leaves your machine

Frequently asked questions

What does Excel's Text to Columns do differently?

Excel's version runs on a column that is already in a sheet, and it writes the result over whatever sits to the right of it — no warning, no undo prompt, and if column B held anything it is gone. It also handles one column per run, remembers the delimiter you last used and quietly applies it the next time you paste, and hands every new column to the General format, which converts what it thinks it recognises. This page splits text you paste, shows you the grid before anything is written anywhere, and treats every field as text, so nothing is converted behind your back.

Why did the leading zeros vanish when I did this in Excel?

Because General format read the field as a number, and numbers have no leading zeros — so the postcode 01234 becomes 1234 and the product code 007 becomes 7. The same conversion turns 1-2 into 2 January, turns 3/4 into a date in the current year, and rounds anything past 15 significant digits, which is how a 16-digit card number ends in a zero it never had. The fix in Excel is to set those columns to Text in step three of the wizard rather than leaving them on General. Here the question does not arise: every field stays exactly as you typed it, and the copy and the download preserve it.

My text has commas inside it — will they split the row too?

Not while “a quoted field stays in one piece” is ticked, which it is by default. A field wrapped in double quotes can hold the delimiter, a line break, or a doubled quote standing in for a single one, and all three are read the way RFC 4180 describes: “Okonkwo, Ada” stays one name and “Hall ""Sandy"" Reid” comes back with one pair of quotes around Sandy. Untick it and the quotes become ordinary characters, which is what you want for text that uses them as inch marks.

How do I split a report that lines its columns up with spaces?

Use On a pattern with \s{2,}, which cuts wherever two or more whitespace characters sit together and leaves single spaces inside names alone. The alternative is At fixed positions, which is more reliable when a column is sometimes empty: a blank field leaves no delimiter at all, so a spaces-based split silently shifts everything after it one column to the left, while fixed positions keep the grid square.

Why do some rows come out with fewer fields than the others?

Almost always one of three things, and the count above the table tells you how many rows are affected. A trailing field was left empty and its delimiter omitted; a quote was opened and never closed, so the rest of the file was swallowed into one field; or a line break sits inside a quoted field and the row legitimately spans two lines. Turning quoting off and on again usually identifies which of the three you have, because an unclosed quote behaves completely differently under each setting.

How much can I split at once, and what will Excel take?

There is no cap here: 5 MB of CSV, 151,516 rows of four columns, is parsed in about 0.12 s on an Apple M-series laptop, and the preview shows the first 200 rows while the copy and the download carry all of them. The ceiling is at the other end. A modern Excel worksheet stops at 1,048,576 rows and 16,384 columns, and a single cell holds 32,767 characters, so a very wide fixed-width report can exceed what a sheet will accept even though this page split it happily.

Why the same split behaves differently in a spreadsheet

The name belongs to Excel, and borrowing it is deliberate — this is the operation people go looking for by that name. The behaviour is deliberately not Excel's. Its wizard works on a column already sitting in a sheet and writes the pieces into the cells to the right of it, overwriting whatever was there without asking; more than one person has split column A and lost column B in the same click. It works on one column at a time, so a sheet with three crowded columns takes three runs. And it is sticky: the delimiter you chose last time is applied to the next thing you paste into that workbook, which is why a perfectly ordinary sentence sometimes explodes across four cells the moment it lands. Splitting outside the spreadsheet sidesteps all three, and you see the grid before anything is committed.

The bigger reason to split before you paste is that a spreadsheet does not merely store what you give it. Every column arriving under the General format is inspected and converted: leading zeros disappear because a number has none, so postcodes and product codes lose their shape; anything resembling a date becomes one, so 1-2 turns into 2 January and 3/4 into a date in the current year; and precision past 15 significant digits is rounded away, which is how a card number acquires a trailing zero. The most-documented case is genetics: a 2016 study in Genome Biology found that roughly a fifth of papers with supplementary Excel files carried gene symbols mangled into dates, and in 2020 the naming committee gave up and renamed the genes themselves — SEPT1 became SEPTIN1, MARCH1 became MARCHF1 — because it was easier than fixing the spreadsheets. Everything on this page stays text from the moment it is pasted to the moment it is copied.

CSV, meanwhile, is not really a standard. RFC 4180 was published in 2005 to write down what programs already did, not to tell them what to do, and the variation it papers over is still with you: a spreadsheet in a locale that uses the comma as a decimal point will write and expect semicolons, quoting conventions differ, and some exports escape a quote with a backslash instead of doubling it. Tab-separated output is the quieter choice whenever the data contains commas and no tabs, which is most business data, and it pastes into a sheet without an import dialogue at all. If the separator itself is the problem — semicolons that should be commas, or a stray delimiter inside a field — the find and replace tool will fix the whole file in one pass first. And when one of the columns you have just separated turns out to be full of addresses, the email extractor will lift them out and merge the duplicates.

What happens to the file you paste

Nothing is uploaded, because there is nothing to upload it to: the parsing, the preview grid and the CSV or TSV you copy are all produced by JavaScript already sitting in this tab. A price list, a payroll export or a customer table can be split here without any row of it crossing the network, and the Download button writes the file straight from your browser's memory to your own disk. Nothing is stored between visits — reload the page and the box is empty again.