Skip to content
DataUntangler

Data hygiene that survives contact with a real list

Data hygiene is the routine work of keeping records accurate, consistent and free of duplicates. In practice it is four jobs: remove the repeats, standardize the formats, repair the damaged values, and be able to show what you changed.

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 or invalid 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 data hygiene

What a dirty list costs before anyone notices

A duplicate contact is not one wasted email. It is a second touch that reads as carelessness, a double count in the pipeline, a lead score split across two records, and an unsubscribe that only applies to one of them. In an email platform the cost is literal: Mailchimp bills one address once for every audience it sits in, which is the case covered on Mailchimp duplicate contacts. Constant Contact bills differently, on the highest active contact count you reach, so there the moment to dedupe is before the import, as laid out on Constant Contact duplicate contacts.

Format problems are quieter and worse. A date column with three formats in it will sort wrongly and nobody will question the chart. A ZIP code that lost its leading zero fails address validation in a batch you already paid for.

A hygiene pass that takes minutes

Dedupe on more than email

Imports and trade show lists arrive without an email column. Match those rows on name and company as well.

Normalize before you compare

Trim, fold case, strip invisible characters. Half the duplicates disappear at this step.

Fix dates to one format

ISO 8601 sorts correctly everywhere and removes the day-first or month-first argument for good.

Repair encoding damage

Names with accents are the first thing a bad export breaks, and the people whose names they are do notice.

Keep the evidence

Export the change log with the cleaned file so the next person knows what was done.

Make it a habit, not a rescue

The cheapest time to clean a list is before it is used, not after a campaign goes out. Cleaning on a schedule, or at the moment of export, keeps the problem small enough to review by eye.

The rules are the same on every run, so the same cleanup happens every time rather than being reinvented by whoever has the file. On a contact list the two rules that carry most of the benefit are data deduplication and address standardization, both run on the export rather than inside the CRM.

A hygiene pass on a real signup list

We ran the engine on a ten row signup list put together from two web forms and a trade show scan, the way most marketing lists are built. It found four duplicate pairs and proposed thirteen field fixes, and every one of them waited for approval.

The fixes were the usual damage. An email typed with a leading space and capitals was trimmed and lowercased. A first name exported as Renée was repaired to Renée. Connecticut, Ore., mass and Fla became CT, OR, MA and FL. Two ZIP codes that had lost their leading zero, 6103 and 2116, came back as 06103 and 02116. Four date formats in the Signup Date column (2025-03-02, 3/2/2025, Apr 9 2025 and 05/30/2025) were brought to one.

Two problems were flagged rather than fixed, which is the right call. The address sam.patel@gmail has no domain ending, so it was marked as an invalid address shape and left for a person, and one Greg Hollis row had no email at all. That second row still joined its pair, because Hollis Plumbing LLC and Hollis Plumbing match on name and company once the suffix is ignored. Matching on more than the email column is the whole point of CRM data cleansing.

When two copies disagree on opt in

The most important pair in the run was the least dramatic. Nina Park appeared twice with the same email and the same signup date, but one row said Opt In No and the other said Yes. A tool that deletes repeats on sight keeps whichever row comes first, and you find out which consent survived only when somebody complains.

Here the disagreement lowered the pair from high to likely confidence, so it could not slip through with the confident groups. The kept row carried its own value, and the other value was written into an added column, other_opt_in, and into the audit log. Your sending platform still decides who is suppressed. What the hygiene pass guarantees is that a consent value is never silently overwritten by a merge.

Data hygiene tools compared

List hygiene is sold by three kinds of vendor, and they do different jobs. Most teams that send at volume end up using two of them, in this order: fix the file, then verify the addresses, then send.

Email verification service Built in cleanup in your sending platform File level hygiene (this tool)
Checks if a mailbox exists Yes Through bounces after the send No, flags bad address shapes only
Finds duplicates beyond the same email No No, one record per email Yes, name and company too
Fixes states, ZIP codes, dates, encoding No No Yes, as reviewed proposals
Keeps conflicting consent values visible No Keeps the platform record Yes, in other_ columns and the log
When to run it Before a cold or old list goes out Continuously On every export and before every import

Category level comparison. Verification and file cleanup solve different problems and are usually run one after the other.

Who pays for data hygiene software

