CSV Joiner

Paste two delimited tables, choose a key column from each, and combine matching rows with inner, left, right, or full joins. Duplicate column names are resolved automatically. Supports CSV, TSV, semicolon, and pipe delimiters entirely in your browser.

Browser-local No signup required Utility

Join two delimited tables by matching one key column from each side. The tool supports inner, left, right, and full joins, selectable delimiters, optional case-sensitive keys, and optional trimming of key whitespace.

How to join two CSV tables

  1. Paste the left and right tables.
  2. Choose comma, tab, semicolon, or pipe as the delimiter.
  3. Select the key column for each table.
  4. Choose inner, left, right, or full join and set key matching options.
  5. Run Join, then copy or download the result.

Join behavior and column naming

Key values are converted to strings, optionally trimmed, and compared case-insensitively by default. If several right-side rows share the same key, one left row can produce multiple output rows because every matching right row is emitted.

The output keeps all left columns and all right columns except the right join key. If a right-side header conflicts with an existing output header, it is renamed with a right. prefix and then a numeric suffix if needed. Right-only rows in right or full joins place the right key value into the left key column and leave other left cells blank.

Privacy and limitations

Joining happens locally in the browser and the table contents are not intentionally uploaded. Both inputs must include a header row plus at least one data row, and malformed quoted data with an unclosed quote is rejected. Joins are exact normalized string matches rather than fuzzy, numeric, or locale-aware comparisons.

Frequently asked questions

Which join types are supported?

Inner, left, right, and full joins are available.

What if the same key appears multiple times?

All matching combinations with right-side rows are emitted for each left row.

Are join keys case-sensitive?

Not by default. Enable the case-sensitive option when needed.

Can surrounding spaces in keys be ignored?

Yes. Trim keys is enabled by default.

How are duplicate column names handled?

Conflicting right-side headers are renamed with a right. prefix and additional numeric suffixes when necessary.