CSV Column Extractor

Paste CSV, tick the columns you want to keep, reorder them, and get a clean CSV with everything else stripped out — the fastest way to remove sensitive fields before sharing a file. Runs entirely in your browser.

csv-column-extractor · runs locally

Strip sensitive columns before a CSV leaves your hands

The most common reason to extract columns from a CSV is not analysis — it is redaction. An export from your CRM or database has the four columns a colleague needs and six they must not see: salaries, emails, internal IDs. Because this tool runs entirely in your browser, you can drop those columns locally and share only the result; the original file is never uploaded anywhere.

Paste the CSV, untick the columns to drop, and reorder the survivors with the arrow buttons — the output updates live, and the stat strip confirms how many columns and rows made it through. The parser handles quoted fields, embedded commas and newlines (RFC 4180), the delimiter is auto-detected with a manual override, and ragged rows are padded with empty cells instead of breaking the output.

How to extract columns from a CSV

  1. Paste the CSV — every detected column appears with a checkbox.
  2. Untick columns to drop; use ↑ / ↓ to set the output order.
  3. Leave First row is a header on so the header travels with the data.
  4. Copy the result or download it as a .csv file.

What to do with a single extracted column

Extracting one column is often the first step of something else: reduce a file to just its ID column and the CSV to SQL IN Statement tool turns it straight into a WHERE clause. Extracting the key columns first also makes deduplication cleaner — drop the noisy timestamp columns here, then run the result through the CSV Duplicate Remover.

Frequently asked questions

Is this safe for CSVs with sensitive columns?

Yes — that is the main use case. Everything runs in your browser; the file is never uploaded, so you can strip salary, email or ID columns from a customer export before sharing it without the original data touching any server.

Can I change the column order, not just drop columns?

Yes. The ↑ and ↓ buttons move a column within the output order, and the result updates live. Kept columns are emitted exactly in the order shown in the list, regardless of their position in the original file.

What happens with ragged rows that have missing cells?

Rows shorter than the widest row are padded: a missing cell becomes an empty string in the output rather than shifting data sideways or crashing. Extra-long rows contribute additional columns, which appear in the list as Column N.

Does the header row get extracted too?

Yes. With the header checkbox on, the header row is carried through with the same columns selected, in the same order, so the output is immediately usable. The checkbox also controls whether column names in the list come from your header or are generated as Column N.