Remove duplicate rows and review every group first

Pick the columns that define “the same record”, choose how loosely they compare, and see each duplicate group with the row that will be kept.

Example data — not saved

Showing synthetic sample data: Deduplicate contacts. Open or drop your own file to replace it — files are read in your browser and never uploaded.

Source AUpdating…
Loading…

Arrow keys move; Enter or double-click edits a cell (recorded as a replayable “Cell edits” step). ∅ = missing, · = edge whitespace, ↵ = line break inside a value. Row labels show source:record provenance.

How matching works

In the example, “Lena Fischer” and “lena fischer” with a trailing space in the email are the same contact once case and whitespace are ignored. “Omar Haddad” appears with a double space. The step groups them and keeps the first row of each group.

Normalization affects matching only. The kept row keeps its exact original values, and removed rows are listed in the ledger with provenance, ready to export.

Fuzzy or similarity-based suggestions (for example, typos in names) are on the roadmap. They will only ever propose groups for review; they will never merge records on their own.

Questions

Can I keep the newest record instead?

Sort by your date column first, then deduplicate keeping the first or last row. The sort is stable, so ties keep their order.

What counts as a duplicate when “All columns” is selected?

Every value in the row must be equal after the chosen normalizations. Missing and empty values are treated as different from each other.

Is the removed data lost?

No. Removed rows stay in the step’s ledger. Disabling or deleting the step brings them back, and you can roll back any revision.