CSV Merger
Combine CSV tables by header name, preserve IDs and download the result locally.
This tool runs entirely in your browser. Your data is never uploaded, never stored, and never leaves your device.
CSV Merge appends rows from UTF-8 CSV files or pasted tables by exact header name, with matching-header and union-header modes that preserve string IDs and disclose absent-column fills.
How to use it
- 1Load two or more UTF-8 files, or paste into the individual table editors.
- 2Choose the shared delimiter and matching-header or union-header mode.
- 3Merge, review row counts and absent columns, then copy or download the combined CSV.
Example
- Input
- Table 1: id,name 001,Mira Table 2: city,id Delhi,002 Mode: union
- Output
- id,name,city 001,Mira,"" 002,"",Delhi
Two absent-column cells are filled explicitly; row order and leading-zero IDs remain intact.
What happens to your data
CSV reading, header mapping and export happen on your device. No source tables or merged rows are uploaded.
Last updated October 2026
Combine CSV exports into one table without losing the meaning of their columns. CSV Merge appends data rows from local UTF-8 files or pasted tables and writes one header row. Columns match by their exact header names, so a later file can put name before id without moving a person's name into the ID column.
Choose matching headers when every export should contain the same fields. Choose a union of headers when exports legitimately have different columns. Union mode shows which columns are absent in each source and how many empty cells were inserted. Existing empty values, long numeric-looking IDs, leading zeros and duplicate rows remain intact; this tool does not join records by a key or remove duplicates.
How it works
Every source first passes the strict CSV reader. Double-quoted fields can contain the chosen delimiter, escaped quotes and line breaks. Quotes inside unquoted fields, text after a closing quote, an unclosed quote or inconsistent field counts stop the merge with a source and record location. Headers must be unique and contain a non-whitespace character. Header matching is case-sensitive and retains spaces. The first record of every source is a header, including a source with no data rows.
Matching-header mode accepts the same header names in a different order and uses the first table's output order. Union mode keeps those columns, then appends newly encountered names in source order. A source missing a union column supplies an empty string for that column on each of its rows. Those inserted cells are disclosed before download. Each table's data rows stay in their original order, and the tables stay in the order shown in the editor. Repeated IDs remain separate rows.
Load multiple files to replace the current editor tables, or paste into individual tables and add another table as needed. Uploads must decode as valid UTF-8; a UTF-8 BOM is excluded from the first header and disclosed. Input accepts LF, CRLF and CR record endings. The generated file uses UTF-8, the selected delimiter and CRLF record endings, while line breaks inside quoted values remain part of those values. Empty values are quoted explicitly so an all-empty one-column record remains distinguishable from a blank separator.
Use 2–10 sources, each up to 2 MiB and 10,000 records including its header. Combined input and output are each capped at 10 MiB. Output has at most 50,000 data rows, 200 columns and 200,000 cells including the header; a wide union can reach the cell limit before the row limit. The preview shows at most 10 rows and six columns, with long text abbreviated. Copy and download contain the full result. Editing any table or setting invalidates the previous export.
CSV carries text without column types. This tool preserves 001 and 9007199254740993 in the file, but a spreadsheet can still convert them when importing it. Output values beginning with spreadsheet formula markers are counted and disclosed, including negative numbers; their text is not rewritten. Import sensitive identifier or formula-like columns as text in the receiving application. No source tables are uploaded for merging.
Worked example: Append exports with one absent column each
- Input
- Table 1: id,name 001,Mira Table 2: city,id Delhi,002 Mode: union
- Result
- id,name,city 001,Mira,"" 002,"",Delhi
Two absent-column cells become explicit empty strings; IDs retain their leading zeros.
Common use cases
- Combining monthly exports that use the same column names
- Appending regional CSV files whose column order differs
- Collecting compatible exports with optional fields into one union table
- Preparing one CSV import while reviewing which sources lack a field
Frequently asked questions
Does CSV Merge combine rows with the same ID?+
No. It appends rows and keeps duplicate IDs or identical records as separate rows. A key-based database join or a deliberate deduplication step is a different operation. Use CSV Compare by Key when you need to review changes between versions.
What is the difference between matching headers and union headers?+
Matching headers requires the same exact names in every source but allows a different column order. Union headers includes every encountered name and fills absent columns with empty cells. Review each source's missing-column list before saving the union.
Are id, ID and id followed by a space the same header?+
No. Header names are matched as exact strings. There is no case folding or trimming. Correct inconsistent names in the source if they are intended to represent one field.
Why does a malformed row stop the whole merge?+
Padding or discarding fields could put a value under the wrong header. The strict reader identifies the source record so you can fix it. No partial merged file is presented as a complete result.
Will leading zeros, long IDs or formula text survive?+
Their CSV strings survive unchanged. The tool does not execute formulas or convert numeric-looking fields to numbers. Your spreadsheet may infer types or formulas when it opens the CSV; use its text-column import setting where that matters.
Can I merge TSV or semicolon-separated exports?+
Yes. Select Tab or Semicolon for the batch. All sources and the output use that separator; the tool does not guess different delimiters for different files. Convert an inconsistent source first.
Standards and limitations
Related tools
CSV Validator
Check CSV syntax, row widths and headings without silently repairing data. Download a diagnostic report.
CSV Filter
Filter CSV rows, select output columns and download a focused table without uploads.
CSV Compare by Key
Compare CSV exports by a unique key. Preserve string IDs and inspect added, removed and changed records.
CSV to Excel Converter
Create a safe XLSX with encoding detection, typed columns, protected IDs and an optional audit sheet.