Skip to content

Free tool

Merge CSV files into one table.

Stack two or more CSV files into a single table, including the month somebody renamed a column. Up to 20 files, 100 MB each.
Merge CSV files

Merging workbooks instead? Use the Excel merger.

What you get

Free, and it deletes your files.

This tool is the front door to Mammoth. Use it on its own, or record the mapping once and have next month's files land in the same table.

  • Free, and your files are deleted

    There is no account to create and no payment. Your uploads are deleted within the hour. An email address is asked for at the last step, once the merge has run and you have seen the result. The file is sent there, along with the occasional note about this kind of work — one click to unsubscribe.

  • Built for columns that drifted

    Most mergers assume every file holds the same columns in the same order. This one reads what each file has, matches the same column under a different name, and shows you what does not line up before it writes anything.

  • You see the table before it is sent

    The preview shows the seam where one file stops and the next begins, which is where a bad match shows first, along with any column that came back with blanks.

Try it on the files in front of you

Drop the files in, see which columns line up and which do not, then have one table emailed to you.

Doing this every month? Turn it into a pipeline that runs itself.

Make it monthly

The merge you just did by hand is two orchestrations in Mammoth: the first one is what makes it recur, the second is what does the combining. Reply to the email the tool sends you and we will set it up on your account, or do it yourself:

  1. 1

    Put the files somewhere Mammoth watches

    Upload this month's files into a folder in your workspace, or point a File Collection orchestration at the Google Drive, Dropbox, OneDrive or SFTP folder they already land in and give it a schedule. That is the part that makes it monthly.

  2. 2

    Add a Data Consolidation orchestration on that folder

    Choose the table to add to and set the update method to Combine. Every new file that lands in the folder is appended to the same table, and any pipeline on that table runs straight after.

  3. 3

    Set the column mapping once

    The mapping you settled here is the same one Mammoth keeps: which incoming column feeds which column of the table, including the ones named differently. A file whose columns no longer match is held back with a notification rather than appended crooked, which is the behaviour you want when nobody is watching.

Questions people ask

The files have different columns. Will it still work?
That is the case this is built for. It reads the columns of every file, matches the ones that are the same column under a different name, and shows you a grid of what each file fills and what it leaves blank before anything is written. Where a file has a column the others do not, you decide whether to keep it and leave blanks, or drop it.
Can I not just do this at the command line?
If your files already match, yes, and it is the faster route: `head -1 first.csv > out.csv` then tail the rest into it. That works right up to the point where one file has an extra column, or the same column under a new name, or a header row two lines down. Then it silently writes rows that no longer line up, which is worse than failing.
What comes back?
One table, either as a CSV or as an Excel workbook. You pick at the last step, and taking one does not cost you the other. Either way there is a preview of the joined table before you commit to it, and the preview shows the seam where one file stops and the next starts, because that is where a bad match shows up first.
My files are semicolon separated, not comma separated.
That is read too. The delimiter is sniffed per file from a sample of its own rows, across comma, semicolon, tab and pipe, so a European export separated by semicolons and a tab separated file can go into the same merge without either being converted first. A byte order mark at the front of the file is stripped rather than becoming part of the first column name.
The header is not on the first row. There are two title lines above it.
The header row is found rather than assumed, and whatever sat above it is kept and shown back to you, so you can see what was skipped instead of trusting that it was skipped correctly. Duplicate column names in the same file are made unique and listed, with sample values under each, because two columns called Amount are usually two different amounts.
Two of my files might be the same export twice.
The first step checks for that and says so before anything is merged, since the same rows arriving twice is easier to prevent than to spot in a joined table of 40,000 rows. You choose whether to drop one or keep both.
Do I have to give an email address?
Yes, at the last step. The merge itself needs no account and runs before you are asked. The file is sent there — that is how it reaches you now, so it has to be an address you can open. You also get the occasional note about this kind of work, with one click to unsubscribe. Your uploads are deleted within the hour either way.
I have to do this every month.
Then the merge is the small part. Doing it by hand every month means answering the same column questions every month, and nobody can say afterwards which answers were used. Mammoth records the mapping once and replays it, so next month's export lands in the same table without anyone rebuilding the steps.

Merging once is useful. Merging every month is the point.

Bring the files into Mammoth to record the column mapping once, join the result to everything else, and have it delivered on a schedule.

  • 14-day Pro trial
  • No credit card
  • Viewers always free