The buyer is the person whose name is on the send or the import: a marketing ops manager whose platform bills per contact, a RevOps lead loading event lists into a CRM, or an agency that receives a client list and has to hand back a clean one with proof. They need the list fixed before a deadline and a log that shows what was changed.

The Analyst plan runs unlimited files of up to 25MB each, and Enterprise puts several people on one invoice with a DPA. See pricing, or run the demo above on your own export. Nothing leaves your browser in the demo.

03 Read it off a real file

What a hygiene pass found on a real ten row signup list

Rows Problem What the engine did Needs a look
2 and 3 Same person, email in capitals with a leading space Email trimmed and lowercased, pair proposed on the email No
4 and 5 Name exported as Renée, state written Ore. Encoding repaired to Renée, state to OR, pair proposed No
8 and 9 One copy has no email, the other has Hollis Plumbing without LLC Pair proposed on name and company Yes, signup dates differ
10 and 11 Same email, Opt In No on one copy and Yes on the other Pair proposed, both values kept Yes, consent differs
6 sam.patel@gmail Flagged as an invalid address shape, not changed Yes
3 and 7 ZIP 6103 and 2116 Padded to 06103 and 02116 No

Row numbers count the header as row 1. Nothing is applied until you approve it, and every approved change is in the CSV audit log.

04 The rescue clean

Why the list is only ever cleaned in an emergency

Hygiene that happens once, under deadline, is not hygiene. It is a rescue, and the same rescue is needed again next quarter.

Data deduplication tools

It happens the week of the campaign

The list is cleaned under time pressure by whoever is free, which is the worst moment to be making judgement calls about who is who.

Nothing changed upstream

The next export carries the same duplicates, the same three date formats and the same broken characters, because the source that produced them was never touched.

The rejected rows are gone

A destructive clean keeps no record, so the same rows get found, argued about and deleted again the next time around.

What a habit looks like instead

A pass that takes minutes, runs on every export as it arrives, and leaves a log you can put next to last month's.

05 Before you run it

Questions about data hygiene

How often should a list be cleaned?
Before any send or import, and on a schedule for lists that keep growing. Contact data decays continuously as people change roles and companies.
Does cleaning remove people who unsubscribed?
No. Suppression is a separate job that belongs in your sending platform. This tool works on the shape and consistency of the data, and when two copies of a contact disagree on opt in, it keeps both values visible instead of choosing one for you.
What is the difference between data hygiene and email verification?
Verification checks whether each mailbox exists. Hygiene fixes the file itself: duplicates found on name and company as well as email, broken characters, states, ZIP codes and dates. Run hygiene first, so you do not pay to verify the same address twice.
Can data hygiene software find duplicates that have different emails?
Yes. In our test list a row with no email joined its pair on name and company, with LLC ignored. Pairs held together only by a name and company are flagged for a look, because two people can share a name.
Will a hygiene pass fix invalid email addresses?
It fixes formatting, such as spaces and capitals. An address that is malformed, such as one with no domain ending, is flagged and left alone, because guessing the right domain would put a stranger on your list.
06 What it costs

Plans for when the file is bigger than the demo

Yearly billing saves 50 percent. There is no free plan, and no card is needed to use the browser demo above.

Yearly billing saves 50 percent, half the monthly price.

Switch to yearly and save 50 percent.

Analyst

Self-serve

One person with files to clean, as many as they like.

$29$59/mo

Billed $348 a year Billed monthly

Buy Analyst, yearly Buy Analyst, monthly
  • Unlimited files
  • Files up to 25MB, about 100,000 rows
  • Exact and fuzzy duplicate detection
  • Dates, numbers, currencies, encoding and casing fixed
  • Every change reviewable before you download
  • Cleaned CSV and a change log, both downloadable
  • Runs in your browser: files never leave your machine
  • Email support

Enterprise

Several people on one invoice, a DPA on request, priced per seat.

$49$98/seat/mo

Billed $588 a seat a year, from 2 seats ($1,176) Billed monthly per seat, from 2 seats ($196)

Buy Enterprise, yearly Buy Enterprise, monthly
  • Everything in Analyst
  • Several people on one invoice
  • DPA on request
  • Invoicing and purchase orders
  • A named contact for support

Payment is by card through our payment provider, monthly or yearly, and you can cancel from your account at any time. The free try is one file of your own, up to 5MB, in the browser demo. Already paid? Sign in.

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