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.
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.
2. Review every change
Nothing approved yet.
Nothing is applied to your file until you approve it, and your original file is never modified.
Proposed changes
Original Proposed
Duplicate clusters
Merge or keep both
Want this on every file, and on bigger ones?
The free try is one file of your own. The Analyst plan cleans as many files as you need, up to 25MB and about 100,000 rows each, for $59 a month or $348 a year.
3. Take the result
The cleaned CSV contains only the changes you approved. The log lists every change, approved or not.
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.
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.
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 toolsIt 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.
Questions about data hygiene
How often should a list be cleaned?
Does cleaning remove people who unsubscribed?
What is the difference between data hygiene and email verification?
Can data hygiene software find duplicates that have different emails?
Will a hygiene pass fix invalid email addresses?
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-serveOne person with files to clean, as many as they like.
$29$59/mo
Billed $348 a year Billed 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)
- 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.
Related pages
- Data Deduplication Tools for CSV and Excel
- CRM Data Cleansing Before Import or Migration
- Data Cleaning Software for CSV and Excel Files
- Address Standardization and Cleansing Software
- Fuzzy Matching Tool for Names and Companies
- Data Quality Tools and Software Compared
- Entity Resolution Software for Customer Records
- Excel Data Cleaning Tool Without Formulas
- Data Cleaning Services vs Doing It In House
- Salesforce Deduplication and Data Cleaning Tool
- HubSpot Deduplication to Merge Duplicate Contacts
- Zoho CRM Deduplication to Merge Duplicate Contacts
- Pipedrive Duplicate Contacts Deduplication Tool
- NetSuite CSV Import With Clean and Deduped Files
- Data Scrubbing Software and Tools for CSV Files
- Mailchimp Duplicate Contacts Across Audiences
- Constant Contact Duplicate Contacts and Emails
- Klaviyo Duplicate Profiles and Merge Profiles
- ActiveCampaign Duplicate Contacts and Merge Contacts
- QuickBooks Online Merge Vendors and Customers From One List
- Merge Customers in QuickBooks Desktop and Merge Vendors
- Salesforce Merge Accounts in Bulk from One Reviewed List
- Salesforce Merge Contacts and Merge Leads From One Reviewed List
- HubSpot Merge Contacts and Companies From a Reviewed List
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.