Merge & clean CSV files

Drop in two or more CSV files. Columns with the same header are lined up, then you can trim spaces, optionally remove duplicate rows, tidy dates and amounts and drop empty rows. Preview, then download as CSV or XLSX. No sign-up.

Your file is never uploaded. Everything runs in your browser; this page makes no network requests while converting.

Drop CSV files here or click to choose (you can pick several)

.csv, .tsv or .txt; comma, semicolon, tab or pipe separated

FAQ

Are my files uploaded?

No. The files are read and merged by JavaScript in this tab. You can check this in your browser's developer tools: the Network tab shows no requests when you merge.

How are columns matched?

By header name, ignoring upper/lower case, extra spaces and punctuation, so 'Posting Date' and 'posting_date' line up. Columns found in only some files are kept, and rows from other files leave them blank.

What counts as a duplicate row?

A row whose cells are all the same as an earlier row after cleaning. This option is off by default, because repeated rows can be real, for example two identical purchases on the same day. When you turn it on, only the first copy is kept and the summary shows how many rows were removed.

How are dates normalized?

In columns whose header contains 'date', values such as 01/05/2026 or 2026.1.5 are rewritten as YYYY-MM-DD. Pick whether slashed dates are month-first or day-first. Values that can't be read are left unchanged and counted.

How are amounts normalized?

In columns whose header looks like an amount, debit, credit, balance or total, currency symbols and thousands separators are removed, (12.50) and 12.50- become -12.50, and a decimal comma can be read if you choose it. Values that can't be read are left unchanged and counted.

Should I check the result?

Yes. Look at the preview and the counts, and review the downloaded file before relying on it.