Inkwell Data / Join two CSV files

Join two files on a column

Add your main file and the file to join, such as orders and a customer list. Pick the matching column in each and tick the columns to bring over. Keep every row or only the ones that match. Big files are fine, and the result can go on through more steps.

  1. Add both files
  2. Check the match
  3. Download
How it works ↓
1 Add your files
Drop up to five files here, or click to choose CSV, Excel, JSON, Parquet, XML, YAML or PDF tables · big CSVs welcome · stays on your device

    How it works

    1. Add the main file first (for example Orders), then the file to join (for example Customers).
    2. Check the join: the matching columns are guessed from their names. Tick the columns to bring over and click Add step.
    3. Run it and download. Matching ignores upper/lower case and extra spaces. Each row takes the first match.

    Questions

    Is this like VLOOKUP or a SQL join?

    Yes. Keeping every row is like VLOOKUP or a SQL LEFT JOIN; ticking Keep only rows that have a match is like an INNER JOIN.

    Are my files uploaded anywhere?

    No. Every file is read and processed by your own browser. Big files are worked through a piece at a time inside this tab, and the built-in DuckDB engine that sorts and de-duplicates them runs here too. Nothing is sent to a server.

    How big can the files be?

    CSV and TSV files of hundreds of megabytes or millions of rows work: while you build, you see the first 5,000 rows, and running the pipeline processes every row in the background. On a typical laptop 1.5 million rows take well under a minute. Excel, JSON and Parquet files are read whole, so keep those under about 80 MB.

    What's the difference between the list and the diagram?

    Nothing but the view. The list is the simple way: steps run top to bottom. The diagram draws the same pipeline as boxes and lines, which you can drag around. Switch any time; the pipeline doesn't change.