Bring scattered files together
Append supplier files, monthly exports, or separate batches in a chosen order. Combine multiple sources without repeated copying and pasting.

Many sources. One organized table. Align columns and append records from multiple files.
Import data, confirm the rules, review the result, and export a new copy.
Drag and drop a CSV, TSV, or delimited text file
UTF-8 · Up to 10 MB per fileExplore the available features and choose what your table needs next.
Append records from several CSV, TSV, or delimited-text files.
Use in the toolMap differently ordered columns using an explicit alignment rule.
Use in the toolPreserve values and keep duplicate-looking records unless you run a separate deduplication step.
Use in the toolRetain the source file and logical record position for each row.
Use in the toolContinue with deduplication or filtering after applying the combined result.
Use in the toolChoose the result or a report and export a fresh file without overwriting sources.
Use in the toolConfirm the input, inspect changes, and save the output you need.
Choose a CSV or TSV file, or paste a table. Check the delimiter, headers, and preview before confirming the full import.
Import at least two files, choose how columns should align, and inspect names and missing fields. Run the merge and review totals and source files.
Choose the result or report and CSV or TSV format. Review the export summary and protection count, then confirm download or copy.
Merge CSV files is the tool for stacking datasets vertically. It creates one table containing the records from the chosen sources, in the order you specify. This is useful for supplier catalogs, monthly exports, or registration batches with related structures. It is a different operation from matching identifiers and adding columns from another table. If your question is “Which price belongs to this SKU?”, use Join CSV files. If it is “Put all supplier records into one catalog”, start here.
Choose multiple files or add them one at a time. Each file receives its own parsing confirmation, because a comma-delimited export and a tab-delimited export can belong to the same task. Confirm whether the first record is a header, inspect any initial records being skipped, and verify quoted cells before accepting the import. A field containing a newline remains one cell in one logical record. The tool does not stack physical text lines or remove arbitrary lines just because they resemble a header.
Same columns, in any order requires each file to have the same set of mapped column names. Their positions may differ. The result follows the first selected table's column order, and values from later files are placed under the corresponding names. This strategy is useful when all exports should conform to one schema and you want an unexpected extra or missing field to stop the operation rather than pass unnoticed.
All columns preserves every distinct mapped name encountered across the inputs. Names from the first table appear first, followed by newly encountered names. A record from a file that lacks one of those columns receives an empty field in that position. That empty output does not prove the source contained an empty value: it may mean the source had no such column. Keep the original files or source report when that distinction matters for your review.
Only shared columns keeps names that appear in every input. Before allowing a run that would discard fields, the workbench reports which columns would be lost and requires explicit confirmation. This mode can be useful for a small common export format, but it is a deliberate information reduction. If you need the extra data later, choose All columns or download a separate copy. A result containing no shared columns is rejected rather than presented as a successful empty structure.
Open the per-file header mapping controls when two sources use different labels for the same concept. You can map Product ID in one supplier file to SKU in another. This is a statement you make about meaning; the tool does not infer it from a similar-looking name. A field called Product ID could instead be a supplier's internal identifier. Check documentation or representative records before mapping it to your catalog identifier.
Within each input, mapped destination names must be unique and nonempty. Mapping two source columns to the same target would lose a distinction, so it is blocked. Duplicate original headers also need resolution during import. You can preserve a source provenance column in the merged output. Its generated name avoids colliding with an existing user column, and each value identifies the contributing file and logical record position. File names themselves may be sensitive when the exported table is shared.
Supplier A contains SKU, Product, and Price, with records for 001 and 002. Supplier B contains Price, Product ID, and Product, with records for 001 and 003. Supplier C contains Product, SKU, and Price, with records for 004 and another 003. Confirm each file, map Supplier B's Product ID to SKU, and select Same columns. Although all three layouts differ, the merged table has six data records under one coherent header.
The repeated 001 and 003 records remain. Appending does not deduplicate or decide which supplier is authoritative. Add source provenance if you need to inspect the competing values later. Apply the merged result, move to Remove CSV duplicates, and group by SKU using Mark only or a chosen retention policy. The differences between duplicate rows remain visible there. Once the catalog is ready, compare it with a previous snapshot to examine added, removed, and modified records.
The primary-table selector chooses the first input, including the current workflow data when you are continuing a task. Additional files can be selected and moved upward in the append order. Records within each file retain their order, and files are appended in the visible sequence. That order can affect a later Keep first or Keep last deduplication step. Decide whether the sequence represents a priority before relying on it as a retention policy.
The input file report lists each contributing file and its record count. The merged output count should equal the sum of those counts, because this operation does not delete records. Header records are not included as data when correctly identified during import. A genuine data row whose values happen to spell the header names is still data and remains in the result. Inspect the first and last records around file boundaries when reviewing a merge for the first time.
Run and review creates the full merged result. Compare its column order with your destination requirements, look at empty fields introduced by the selected strategy, and check the total record count. Exporting from this page lets you choose the table itself or supporting reports. View searching does not restrict the export. CSV and TSV are both available with explicit header and UTF-8 BOM choices. Protection for formula-like values is visible and has a count, so it is not a hidden mutation.
For a multi-step task, apply the result before selecting another tool. This keeps the data in the memory session and records the merge as an ordered workflow step. You can undo the step without altering the source files. Refreshing or closing the page clears the session, so export required results before leaving. Saved rules describe configuration but do not contain the source records, and they are not a backup of the merged dataset.
Confirm each header, then choose the strategy that matches your files. The same-column strategy aligns equal mapped names even when their positions differ. Map different labels only after confirming that they mean the same thing. Use all columns when you need to preserve fields that appear in only some inputs, and review the resulting empty cells.
The strict strategy compares mapped names, not only the number of positions. Name, Price, SKU is compatible with SKU, Name, Price. Name, Cost, SKU is not automatically compatible with Price. Decide whether Cost truly has the same meaning, then map it explicitly, or use a strategy that preserves both columns. This prevents an equal-width table from hiding a semantic mismatch.
Yes, when both are valid UTF-8 delimited text and each is parsed using its own confirmed delimiter. The internal tables are aligned after parsing, so input delimiters do not need to match. The output uses the single delimiter you choose in the export dialog. Changing the interface language does not change any file's parsing settings.
Under All columns, a source with no particular field gets empty output cells for that field. This differs from a blank value inside a field the source actually provided. Inspect the source file and column mapping to identify the cause. Do not automatically fill every empty output with a value from a different record; that would be an additional transformation requiring its own rule.
No. Matching codes remain separate appended records. Use the deduplication tool to inspect repeated keys, or the join tool to add fields by a matching key. Merging, deduplication, and joining have different effects on both record count and meaning. Keeping them as separate steps makes the final result easier to trace.
Correct malformed quoting or extra fields at the source rather than skipping unexplained records. The current workbench accepts UTF-8 and imposes file, row, column, and cell limits. A combined output can exceed those limits even when each input is acceptable. Split the task into smaller coherent batches, retain a record of which sources belong to each batch, and compare the resulting counts before using them.
Start with a sample to learn the workflow, then process your own files.