Merge CSV files
Combine several CSVs into one, matching columns by name.
Fill in the fields above and the result appears here — nothing is sent anywhere.
How it works
Columns = the union of every file's headers, in first-seen order · rows keep their own file's values, matched by header name
Files are matched by COLUMN NAME, not by position. Position-matching is what a quick script does and it silently puts one file's revenue under another's cost the moment an export has an extra field — a mistake that survives all the way into a report because both columns hold plausible numbers. A column a file does not have comes through empty rather than shifting everything after it. The delimiter is detected per file, counted outside quoted fields, so a semicolon export with commas inside its address column is read correctly.
This tool runs entirely in your browser. Nothing you type is sent to a server, stored or logged.
Frequently asked questions
- What if the files have different columns?
- You get the union of them. Every column that appears in any file becomes a column in the output, and rows from a file that lacks one get an empty cell there rather than having their values shifted along.
- Does column order matter?
- No, and that is the point. Matching is by header name, so a file whose columns are in a different order merges correctly. Output order is first-seen: the first file's columns lead.
- Are my files uploaded?
- No. They are read by the browser, merged in memory and handed back as a download. No request is made at any point — this is the kind of job that never needed a server.
- Will Excel open the result correctly?
- Yes. The download carries a UTF-8 byte-order mark, which is what stops Excel rendering accented characters as mojibake — the single most common complaint about any CSV export.