Skip to content

Tool 33 / Format lines

Take the columns you need.

Paste delimited rows and keep only the fields that matter — in the order you choose. Quoted commas, headers, and missing cells are handled locally.

  • Free to use
  • CSV aware
  • Runs locally
Live workbench5 rows · 1 columns
Extracted columns

What the selector means

comma detected

Columns are numbered from 1. A negative number counts from the end of the row, so -1 is the last field. You can list several columns separated by commas or spaces, and reorder them by changing the order of the numbers.

Quoted fields are supported for comma, tab, semicolon, and pipe input. A multi-character custom delimiter is split literally and does not treat quotes specially. Missing fields are returned as empty cells rather than guessed.

5 rows out1 columns kept0 missing cellsComma delimiterParsed locally · never uploaded

What it does

A delimited column extractor turns a table-shaped block of text into a narrower table. You name the fields you want, and the tool returns one row per input row with just those fields. It is the browser equivalent of selecting a few columns in a spreadsheet and pasting them somewhere else — without opening a spreadsheet.

The input can be comma-separated, tab-separated, semicolon-separated, pipe-separated, or split by a custom string. The output is plain text with a separator you choose. That makes it useful before a CSV import, after copying a table out of a web page, or when a log line has more fields than you need.

Delimiters and quoting

Automatic detection looks at the first few rows and chooses the most frequent candidate among tab, comma, semicolon, and pipe. It is a convenience, not a promise. If a quoted address contains several commas, the detector may still choose comma — which is correct — but a text field full of pipes can tilt the count. When the shape matters, choose the delimiter explicitly.

With quote handling on, a field wrapped in double quotes may contain the delimiter, and two consecutive double quotes inside it become one literal quote. This covers the common CSV convention. It does not implement every dialect: a backslash escape, a single-quote quote character, or a multi-character custom delimiter follows the literal path instead. If the output looks shifted, check the source for an unusual quoting style before blaming the columns.

On the output side, a selected field that contains the output separator is wrapped in double quotes, and any internal quote is doubled. That keeps a comma inside a name from looking like an extra column. Turn this off if you want a literal join for display rather than a CSV-compatible result.

Selecting columns

Fields are numbered from 1. The selector accepts a comma- or space-separated list, and the order of the list becomes the order of the output. For example, 2,1 swaps the first two columns, and 1,3 drops the middle one. Repeated numbers are ignored.

Negative numbers count from the right. -1 is the last field, -2 the one before it. This is handy for a log where the useful value is always at the end but the number of leading fields changes. A missing field becomes an empty cell and is counted in the statistics bar. If every selected cell in a row is empty and “Remove rows with no selected content” is on, the row is dropped.

Examples

Keep the name and city, drop the team
Columns: 1,3 · skip header off

Before

Name,Team,City
"Ada, L.",Research,London
Grace,Engineering,New York
Alan,Research,Manchester

After

Name,City
"Ada, L.",London
Grace,New York
Alan,Manchester

The quoted name keeps its internal comma. The team column disappears, and the remaining fields are rejoined with a comma. The header row is treated like any other row because “skip header” is off; that is why it still appears in the output.

Reorder fields for an import
Columns: 3,2,1 · output separator: tab

Before

Ada,Research,London
Grace,Engineering,New York

After

London	Research	Ada
New York	Engineering	Grace

Moving fields is the same operation as selecting them. The tool does not rename columns or add a new header. If the destination needs a header, add it there or keep the original header row and reorder it with the same selector.

Limits worth knowing

  • Plain text only. It reads pasted text, not an .xlsx workbook, a Google Sheet, or a database connection. Copy the cells as delimited text first.
  • Missing fields are not invented. A short row gets empty cells for the columns it does not have. A long row keeps its extra fields in the input but ignores them unless you select them.
  • Quoting is a convention, not a type system. A field that looks like a number stays a string, leading zeros are preserved, and a date is not reformatted. That is usually what you want before an import.
  • Multi-character delimiters bypass quote handling. If your data uses both a long separator and quoted fields, normalize the quoting first or choose a single-character delimiter.
  • Header handling is a single checkbox. It skips the first row and does not try to match column names. If the header is on row two, extract it separately.

Page updated

Questions, answered

Can I extract more than one column?

Yes. Enter a list such as 1,3,5 or 1 3 5. The columns are returned in the order you list them, so 3,1 puts the third field before the first. Duplicate numbers are ignored.

What does a negative column number mean?

It counts from the end of the row. -1 is the last field, -2 is the one before it, and so on. That is useful when a row has a varying number of leading fields but a predictable suffix, such as a timestamp or a status code.

Does it understand quoted CSV fields?

Yes, for comma, tab, semicolon, and pipe input. A quoted field can contain the delimiter, and a doubled quote inside a quoted field is treated as one literal quote. A multi-character custom delimiter is split literally and does not get quote handling.

Why is the detected delimiter wrong?

Automatic detection looks at the first few rows and prefers the character that appears most often. A text field that contains many commas can confuse it. Choose the delimiter explicitly when you know it. The detected character is shown in the statistics bar.

Does it drop the header row?

Only if you turn on “Skip the first row as a header.” Otherwise the header is treated as data. For a one-off extract, keeping the header can be useful; for an import, you usually want to skip it or map it separately.

Is my spreadsheet uploaded?

No. The parsing and extraction happen in this browser tab. Paste the rows, copy the result, and close the page. There is no file upload, account, or stored copy.

All tools →