About the Arbitrary Column Extractor
Sometimes you only need two of twelve columns from a text export. This tool extracts the columns you choose from a table that uses any delimiter: a pipe, two colons, a tab or a word. Name the delimiter, then list the columns by number, as in 2, 1,3 or 2-4, or use last for the final column. The columns come out in the order you write them, so 3,1 swaps two columns while extracting them. It splits plain text exactly, so it is ideal for logs and legacy exports rather than quoted CSV. Everything happens in your browser, and nothing is uploaded.
Updated October 2026
How to use the Arbitrary Column Extractor
- 1Paste your table into the left box, one row per line.
- 2Type the delimiter, for example :: or | or \t for a tab.
- 3Type the columns to keep, counting from 1: for example 2 or 1,3 or 2-4 or last.
- 4Check the extracted columns and the counts under them.
- 5Press Copy or Download to take the result.
When you need only some columns
Exports often carry more columns than you need: identifiers, timestamps, internal flags. Cutting the table down before pasting into a spreadsheet or an e-mail saves time and avoids leaking data you did not mean to share. Spreadsheet programs can do this too, but only after the text has been imported with the right delimiter, which is the hard part when it is unusual.
Writing the column list
Numbers count from the left starting at 1. A list such as 1,3 picks the first and third columns. A range such as 2-4 picks three columns in a row. The word last means the final column of the widest row. Mix them freely: 1,4-5,last. Reversed ranges such as 4-2 give the columns in ascending order.
- 2 : only the second column
- 1,3 : first and third
- 2-4 : second to fourth
- 3,1 : third, then first
- last : the final column
Any delimiter
The delimiter can be several characters long, include spaces, or be written as \t for a tab. The match is exact and case-sensitive. If your delimiter occurs inside values, the table will be cut in the wrong place; choose a different one at the source if you can.
A quick example
Given rows of id, name and city separated by double colons, type :: as the delimiter and 3,1 as the columns. The result shows each city followed by its id, still separated by double colons. To get a comma-separated result, run it through Arbitrary Delimiter Changer afterwards.
Phone and computer
On a phone, paste the text, type the column list and copy the result. On a computer you can also download it. Large tables of hundreds of thousands of rows are fine.
Good to know
Row and column counts appear under the result. Short rows keep their empty cells in the extracted table so every row keeps the same width. Line breaks inside values cannot be handled, since each line is treated as one row.
Features
- Columns by number, list, range or last
- Keeps the order you type
- Any delimiter, even several characters
- Row count and column count
- Clear errors for impossible columns
- Private: nothing is uploaded
Frequently asked questions
How do I choose columns?
Type their numbers, counting from 1. Separate several with commas, use a dash for a range, and write last for the final column. For example 1,3-4,last.
Can I change the order of columns?
Yes. The columns come out in the order you list them, so 3,1 puts the third column first. You can also repeat a column.
What if I ask for a column that doesn't exist?
The tool tells you how many columns the table has instead of guessing. Rows with fewer values give empty cells for missing columns.
Does it understand quoted values?
No. It splits on the delimiter exactly. For real CSV with quoted values, use CSV Column Extractor.
Can the delimiter be a space?
Yes, type a space. For columns separated by varying numbers of spaces, convert the text with Text to CSV Converter first.
Is my data uploaded?
No. Everything runs in your browser.