Loading...
Loading...
Drop multiple CSV files, validate their headers or supply your own, merge every row, analyze the columns, and download one clean CSV.
Leave blank to use the first file's headers. If filled, the count must match the file columns.
Files must include a header row. The tool checks that every CSV has the same header set before combining rows.
Everything runs in your browser. CSV contents are not uploaded.
A CSV combiner merges rows from multiple comma-separated value files into one clean table. The risky part is schema drift: one file may have different column names, missing fields, or reordered headers. This tool validates the header row in every CSV before combining anything, or lets you supply custom headers when the files are data-only exports. If all files share the same normalized header set, rows are aligned into the first file's column order. In headerless mode, rows are aligned to your custom headers and rejected if they contain extra cells. The analysis panel then profiles each column so you can quickly spot numeric fields, date ranges, missing values, and frequent categories before opening the result in a spreadsheet.
Select two or more CSV files and choose whether the first row contains headers.
The tool trims and normalizes header names, rejects empty or duplicate headers, and checks every file against the first CSV. For headerless files, enter one custom header row first.
Check file counts, row totals, numeric summaries, date ranges, missing cells, distinct values, grouped counts, and the row preview.
Export one merged file in first-file column order. Keep source columns enabled when you need traceability.
For each file: headers = trim(first_row) normalized = lowercase(collapse_spaces(headers)) reject empty headers reject duplicate normalized headers For files 2..n: normalized_headers must equal file_1 normalized_headers as a set rows are written in file_1 header order
Matching by normalized header set allows files with the same columns in a different order while still preventing accidental merges between incompatible exports. Output columns follow the first file unless you provide custom output headers. For headerless files, custom headers define the output schema and rows with extra cells are rejected.
Reference: RFC 4180 - Common Format and MIME Type for CSV Files
| Input files | Result |
|---|---|
Three bank statement CSVs with Date, Description, Debit, Credit, Balance | One combined transaction file with source_file and source_row for traceability. The analysis flags numeric money columns and the date range. |
Monthly sales exports with the same headers in different order | Rows are aligned into the first file's column order before download. Column order can differ as long as header names match after normalization. |
One file has Amount and another has Total | The tool stops and reports missing and extra headers. This prevents silent bad merges. |
Format, validate, and minify JSON with precise error line and column reporting.
Encode and decode Base64 text with optional URL-safe variant and UTF-8 support.
Split JSON Web Tokens into header, payload, and claims with readable expiry dates.
Convert between epoch numbers and dates with auto-detect for seconds vs milliseconds.
Last updated