Free CSV tool
How to merge two CSV files by a shared column
Load both files, pick the key column on each side, and Columnwise checks the real key uniqueness against what you asserted â so a bad merge shows up as a warning before it silently duplicates your rows, not after.
Runs entirely in your browser â both files stay on your machine.
How it works
- Load both files. Drag in your two CSV/TSV/XLSX files â each becomes a named source.
- Add a join step and pick the left source and right source (already set up if you arrived here from this page).
- Pick the key column(s) on each side â the column(s) that should match between the two files (e.g. a customer ID).
- Assert the cardinality â one-to-one, one-to-many, or many-to-one. This is a claim about your data, and Columnwise checks it against the real key values before running anything.
- Review the pre-merge report â expected output row count, unmatched rows on each side, and a specific warning if your cardinality assertion doesn't actually hold.
- Confirm and run. Only then does the join actually execute.
Worked example
Merging orders with customers
orders.csv has one row per order, with a customer_id column. customers.csv has one row per customer, keyed by id. You'd expect this to be many-to-one: many orders, one customer each.
If customers.csv happens to have a duplicated id â say, from a bad export â asserting many-to-one and reviewing the pre-merge report catches it immediately, with a message like:
You asserted many-to-one but the right key has 1 duplicate value (e.g. "cust-4021") â this join will produce 3 extra rows.
Without that check, those 3 extra rows show up silently in your merged output, quietly inflating any sum or count you compute downstream.
Your files never leave your computer
Both CSVs are read with the browser's File API and joined in memory, in your tab. There's no upload step â open your browser's Network tab while you do this and you won't see a single request carrying either file's contents (the only network activity you might see at all is a Google Analytics page-view ping, if you've accepted analytics â never your data). That's the same architecture the whole free toolkit uses, not a special case for this page.
Related tools
Merge your files now
No signup, no upload â the workspace opens with a merge step ready.
Open the workspace