Skip to content
Datauntangler

No card required. The browser demo is free to use.

Fuzzy matching that shows you every match before it merges

Fuzzy matching finds records that mean the same thing but are not spelled the same way. Acme Corp and Acme Corporation. Tom OBrien and Thomas O Brien. Datauntangler runs that matching in your browser and lists every pair it found, so you decide what merges.

In-browser your file never leaves your computer

Every row proposed to you before it is applied

CSV log of what you approved and rejected

Clean a file
01 Try it on this page

Load a messy sample and watch it work

The same engine described below, running on your own machine. Nothing is uploaded and nothing is applied until you approve it.

1. Load a file

Your file is read on your own machine. Nothing is uploaded, so nothing can leak.

Or start from a messy sample

Status

Loading the sample file.

File: CRM contact export

Rows

--

Columns

--

Changes

--

Duplicate rows

--

Date formats

--

Blank emails

--

Load a file to see the diff

Drop a CSV or pick one of the messy samples. Every proposed change appears here as a line you approve or reject.

02 About fuzzy matching

Why exact matching misses most of your duplicates

An exact match compares two strings byte for byte. That catches the easy case and nothing else, because real data is entered by people. One row has a trailing space. One has the legal suffix. One was typed at a trade show booth by someone reading a business card upside down.

Fuzzy matching compares how similar two values are instead of whether they are identical. Datauntangler normalizes the value first (case, punctuation, accents, company suffixes such as Inc and Ltd), then scores what is left with edit distance and token overlap. Anything above the threshold is proposed as a match, with the score attached.

What the matcher compares

Email, exact after normalizing

Case and stray spaces removed first, so Jose.Munoz@Acme.com and jose.munoz@acme.com are one person.

Name plus company, normalized

Accents folded, punctuation dropped, legal suffixes removed, so Ferreira Group and Ferreira Group Ltd line up.

Name and company, fuzzy

Edit distance and shared tokens catch Markus Hall against Marcus Hall, or Watanabee against Watanabe.

A blocking key, for speed

Records are grouped by short prefixes before comparison, so a large file does not turn into every row compared against every other row.

Every match is a proposal, not an action

A matcher that merges on its own is a liability. The one time it is wrong, two real customers become one record and nobody can tell you which fields were lost.

Datauntangler groups the matched rows into a cluster, picks the most complete row as the one to keep, and shows you the whole cluster with the reason it matched. You merge it or you keep both. Whatever you decide is written into an audit log you can export as its own CSV. Resolving a whole cluster down to one record is entity resolution, running the same pass over a contact export is CRM data cleansing, and the data cleaning tool itself does both on the file you already have.

03 Read it off a real file

A cluster the matcher found in the sample CRM export

Row Name Company Email Matched on
10 Marcus Hall Ridgeline Partners marcus.hall@ridgeline.com Kept: most complete row
15 Markus Hall Ridgeline Partners LLC m.hall@ridgelinepartners.com Close name and company match

The emails are different, so an exact match finds nothing here. The names differ by one letter and the companies differ by a legal suffix.

04 Doing the matching by eye

What happens when the matching is done by eye

Sorting a column and reading down it works on a hundred rows. On ten thousand it fails quietly, and it fails in a way nobody notices until the number is challenged.

Entity resolution

The sort only groups what already agrees

Sorting by company puts two spellings side by side only when they start the same way. A missing accent, a leading The or a typo in the first word moves the row somewhere else entirely.

The judgement is never written down

You decided that two rows were the same person. Three weeks later the only record of that decision is a file that no longer contains one of them.

Two people give two answers

Near matches are judged case by case, so the same list cleaned twice keeps different rows and neither pass can be repeated.

What a scored match gives you instead

Every pair is compared by the same rule, scored, and shown with the reason it matched. You still decide, and the decision goes into a log you can export.

05 Before you run it

Questions about fuzzy matching

Can I change how strict the matching is?
The browser demo uses one calibrated threshold that favours precision, so it proposes fewer matches rather than wrong ones. Adjustable thresholds and saved recipes are part of the paid plans.
Does fuzzy matching work without an email column?
Yes. Email is used when it is there because it is the strongest signal, but matching also runs on name and company alone.
06 What it costs

Plans for when the file is bigger than the demo

Yearly billing is two months free. There is no free plan, and no card is needed to use the browser demo above.

Yearly billing is two months free.

Switch to yearly and two months are free.

Analyst

One ops person or analyst with files to clean.

$49$59/mo

Billed $590 a year Billed monthly

  • 50,000 rows a month
  • Files up to 25MB
  • 1 seat
  • Fuzzy matching and entity resolution
  • Reviewable diff and audit log export
  • 3 saved cleaning recipes
  • Email support

Team

Recommended

A RevOps or marketing ops team sharing the work.

$166$199/mo

Billed $1,990 a year Billed monthly

  • 250,000 rows a month
  • Files up to 100MB
  • 5 seats
  • Everything in Analyst
  • Unlimited saved recipes
  • Scheduled recurring cleans
  • CRM connectors (Salesforce, HubSpot)
  • Priority email support

Business

A data team cleaning for several departments.

$499$599/mo

Billed $5,990 a year Billed monthly

  • 1,500,000 rows a month
  • Files up to 500MB
  • 20 seats
  • Everything in Team
  • API access
  • Roles and permissions
  • Priority email support

Enterprise

A head of data who needs it defensible across the company.

Talk to sales

Custom terms, invoicing and PO

  • Unlimited rows and custom file sizes
  • Unlimited seats
  • Everything in Business
  • SSO (SAML / Okta)
  • Custom data retention
  • DPA on request
  • Named support contact
  • Invoicing and PO
  • Named onboarding

A row is one data line in a file you process, not counting the header. The browser demo is free to use and is not a plan: it reads CSV and TSV files up to 5MB on your own machine.

Clean the file, and be able to show what you changed

Try the demo on your own CSV first. It runs in your browser, it costs nothing, and no card is required.

No card required. Your file never leaves your computer.

Clean a file