Home · Free tools · Merge CSV files

Merge CSV files

Drop as many CSV or Excel files as you like. They come back as one table, with columns matched by header name rather than by position — so a file whose columns are in a different order still lands in the right place. Download as CSV or .xlsx; nothing is uploaded.

Add files

Drop several .csv or .xlsx files here, or click to choose

    Nothing is uploaded. The file is read by JavaScript in this tab and never leaves your computer — no server sees it, and closing the tab throws it away.

    Matching columns by name is the part that matters

    Most merge tools stack files by position: the third column of every file becomes the third column of the result. That works right up until one export puts Email before Phone and another puts it after, at which point you have silently interleaved two fields and nobody notices until a mail merge goes out wrong.

    With match by header name on, the first row of each file is read as its header, and a column called Email lands in the Email column wherever it appeared. Files that contain a column the others do not simply widen the result, and rows from files without that column are left blank there. Header matching ignores case and surrounding spaces.

    Turn it off if your files genuinely have no headers, and columns will be stacked by position instead.

    Keeping track of where each row came from

    Turn on Add a "Source file" column and every row carries the filename it arrived in. When twelve monthly exports become one table, that column is what lets you find the month a bad row came from, and it is what makes a pivot by month possible without parsing dates.

    What happens to the headers, blank rows and encodings

    • The header row of the first file becomes the header of the result; the header rows of the others are consumed for matching, not repeated in the data.
    • Delimiters are detected per file, so a comma-separated export and a semicolon-separated one merge without you converting either.
    • Excel files contribute one entry per sheet, so a workbook with three sheets adds three sets of rows, each listed separately so you can remove the ones you do not want.
    • Files are read as UTF-8.

    When merging is a monthly chore rather than a one-off

    Dropping twelve files into a browser tab once is fine. Doing it every month is a process, and a process wants a tool that remembers.

    TableDI is a desktop spreadsheet workspace that runs entirely on your machine. It imports a folder's worth of exports into one table, keeps the formula columns you built on top of them, and can pull from the source directly — HTTP, a database over JDBC, or a mailbox — so next month's rows arrive without a download step. How importing works.

    Questions people ask

    Can I merge CSV files with different columns?

    Yes. With header matching on, the result contains the union of all columns; rows from a file that lacks a column are blank in it. This is usually what you want when merging exports taken at different times, since fields get added over the life of a system.

    Can I merge Excel files here too?

    Yes — .xlsx and .xlsm work alongside .csv, and each sheet of a workbook is listed separately so you can drop the ones you do not need. If you want one sheet per file rather than one stacked table, use merge Excel files instead.

    Are my files uploaded anywhere?

    No. The file is read by JavaScript running in this tab, using the browser's own DecompressionStream to unzip .xlsx and a parser that runs on your machine. There is no server call in the page — you can watch the network tab while you use it. Close the tab and the data is gone.

    How many files can I merge at once?

    There is no fixed limit — the constraint is memory, since every file is held in the tab while it works. Dozens of ordinary exports are unremarkable; a hundred files of a million rows each is not what a browser tab is for.

    Does the merged file keep formatting or formulas?

    No. Values only. Formulas are read as their last calculated result, and formatting is not carried over — the output is a clean table, which is generally what you want to load somewhere else.

    Do this on your own machine instead

    TableDI is a desktop spreadsheet workspace that runs entirely on your machine. Import the file, fix it, chart it — nothing is uploaded, and there is no account to create.

    Free forever, not a trial — no account, no card. macOS and Windows. What the paid tier adds.

    Last reviewed 2026-09-01 by the TableDI team. Something wrong on this page? Tell us — it is one inbox, read by the people who build TableDI.