LazyTools – Header
Extract Column From Text — CSV Column Extractor, Grab Column Delimited Text | LazyTools.io

Extract Column From Text — CSV Column Extractor, Grab Column Delimited Text

Extract one or multiple columns from CSV, TSV, pipe-delimited, space-separated, or any custom-delimited text. Auto-detects delimiter, handles RFC 4180 quoted fields, range notation (1-3,5), negative indexing (-1 = last), click-to-select visual table preview, per-column stats, dedup, row filtering, and 4 output formats (plain, CSV, JSON array, JSON objects).

Visual Table Picker 🔒 100% Private Auto-Detect Delimiter Quoted CSV Fields No Sign-Up
34K+monthly searches
7delimiters

Column Extractor — Extract Columns from CSV, TSV & Delimited Text

🔒 100% client-side
Input text
0 rows · 0 columns detected
Delimiter: comma , tab ⇥ pipe | semicolon ; space · colon : custom:
Click column headers to select/deselect (shows first 8 rows · max 15 cols)
Output 0 rows extracted
Per-column statistics
0Rows
0Cols detected
0Cols extracted
0Empty cells
0Output rows
4.8/5
5,624 ratings

Rate this tool

How useful was the Column Extractor tool?

Extract columns from CSV and delimited text in seconds

Auto-detect, visual table picker, RFC 4180 quoted fields, row filtering — all live in your browser.

1

Paste your data

Paste CSV, TSV, pipe-delimited, space-separated, or any delimited text. Click Auto-detect to let the tool determine the delimiter automatically, or choose manually from the chips. The visual table preview appears instantly showing your data in columns.

2

Select columns

Click column headers in the table preview to select or deselect them. Or type in the column spec: 1, 1,3,5, 2-4, 1-3,5, -1 (last), or name,email (by header name). Selected columns are shown as chips.

3

Configure options

Enable Handle quoted fields for proper CSV with fields like "Smith, John". Add a Row filter to only extract rows where a column value contains/equals/matches a pattern. Enable Dedup to remove duplicate values from the output.

4

Export your result

Choose your output format: Plain (one value per line), CSV, TSV, JSON array, or JSON objects (with header names as keys). Copy to clipboard or download as a .txt file.

Advertisement
728 × 90 — Leaderboard Ad

Frequently asked questions

Everything about extracting columns from CSV, TSV, and delimited text files.

Auto-detect analyses the first several lines of your input and counts how consistently each candidate delimiter character (comma, tab, pipe, semicolon, space) appears. A consistent delimiter appears the same number of times on every row (or nearly so). The tool picks the delimiter that produces the most consistent and highest column count. Tabs are tested first because tab-separated data is unambiguous, then pipes and semicolons (which rarely appear in data values), then commas, then spaces. If no clear winner is found, comma is the default. After detection, the matching chip becomes active and the table preview updates automatically.
RFC 4180 is the standard for CSV files. It specifies that a field can be enclosed in double quotes — and when it is, any commas or newlines inside the quotes are part of the field, not column separators. For example, the CSV line "Smith, John",45,London has three fields: Smith, John, 45, and London. Without quoted-field handling, most tools incorrectly split this into four fields at the comma inside the quotes. This tool correctly parses quoted fields, including fields that contain embedded double quotes (represented as "" inside a quoted field). When this option is disabled, the tool does a simple split on the delimiter, which is faster but breaks on data containing the delimiter inside quoted fields.
The column spec field accepts several formats: Single number: 1 extracts the first column. Comma-separated list: 1,3,5 extracts columns 1, 3, and 5. Range: 2-4 extracts columns 2, 3, and 4. Combined: 1-3,5 extracts columns 1, 2, 3, and 5. Negative index: -1 is the last column, -2 is the second-to-last — this is useful when you don't know how many columns there are. Header names: when the first row is a header, you can type column names like name,email instead of numbers. Column numbers are always 1-based (column 1 is the first column). The visual table preview also lets you click headers to build the spec interactively.
The row filter lets you filter rows before extracting. You specify a column number (or name), a condition (contains, does not contain, equals, starts with, ends with, or regex), and a value. Only rows where the specified column matches the condition are included in the extraction. For example, to extract only the email column from rows where the city is "London", set filter column to the city column number, condition to "equals", and value to "London". The header row is never filtered out regardless of the filter condition. This eliminates the need to clean your data separately before extracting — you can filter and extract in one operation.
Plain: when extracting a single column, one value per line — perfect for feeding into other tools. When extracting multiple columns, values on each row are separated by commas. CSV: proper RFC 4180 CSV with fields quoted if they contain the delimiter or quotes. TSV: tab-separated values — useful for pasting into Excel or Google Sheets. JSON array: produces an array of arrays, e.g. [["Alice","alice@example.com"],["Bob","bob@example.com"]] — useful for JavaScript code. JSON objects: produces an array of objects using header names as keys, e.g. [{"name":"Alice","email":"alice@example.com"}] — the most useful format for API consumption or database import.
When deduplication is enabled, the tool removes any repeated values from the extracted output — keeping only the first occurrence of each unique value. For a single extracted column, this means each distinct value appears once. When extracting multiple columns, the deduplication compares entire rows — a row is only kept if the combination of all extracted column values hasn't been seen before. The header row (if included) is always preserved even if its values match data rows. This is useful for getting a list of unique cities, unique email domains, or any distinct values from a large dataset without having to run a separate dedup tool.
As soon as you paste data and the tool detects columns, a table preview appears showing your data with column headers highlighted. Simply click any column header to toggle it on or off for extraction. Selected columns are highlighted in blue and also appear as removable chips below the table. Clicking a chip's × removes that column from the selection. The column spec input field updates automatically to reflect your visual selection. The preview shows the first 8 rows and up to 15 columns for performance — but the extraction itself processes all rows and columns in your data. This is particularly useful when you have many columns and want to visually identify which ones you need.

LazyTools vs other column extractor tools

How we compare on features that developers and data analysts actually need.

Feature LazyTools ✦ browserling.com miniwebtool.com onlinetools.com i2text.com
Extract single column by number
Multiple columns + range notation (1-3,5)
Extract by header name
Negative index (-1 = last column)
Auto-detect delimiter
Visual table preview + click-to-select
RFC 4180 quoted CSV field handling
Row filtering (contains/equals/regex)
Deduplication of extracted values
Per-column statistics
JSON objects output (header keys)
100% client-side, no sign-up