Skip to the tool
ViewCSV
Files stay on your device

Rename, reorder and remove CSV columns

orders.csv· SAMPLE DATA15 rows · 8 columns

Each line is one output column, in output order. Pick the source column, or none for a fixed value; the default fills empty cells.

Result
#order_idcustomercityproductquantityunit_priceorder_datestatus
1001041Liam GarciaAustinDesk lamp6142.722026-01-09paid
2001042Mary ClarkSeattleMonitor 27"5210.762026-02-03shipped
3001043Henry TaylorDenverNotebook A51143.742026-03-25pending
4001044Lucas SmithChicagoMonitor 27"5137.002026-04-25shipped
5001045Noah DavisSeattleUSB-C cable7·2026-05-11refunded
6001046Emma WilliamsPortlandNotebook A56166.442026-06-10pending
7001047 Henry Taylor New YorkMonitor 27"757.532026-07-14pending
8001048Lucas JonesAustinDesk lamp7194.192026-08-03pending
9001049Olivia WilliamsAustinUSB-C cable5190.032026-09-07pending
10001050Mary WilsonNew YorkChair, ergonomic861.042026-01-15pending
11001051Noah WilliamsPortlandChair, ergonomic261.372026-02-25refunded
12001052Mia SmithBostonMonitor 27"5231.422026-03-09refunded
13001053Ava GarciaBostonUSB-C cable3201.242026-04-05pending
14001054Mary ClarkBostonDesk lamp535.492026-05-12pending
15001043Henry TaylorDenverNotebook A51143.742026-03-25pending

Input: 15 rows. Result: 15 rows · 8 columns.

Open or paste a CSV and each column appears as one line, in the order it will be written. To rename a column, type the new header in its Output column box; to reorder columns, use Move up and Move down; to delete one, choose Remove. Add column creates a copy of a source column or a (fixed value) column. The result updates as you edit, and Download CSV saves it with every value copied exactly. If you receive the same export every month, Save mapping keeps the layout as a JSON file that you can load on the next file. The file is processed in your browser, never uploaded.

How to rename, reorder and drop columns

  1. Open a .csv, .tsv or .txt file, drop it on the tool, or paste rows. The delimiter is detected; set it, the encoding, or First row contains column names under Import settings if needed.
  2. Edit the list: each line is one output column. Type the new header in Output column 1, Output column 2…, choose its source under From, and reorder the lines with Move up and Move down.
  3. Remove the lines you don’t need. Columns that no longer appear anywhere are listed under the list as not in the output.
  4. Check the Result tab, then select Download CSV, Copy, or Open in editor to keep working on the mapped table.

What a column mapping can do

RenameChange the Output column name. Names are used exactly as typed, including spaces and case; the source file is not changed.
ReorderThe output follows the order of the list, top to bottom.
DropRemove a line. Its column is left out of the output; other columns are unaffected.
Copy a columnAdd a second line with the same source under From, for example to keep email and also write it as login.
Add a fixed columnChoose (fixed value) under From and type a Value. Every row gets that value, for example channel = webshop. Leave it empty for a blank column a target system requires.
Fill empty cellsFor a sourced column, Value when empty replaces cells that are completely empty, such as a missing status becoming pending. A cell with only spaces is not empty and is kept.
ResetRestores the original columns, names and order.

Reuse the same layout for every export

Save mapping downloads the layout as viewcsv-mapping.json. Next time, open the new file and choose Load mapping: columns are matched by their source names, so the same layout applies even if the new export has its columns in a different order.

This helps when a system expects fixed column names, such as an accounting import, a shop upload or a CRM, and the source export names its columns differently. Source columns that the new file doesn’t have are listed after loading and turn into (fixed value) lines, so check each one and choose the right column under From.

Rules the mapping checks

  • Every output column needs a name, and names must be unique. Uniqueness is exact: Email and email are different names.
  • At least one column must remain; a mapping can produce at most 250 columns and 2 million cells.
  • The result is downloaded in the file’s own format: same delimiter, line ending, byte-order mark and encoding where the browser can write it, with minimal quoting. Other legacy encodings are saved as UTF-8. Copy always gives comma-separated text.
  • Blank or repeated headers in the source were already made unique on import (Column 3, name (2)), so you can map them like any other column.
  • Values are never trimmed or retyped: 001041 stays 001041.

Combining two columns into one, or splitting one into several, isn’t part of mapping. Do that in the CSV editor before or after mapping. To stack files that use different column names, map each to the same layout and then use Merge CSV files.

Mapping errors and how to fix them

  • Every output column needs a name. A line has an empty Output column box. Type a name or remove the line.
  • A name is used twice. Two lines have the same output name. Rename one of them.
  • A loaded mapping lists missing columns. Those source names aren’t in this file, so their lines became (fixed value) columns. A Value when empty saved with them is now written on every row. Pick the right source under From for each one.
  • The mapping file is rejected. It isn’t valid JSON, has no columns list, or lists more than 250 columns. Save it again with Save mapping.
  • The headers are Column 1, Column 2… The file has no header row, or First row contains column names is off. Type the target names in the Output column boxes.

Column mapping limits and privacy

Mapping works on files up to 25 MB, 100,000 rows, 250 columns and 2 million cells, all held in memory so the result updates as you edit. Larger files are refused; split them first with Split CSV files and apply the saved mapping to each part.

The CSV and the mapping stay in this tab; nothing is sent to a server.

Example: an order export mapped to an import layout

An order export mapped to an import layout: city is dropped, status moves up with pending as its Value when empty, the rest are renamed, and a fixed Channel column is added. The empty price stays empty because it has no default.

CSV
order_id,customer,city,unit_price,status
001041,Ana Ruiz,Madrid,34.90,paid
001042,Ben Ito,Osaka,,
CSV
Order ID,Status,Customer name,Price,Channel
001041,paid,Ana Ruiz,34.90,webshop
001042,pending,Ben Ito,,webshop

Questions and answers

Can I reuse the same column mapping for every monthly export?

Yes. Choose Save mapping once, then Load mapping on each new file. Columns are matched by source name, not position, and any that are missing are listed so you can fix them.

Does mapping change the values in my columns?

No. Values are copied exactly. The only cells that change are empty cells in a column with a Value when empty, and fixed-value columns you add.

Can I merge first and last name into one column?

Not in this tool: each output column comes from one source column or a fixed value. Combine the values in the CSV editor, then map the result.

Standards and references