What This Tool Does
Find and Replace in CSV searches selected columns in CSV or TXT content and replaces matching values. Choose literal matching or JavaScript regular expressions, review the result, and export the processed CSV or complete change log.
Paste CSV text, or drop in a file, then choose the columns, matching options, and replacement. As you enter a find value and change options, the tool reports the transformation and highlights changed cells in the result preview.
How to Find and Replace Text
- Add your file: Paste CSV content, drop a file, or click browse files. The file picker accepts
.csvand.txt. - Set the values: Enter the search value in Find and the new value in Replace with.
- Choose columns: Check the columns to search. Unselected columns pass through unchanged. If First row is a header is unchecked, columns are labeled Column 1, Column 2, and so on; when it is checked, detected header values are used where available.
- Run it: Enter a find value; the result updates automatically as you change matching options.
- Review and export: Check the statistics, Affected cells, and Preview of result. Click Export CSV for the processed file or Export Change Log for the complete list of changes.
Processing stops with an alert when the input is empty, Find is empty, no columns are selected, or the regular expression is invalid.
Matching Options and Column Scope
- With Use regular expression unchecked, the tool uses literal substring matching. Case-sensitive controls whether letter case must match.
- Match whole cell only replaces a value only when the complete cell equals the search value. It applies to literal matching.
- Use regular expression uses JavaScript regular-expression syntax, including capture groups. Reference captured groups in Replace with with
$1,$2, and so on. - Regex mode automatically disables Match whole cell only, because the pattern controls the match scope.
- Only checked columns are searched. Other columns remain unchanged.
Review Results and Export Files
The result shows Cells scanned, Cells changed, Rows affected, and Columns searched. The Affected cells table lists row, column, before, and after values, and changed cells are highlighted in the Preview of result table.
The result preview shows the first 100 output rows. The on-page Affected cells table shows up to the first 500 changes when more exist. Export Change Log includes the complete change list, including changes beyond the visible table.
CSV Parsing and Practical Limitations
The parser accepts comma-separated input only; there is no delimiter selector. It handles quoted commas, escaped double quotes, and line breaks inside quoted fields. This tool changes values you specify in selected columns; it does not repair general file structure. The page does not state browser-support or file-size thresholds.
Processing and Privacy Context
The selected file is read with FileReader, and downloads are created with Blob in the browser. The page also loads analytics and subscription-related scripts, so the local file-processing behavior does not establish a page-wide claim that nothing is sent to a server.
Frequently Asked Questions
How is this different from the CSV Cleaner?
CSV Cleaner repairs file structure - delimiter, quoting, ragged rows, empty rows/columns - without changing field values. This tool does the opposite: it applies an intentional value transformation, replacing text you specify across the columns you choose.
Can I limit the replace to certain columns?
Yes. After loading your file, check or uncheck columns in the column picker. Only checked columns are searched; other columns pass through unchanged.
What does whole-cell matching do?
Whole-cell matching only replaces a cell when its entire value equals the search term exactly, rather than replacing a substring anywhere inside the cell. It is disabled when regular-expression mode is on, since a regex already controls the match scope.
What regular-expression syntax is supported?
Standard JavaScript regular-expression syntax, including capture groups. Reference captured groups in the replacement using $1, $2, and so on.