Text Column Extractor
Extract specific columns from CSV, TSV, fixed-width, regex or JSON data. Preview as table, re-join with any delimiter.
How to Use the Column Extractor
- Choose an extraction mode — By Delimiter for CSV/TSV, Fixed Width for positional data, Regex for pattern-based extraction, or JSON Path for NDJSON files.
- Configure the options — set the delimiter, column numbers, ranges, pattern, or paths.
- Paste your data into the input area. The preview table updates instantly.
- Choose an output delimiter to control how columns are joined in the text output.
- Copy or download the extracted columns.
Extraction Modes Explained
By Delimiter
The most common mode for CSV, TSV, pipe-delimited, and space-separated data. Specify the delimiter and a comma-separated list of column numbers (1-based) to extract. You can also specify ranges like 1-3 (columns 1 through 3) or mix both: 1,3-5,7. Enable "Has Header" to use the first row as column headers in the preview table. The delimiter can be any character including tab, pipe, semicolon, or a multi-character string.
Fixed Width
For data where columns are defined by character positions, not separators. This format is common in mainframe exports, financial data files, government data releases, and legacy system outputs. Specify column ranges as start-end pairs (zero-based, end-exclusive). For example, 0-10,10-25,25-40 extracts three columns of 10, 15, and 15 characters respectively. Trailing whitespace in each extracted value is trimmed automatically.
Regex Capture Groups
Applies a regular expression to each line and treats each capture group as a column. For example, (\d{4}-\d{2}-\d{2})\s+(.+)\s+\$(\d+\.\d+) applied to a log line like 2026-03-22 Purchase $49.99 would extract three columns: date, description, and amount. Lines that don't match the pattern are skipped. This mode is ideal for extracting structured data from logs, reports, or text with a consistent but non-standard format.
JSON Path
For NDJSON (newline-delimited JSON) files, where each line is a separate JSON object. Specify dot-notation paths to extract properties as columns. For example, name,age,address.city extracts three columns from objects like {"name":"Alice","age":30,"address":{"city":"NYC"}}. Array access uses bracket notation: tags[0]. This is useful for processing API response dumps, database exports, or log files in JSONL format.
Common Use Cases
- Extracting email addresses from a CSV with many columns
- Pulling name and price from a product export to create a price list
- Extracting date and amount columns from a bank statement export
- Parsing log files by capturing timestamps and error messages with regex
- Converting NDJSON API exports to CSV for spreadsheet import
- Processing fixed-width government data files into structured CSV
- Re-ordering columns by extracting and re-joining in a different order
Working with Large Datasets
This tool handles data up to several megabytes in your browser. For very large files (100MB+), consider command-line tools: cut (Unix) for delimiter-based and fixed-width extraction, awk for pattern-based extraction, jq for JSON processing. These stream files without loading them into memory. For files that fit in your browser, this tool offers the advantage of instant visual feedback with the table preview — making it easy to verify you are extracting the right columns before saving the result.