Free to use, no account

CSV Merge

Combine several CSV files into one table. Matching column names line up even when their order differs, and extra columns are added with blank cells where needed. Files stay in this browser.

Select 2–20 files, up to 2 MiB each and 8 MiB total. Processing stays on this device.

With headers, columns match exact names and new columns follow the order first found. Without headers, columns match by position. Formula-like headers or values are prefixed with an apostrophe for safer spreadsheet opening. Delimiters, file encoding and cell text are not otherwise normalized.

How do I merge CSV files with different column orders?

Select two or more CSV files and keep the header option on. Columns are matched by exact header text, using the first-seen order. Missing columns become empty cells; unmatched columns are added to the output.

Frequently asked questions

How do I merge CSV files with different column orders?

Select two or more CSV files and keep the header option on. Columns are matched by exact header text, using the first-seen order. Missing columns become empty cells; unmatched columns are added to the output.

Are my CSV files uploaded?

No. The selected files are read and merged locally in this browser. Up to 20 files are supported, with a 2 MiB per-file and 8 MiB combined input limit. No account or server processing is used.

Can I merge CSV files when their columns are in a different order?

Yes. With headers enabled, columns are aligned by exact header text, not position. New headers are added in the order first encountered, and missing values are left blank.

What happens if a CSV file has no header row?

Turn off the header option. Values then align by column position, and the output uses neutral names such as Column 1. Input rows with fewer cells are padded by the CSV parser.

Are formulas or spreadsheet commands changed?

Formula-like headers and values are prefixed with an apostrophe in the output CSV to reduce the risk of execution when opened in spreadsheet software. This intentionally changes those cell values.