NeverUpload
Free • No sign-up • No watermark

Merge CSV files

Drop several CSVs and get one. Columns are matched by header name, the encoding is detected so accents survive, and you can force the delimiter when the file is unusual. Everything runs inside your browser.

Drag and drop your spreadsheets here

or click to select from your device

CSV • up to 30 files • add them in any order, sort them below

🔒

Processed on your device: Your spreadsheets are read in your own browser and never pass through any server.

Verify it yourself
  1. Press F12 and open the Network tab.
  2. Add a file above and run the tool.
  3. You will see the page’s own scripts, its ads and its traffic measurement — and no request carrying your file.
  4. Stronger still — and the order matters: run it once while online, then disconnect, then run it again. It still works, because by then the page already holds everything it needs.

Options

Only the first sheet of each workbook is read.

Auto reads the bytes and decides: a file that is not valid UTF-8 is read as Windows-1252, which is what most ERP and older Excel exports produce. Force one only if the preview looks wrong.

🧱 Matched by name

Columns line up by header, not by position.

🌐 Accents survive

Windows-1252 files are detected and decoded properly.

🔒 Nothing is uploaded

The files are parsed in your browser.

Why merging CSV files goes wrong

A CSV looks like the simplest format in computing and is one of the most inconsistent. There is no header in the file saying which delimiter it uses, which character encoding it was written in, or how a value containing a comma was escaped. Every program guesses, and when two programs guess differently you get a mess that only shows up after the data is already merged.

The accent problem, which is really an encoding problem

If you have ever opened an export and seen "Regi�o" where "Região" should be, that is a file written in Windows-1252 being read as UTF-8. It is the single most common CSV complaint in Portuguese and Spanish, because most ERP systems and older versions of Excel still export in the older encoding. Here the bytes are inspected rather than assumed: UTF-8 has a strict grammar, so a file that violates it is read as Windows-1252 instead. You can also force either one.

Semicolon or comma

In countries where the decimal separator is a comma, spreadsheets export CSV using semicolons, because otherwise 1,50 would split into two columns. That is why a file from a Brazilian or European system often refuses to open properly in a tool expecting commas. The delimiter is detected from the content, and you can override it when a file is unusual — a tab-separated export saved with a .csv extension, for instance.

Headers that do not line up

The real work is not concatenating rows, it is making sure the columns correspond. Pasting one export under another when the column order differs puts dates in the amount column and nothing warns you; the totals still add up. Matching on the header name removes that risk, and the flexible option additionally ignores accents, for when one export writes "Regiao" and another "Região".

Why it runs in your browser

CSV exports are how data leaves a system, which means they are usually the whole of something: every customer, every transaction, every employee. Uploading that to a web service to concatenate it is a disproportionate risk for a text operation. Here each file is decoded and parsed in memory, and the only thing that leaves is the file you download.

What the output file looks like

The merged file is written in UTF-8 with a byte order mark and semicolons as the delimiter. That combination is deliberate: the BOM is what makes Excel open a UTF-8 file with the accents intact instead of guessing, and semicolons keep decimal commas from splitting a number across two columns. If you need commas instead, choose XLSX as the output and let Excel handle the export, or open the result and save it again with the settings your destination expects.

Frequently asked questions

Nothing — detection should handle it. If a preview still looks wrong, force Windows-1252 in the encoding selector: that is the encoding most ERP systems and older Excel versions use. The output is always written in UTF-8 with a BOM, which is what makes Excel open it correctly.

Each file is detected on its own, so a semicolon file and a comma file merge together without any setting. Forcing a delimiter applies it to all of them, so only do that when detection fails.

Yes, but use the spreadsheet merger for that, which accepts .xlsx and .csv together. This page is the CSV-focused one, with the encoding and delimiter controls that only matter here.

No. They are decoded and parsed in your browser. Open the Network tab and merge: no request carries the files.