Two exports, the same information, slightly different columns, and a tool that wants you to fix the headers by hand before it will combine anything. That last part is usually where I stop using online merge tools.

The Data Studio's Merge tab in OnePassApps does the matching for you, in the browser tab. The files are read, joined and handed back to you on the same machine — the panel says so plainly: "Nothing leaves this tab." and "Processing stays in this browser."

Open the Data Studio to try it, or read the app guides for the rest of the tools.

Disclosure: I work on OnePassApps.

How the merge is laid out

The tab is four numbered steps:

  • 01 Source — the first file, in a field called "First CSV input"
  • 02 Second CSV — the second file, in "Second CSV input"
  • 03 Options — a "Delimiter" picker and the rule that governs the whole tool
  • 04 Result — "Rows, columns and any parsing issues appear here after the tool runs."

The rule is the part worth reading twice: "Both files need the same unique headers. Column order may differ; rows are aligned by header name."

That second sentence is the useful one. Your two files do not have to list their columns in the same order.

The action button is "Merge compatible CSVs". The delimiter picker defaults to "Auto detect" and offers Comma, Tab, Semicolon and Pipe; on comma-separated input it reported "Delimiter found Comma".

A run where the columns are in a different order

First file — name, role, city:

name,role,city Ada,engineer,Berlin Grace,engineer,London 

Second file — city, name, role:

city,name,role Helsinki,Linus,maintainer Berlin,Ada,engineer 

After "Merge compatible CSVs" the result panel read:

  • "Merged 2 + 2 compatible rows."
  • "4 rows · 3 columns · no parsing issues"
  • "Delimiter found Comma"
  • "Merged in 447 ms"

The preview listed the four merged rows with a detected type on every column — name TEXT, role TEXT, city TEXT — and the exported file kept the first file's column order: name, role, city. The downloaded file was a plain 136-byte CSV with every value quoted:

"name","role","city" "Ada","engineer","Berlin" "Grace","engineer","London" "Linus","maintainer","Helsinki" "Ada","engineer","Berlin" 

The second file's city/name/role order was resolved by name, and the output follows the first file's header order. So a column-order difference is not a reason to reach for a spreadsheet first.

What happens when the headers do not match

Now the interesting part, because "merge two CSVs" is usually a request and sometimes a trap. Rename one header in the second file — city becomes country — and the run stops:

  • "Could not use this data"
  • "CSV schemas do not match."
  • "Second CSV is missing: city."
  • "Second CSV has extra: country."

The message names both sides of the difference: the header the second file should have had, and the one it brought instead. The preview area says "Nothing to show yet" and "Fix the problem shown above the run action, then run the tool again."

Now try the other direction — keep all three headers and add a fourth, id — and the run is refused as well:

  • "CSV schemas do not match."
  • "Second CSV has extra: id."

That second case is the important one. Every other header matched, and the tool still refused the whole run instead of merging the three columns it could have paired and quietly dropping the fourth. If you wanted a partial join, this is not it; if you wanted to know exactly which column is in the way, this is exactly it.

It stacks, it does not de-duplicate

One more detail you will want before you rely on the output. The merge is a concatenation, not a cleanup. In the run above, "Ada" appears twice in the merged file — once from each input — and the output really does contain four rows for two files of two rows each. "Merged 2 + 2 compatible rows." is literal.

If you also need the duplicate rows gone, that is a different tab in the same studio, and it reports how many rows it removed instead of folding them together.

The limits, stated plainly

The studio's source area takes "Drop a data file, or browse CSV, TSV, JSON or YAML · up to 20 MiB · or paste rows in Source". The merge tool itself is a CSV tool: its two fields are described as "Paste the first CSV or drop a file…" and "Paste a CSV with the same headers…", and the button reads "Merge compatible CSVs".

The plan line on the page reads "FREE PROMOTIONAL PERIOD", "Standard is free right now", "$0 / month", "100,000 credits every 30 days · No end date set · No card required", and "No automatic paid subscription. Existing paid subscriptions keep their terms."

One tab of eleven

The Data Studio carries eleven tools on the same page: CSV Viewer, Sort / filter, Columns, Duplicates, Merge, Split, To JSON, JSON Formatter, Validator, To CSV and YAML. They all read the same kind of local data and none of them sends it anywhere, which makes them usable together — sort and filter first, merge two exports second, drop the duplicate rows third.

If the CSV you are staring at is sensitive, that is the part worth caring about: the work happens in the tab you already have open, and the file never travels to a server that has to be trusted with it.