Fuzzy Dedupe
Merge rows that are the same value wearing different clothes — "Acme, Inc." and "acme inc" collapse to one.
Merge rows that are the same value wearing different clothes — "Acme, Inc." and "acme inc" collapse to one.
Exact dedupe misses rows that differ by a stray capital, a double space, or a trailing period. Fuzzy dedupe normalizes the key column first, then drops later rows whose normalized key was already seen — so the first occurrence of each group wins.
Choose the column that identifies a row — an email, a company name, a SKU. Two rows are near-duplicates when this column matches after normalization, regardless of the other columns.
Strict ignores letter case and collapses runs of whitespace. Loose does all that and also strips punctuation, so "O'Brien" and "OBrien" or "Acme, Inc." and "Acme Inc" merge.
The first row in each near-duplicate group is kept in its original form; later matches are removed. You get a count of rows dropped and rows kept.
Real-world keys are messy. The same customer, vendor, or product shows up spelled three slightly different ways across exports. Exact-match dedupe leaves all three; fuzzy dedupe folds them into one.
Hand-typed data picks up stray capitals, double spaces, and trailing periods. Normalizing the key before comparing means those cosmetic differences stop counting as distinct rows.
Strict is conservative — it only ignores case and spacing. Loose is aggressive — it also drops punctuation. Pick the level that matches how dirty your key really is.
Rows are processed top to bottom, so the earliest version of each key survives untouched. Sort your file first if you want a particular row to be the keeper.
Everything runs in your browser with plain JavaScript. No upload, no account, no server round-trip — close the tab and the data is gone.