Merge CSV files

Choose several CSV files (or paste CSVs separated by a line containing only ---). Columns are matched by header name, ignoring case and surrounding spaces, so files with different column orders line up; columns that only some files have are added and left empty elsewhere. Nothing is uploaded.

Frequently asked questions

Do the files need the same columns?

No. The merged header is the union of all headers in first-seen order; rows from files without a column get an empty cell.

How do I merge CSV files on the command line?

If all files have the same header in the same order: head -n 1 first.csv > merged.csv, then tail -q -n +2 *.csv >> merged.csv. This tool also handles different column orders.

Is my data sent to a server?

No. Files are read by your browser; the page has no analytics and makes no network requests with your input.