Skip to content
Convert Filez
Data And FormatsRuns in your browser6 min readUpdated July 29, 2026

CSV Column Extractor

This CSV column extractor pulls a chosen subset of columns out of a larger CSV file, in whatever order you list them, without touching the rows those columns belong to. Paste CSV text or drop a .csv file, type the column names or numbers you want, and download a new file that contains only those fields. Unlike deleting columns by hand in a spreadsheet, this csv column extractor keeps working the same way whether the source file has five columns or five hundred.

Loading the tool interface
Files never leave your deviceNo upload wait and no queueNo signup, watermark or file limit

A CSV export from a database, a CRM or a spreadsheet rarely arrives with exactly the columns you actually need for the task in front of you. Often it has twenty columns and you need three, or the columns you need are scattered in an order that makes a report harder to read than it should be. Manually deleting the rest in a spreadsheet works for a one off file, but it is slow and easy to get wrong on anything with many rows or many columns.

The extraction happens entirely in your browser using a real RFC 4180 aware CSV parser, so a field containing a comma inside quotes stays intact through the whole process rather than being corrupted by a naive text based approach. Nothing you paste or upload leaves your device, which matters when the file being trimmed down contains customer records or other data you would rather not send anywhere.

When you should extract columns from CSV

Extracting is the right move whenever a source file has more columns than the task in front of you needs, such as pulling just the email and signup date columns out of a full customer export before importing it into an email tool, or reducing a wide product catalogue export down to just the fields a particular report actually uses.

It is also useful for reordering data without changing its content: listing the columns you want in the order you want them produces a file with those columns rearranged, even if every single one of them is being kept, which is a common enough need on its own that it does not require deleting anything at all.

  • Extract columns to trim a wide export down to only the fields a specific tool or report needs.
  • Extract columns to reorder fields without editing every row by hand.
  • Extract columns before importing a file into a tool with a fixed column order expectation.
  • Keep the full file when every column is genuinely needed downstream.

How to select csv columns by name or by index

Columns can be picked two ways, and both can be mixed freely in the same selection. Typing a column's exact header name, such as email or customer_id, selects it by matching that name in the first row. Typing a plain number instead selects a column by its one based position, so 1 always means the first column and 3 always means the third, regardless of what its header is called.

Position based selection is the one to reach for when a file has no header row at all, or when two columns happen to share the same name after an import went wrong. Name based selection is generally clearer and safer for everything else, since it keeps working correctly even if someone reorders the source file's columns later.

Column order and duplicate selections

The output columns appear in exactly the order you list them, not the order they appeared in the source file, so listing email before name produces a file with email first even if the original had name in the first column. This is what makes the tool double as a lightweight csv column selector for reordering as well as trimming.

Selecting the same column twice, whether by repeating its name or mixing its name and its index, includes it twice in the output. This is occasionally useful, for duplicating a key column for a downstream tool that expects it in two places, but it is worth checking the column list in the result if a duplicate was not intended.

Using this tool to remove csv columns instead of listing what to keep

Selecting the columns to keep is the same operation as choosing which ones to remove csv columns for, just described from the opposite direction. If a file has ten columns and you only care about three of them being gone, listing the seven you want to keep is usually faster than typing out the three you want dropped, especially once the header names are visible in the preview after loading the file.

For a file with many columns, loading it first and reading the detected header list before typing a selection avoids typos in a column name, which would otherwise silently produce an empty column in the output rather than an error, since a mistyped name simply matches nothing.

This csv column extractor resolves names and indexes in one RFC 4180 pass

The source file is parsed with a state machine that follows RFC 4180, so quoted fields containing commas, embedded newlines and doubled quote escapes are all read correctly before any column selection happens. Once every row is a clean array of fields, each requested column name or index is resolved against the header row, and a new set of rows is built containing only the requested fields in the requested order.

Because this all runs as plain JavaScript in your browser tab, there is no upload step and no server side processing queue, so a spreadsheet with hundreds of thousands of rows extracts in a fraction of a second on ordinary hardware, limited only by the memory available to the browser tab itself.

How to extract columns from a CSV file

  1. 1

    Add your CSV

    Paste CSV text into the box, or drop a .csv file onto the upload area. Nothing leaves your device.

  2. 2

    Review the detected columns

    Check the header names and positions found in the first row before typing your selection.

  3. 3

    List the columns to keep

    Type column names, index numbers, or a mix of both, separated by commas, in the order you want them.

  4. 4

    Extract and download

    Press extract, confirm the row and column counts, then download the trimmed CSV file or copy it.

Related tools worth bookmarking

Sources and further reading

Frequently asked questions

Common questions about the csv column extractor.

This csv column extractor matches the first column with that exact header text, using the same left to right search a spreadsheet's own column lookup would perform. If you need the second or third column sharing a name rather than the first, select it by its one based position instead, since index based selection always points at an exact column regardless of duplicate names elsewhere in the row.

Yes. Typing a plain number selects a column by its one based position in the source file, which is useful for files without a header row or when two columns share the same name. Name based and index based selections can be mixed freely in the same list.

Yes, and that is intentional. The output columns appear in exactly the order you list them, not the order they appeared in the source file, so this tool doubles as a way to reorder columns even when every single one is being kept.

A name that matches nothing in the header row simply produces an empty column filled with blank cells rather than an error, since the tool cannot tell a genuine typo from a column you intend to add later. Checking the detected header list before typing your selection avoids this.

Selecting which columns to keep achieves the same result as choosing which to drop, just from the opposite direction. For a file with many columns where only a few need to go, it is often faster to list the ones you want kept than the ones you want removed.

No. This csv column extractor's state machine parser and the code that resolves each requested name or index against the header row both run inside the page's own JavaScript, so a customer list keeps every byte on your device from the moment you paste it to the moment you download the trimmed result.

Keep going

More data and formats

View the full category