Skip to content

File & Data Tools

Merge CSV files

Stack multiple CSVs into a single file. Tell the tool what to do when the headers do not match.

  • Free, no signup
  • No upload — runs on your device
  • No watermark
  • Unlimited use

Merge CSV Files

Processed locally
Drop CSV files here

two or more · drag to reorder

    Mismatched headers are the whole problem, and most tools ignore them

    Concatenating CSVs by pasting one under the other works only if every file has identical columns in identical order. In practice you are merging three months of exports and the vendor added a column in February. Naive concatenation shifts every value in the later files one column to the left, and the result looks plausible enough that nobody notices until the quarterly numbers are wrong.

    There are exactly two defensible behaviours. Union keeps every column that appears in any file and leaves blanks where a file did not have it — you keep all your data and inherit some sparsity. Intersection keeps only columns present in every file — you get a clean rectangle and silently discard February's new column.

    Union is right when the files are the same entity over time. Intersection is right when you are stacking genuinely different exports and only care about the common fields. There is no correct default, which is why this tool asks and tells you afterwards whether the headers actually differed.

    How it works

    1. Drop in two or more CSV files and drag them into order
    2. Choose Union or Intersection for the columns
    3. Click Merge and download
    Why nothing uploads. Every operation on this page happens inside your browser using JavaScript and WebAssembly. Your file is read into memory, processed, and offered back as a download. It is never transmitted. Disconnect from the internet after this page loads and the tool keeps working.

    Frequently asked questions

    What happens if my CSV files have different columns?
    You choose. Union keeps every column and leaves blanks where a file lacked it. Intersection keeps only the columns present in all files. The tool reports whether the headers actually differed.
    Does the order of the files matter?
    Yes — rows appear in file order, and you can drag the files to rearrange them. The column order follows the first file, with any new columns appended.
    Is the header row repeated for each file?
    No. One header row is written at the top of the output, and only data rows follow.
    What if two files have the same column with different capitalisation?
    They are treated as different columns, because CSV headers are case-sensitive and guessing otherwise would silently merge distinct fields. Normalise the headers first if they should match.
    Will duplicate rows be removed?
    No. Merging and deduplicating are separate decisions. Run the output through Remove Duplicate Rows if you need it.