Developer tools
CSV Column Tools
Select, reorder, rename and add columns. Keep text intact.
Processed in your browser
1. Input CSV data
Paste CSV, or choose a UTF-8 file.
Read CSV, or changing either option here, starts again from this input and discards previous edits. Auto-detect tries comma, semicolon, tab and pipe; check the preview.
2. Column operations
Edits apply to the current table. Columns are addressed by position, so blank and duplicate headers stay distinct.
Current columns
Select a column to add its position to the list below; select it again to remove it. Positions are used in the order you select them. Arrow keys move between columns.
Keep only the selected positions, in the order you enter. Other columns are removed.
Read CSV to see available positions.
Missing trailing fields stay missing when possible. Moving or adding cells can require empty fields before them; the result reports additions. Turn padding off to reject such edits.
3. Result preview
No result yet
Enable JavaScript to edit CSV columns.
Save the file againCopy and download include the entire current table.
Prefixing changes matching cells, including negative numbers and headers. The export reports the count. Off preserves field strings; spreadsheet apps may interpret formulas when opening them. The preview always shows the unprefixed values.
How it works
Read your CSV
Paste text or open a UTF-8 file. Choose the delimiter and whether the first row contains headers.
Edit by position
Choose an operation, select columns from the numbered list or type their positions, and apply. Edits build on the current result.
Save your result
Check the change counts, then copy the result or choose Download CSV to save the whole table.
Good to know
Text and records
Untouched field strings and row order are preserved, including leading zeroes and quoted newlines. Deleting columns intentionally discards their cells. Output quotes every field, uses CRLF between records with none after the last, and is UTF-8 without a BOM (an input BOM is dropped). A final record terminator does not add a row. When a file mixes CRLF, LF and CR record endings, each one ends a record; line breaks inside quoted fields are kept. Pasted text follows the browser’s LF convention; open a file to preserve embedded CRLF.
Browser resources
No fixed input size cap. The table and edits must fit browser memory. Processing runs in your browser. Cancel stops processing and clears all edits while keeping the source. Reset clears source too. Preview windows limit rendering, not processing or exports. Files and names are never uploaded or saved by this page.
Frequently asked questions
What does each operation change?
Keep selects columns in your listed order. Delete removes selected columns and retains the remaining order. Reorder needs every position exactly once. Rename changes one header. Add inserts the supplied value in each data row and the supplied name in the header. Duplicate appends copies in your listed order, including their header names.
Can I edit a CSV without headers?
Yes. Uncheck First row contains headers before reading. All records are data; Rename is unavailable. Add uses the constant value in every row.
What happens to short or extra-wide records?
All fields are read, including those beyond the header width. The preview distinguishes missing and empty fields. Edits retain missing trailing fields when possible and report necessary empty padding. An entirely missing projected record needs one empty field to remain a CSV record.
How do I undo edits?
Read CSV again to restore the original input and discard all edits. A rejected operation leaves the current table unchanged. There is no per-operation undo.