csv-column-mapper
A CSV column mapper lets you transform the column structure of a CSV β renaming columns, reordering them, dropping unused ones, and adding new constant-value columns β so you can prepare an export for a destination system that expects a specific schema without writing custom ETL code. The ZTools CSV Column Mapper offers a drag-and-drop UI for ordering, an inline rename for headers, dropdown filters for keeping/dropping columns, optional default values for added columns, and a live preview that shows how the mapped CSV will look.
Use casesβ
Adapting a vendor CSV to your import formatβ
Vendor sends columns [VendorID, ProductName, MSRP]. You import [sku, title, price]. Map columns and rename β done in seconds, no scripting.
Cleaning up a CSV before sharing externallyβ
Internal CSV has 30 columns; you only want to share 8 with a partner. Drop columns, rename remaining for clarity, send.
Adding required columns with default valuesβ
Destination expects a "source" column on every row. Add it with default value "vendor_x" β every row gets it without touching the rest of the data.
Reordering for tools that depend on column positionβ
Some imports map by column position, not name. Drag columns into the right order before exporting β saves a "wrong column got mapped" debugging session.
How it worksβ
- Paste or upload the CSV β Headers detected automatically. The mapper shows each column with its current name and a sample value.
- Pick the destination schema β Toggle each column: keep, drop, or rename. Drag rows to reorder columns.
- Add new columns with defaults β Click "Add column", give it a name and a default value. Optionally compute from existing columns (concat, default-if-empty).
- Live preview the mapped CSV β See the transformed first 10 rows in the preview pane. Catches mapping mistakes before exporting the full dataset.
- Export the mapped CSV β Download or copy. Original CSV is preserved in case you want to re-map differently.
Examplesβ
Input: Source: vendor_id,product,msrp
Output: Mapped: sku,title,price (3 columns renamed, no changes to data).
Input: Source: 30 columns, want 8
Output: Drop 22 columns; output has only the 8 chosen, in the order you specified.
Input: Add a constant "source"="acme" column
Output: Every output row gets source=acme. New column added at the position you chose.
Frequently asked questionsβ
Will the mapper modify my source CSV?
No β the original is preserved. The mapper produces a new mapped CSV; you can re-map with different settings without losing the source.
Can it merge columns or compute new values?
Limited support: concat (combine two columns into one), default-if-empty (fill blanks with a literal). For complex transformations, use a spreadsheet or scripting tool.
What if my source CSV has duplicate column names?
Duplicates are flagged. The mapper auto-suffixes them (col, col_2) so each is uniquely addressable. Rename to your destination scheme before exporting.
Does it preserve the data type of values?
CSV is plain text; there are no native types. Values pass through unchanged. If your destination expects numeric values, ensure your source values look numeric (no thousands separators, decimal-separator consistent).
Can I save a mapping for re-use?
Save as a JSON template (export from the mapper, import next time). Useful when you receive vendor CSVs with consistent shapes monthly.
Tipsβ
- Always preview before exporting β column-mapping mistakes silently produce wrong output.
- Save a JSON mapping template for recurring imports; replays the same transformation in seconds.
- For one-time complex transforms, a spreadsheet may be faster than fighting with column-mapping rules.
- Drop unused columns to reduce file size and reviewer cognitive load β smaller CSVs are easier to review.
Try it nowβ
The full csv-column-mapper runs in your browser at https://ztools.zaions.com/csv-column-mapper β no signup, no upload, no data leaves your device.
Last updated: 2026-05-05 Β· Author: Ahsan Mahmood Β· Edit this page on GitHub