Early access — free to use

Clean lists. Fewer bounces. Better sending.

cleanify checks syntax, DNS, MX records and live SMTP for every address — one at a time or 50,000 in a CSV — and tells you honestly when a mailbox can't be confirmed.

Private by architecture Honest verdicts, evidence attached
Early accessJoin before launch and your plan keeps this launch price for as long as you stay subscribed.

Free during early access — no card, no trial clock.

Results previewcrm_export_2026-08.csv
120All rows
80Valid
13Invalid
14Risky
13Unknown
maya.okafor@brightloom.ioValidMailbox is reachable and accepts mail.
billing@northgale.comRiskyRole-based address detected.
kfoster@gmail.cmoInvalidThe domain does not accept email. Try gmail.com?
ops@quietharbor.netRiskyCatch-all domain: individual mailbox unconfirmed.
s.varga@mailfleet.gmbhUnknownServer answered too slowly; retry is free.

why clean lists pay

Every dead address costs you twice — the send, and the reputation.

Protect your sender reputation

Mailbox providers watch your bounce rate, and one dirty list can hurt every send after it. Catch dead addresses before they count against you.

Stop emailing the void

Dead addresses skew your open rates, waste your sends, and bury real replies. Cut them before the campaign — not after the damage report.

Verdicts, not vibes

Every address comes back Valid, Invalid, Risky, or Unknown — with the exact reason. No black-box quality score to squint at.

the workbench — three views

The cleanify upload card: a CSV dropzone with the 25 MB and 50,000-row limits stated next to it

Bulk verification

Drop a CSV. Pick the column. Go.

  • Up to 25 MB and 50,000 rows per job
  • Email column detected automatically — override anytime
  • Every other column preserved, untouched
The cleanify jobs list showing a queued job and a running job with a live progress bar and exact row counts

Background jobs

Jobs mind themselves.

  • Real SMTP checks take time — jobs run for hours without you
  • Live progress with exact counts, never invented ETAs
  • Close the tab; the job keeps going
The cleanify single-check console with an email field and a Run check button

Single checks

Check one address in seconds.

  • All eight evidence signals: syntax, MX, SMTP, deliverability and more
  • Typo corrections suggested, applied with one click
  • Honest Unknowns when a mailbox can't be confirmed

the operators

Built for the people who hit send.

For marketers

Ship campaigns that land

Clean the list before the send, and stop explaining bounce spikes after it.

For founders

Trust your signup sheet

Waitlists collect typos and throwaways. Know which signups are real people.

For agencies

Reports you can stand behind

Hand clients verdicts with reasons — evidence, not a mystery score.

how results work — verdict table

Four verdicts. No promises we can't keep.

Every row gets one verdict and the reason behind it. We don't promise zero bounces — a Valid result means the mailbox accepted our check at that moment.

VerdictMeansExample reason
ValidReachable and accepted at check time. Not a delivery guarantee.Mailbox is reachable and accepts mail.
InvalidStrong negative evidence — syntax, domain, or mailbox.The domain does not accept email.
RiskyReachable, but with risk signals worth reviewing.Role-based address detected.
UnknownInconclusive. Neither valid nor invalid — and never counted as clean.The mailbox could not be conclusively verified.

export specimen

Your columns come back. Ours are appended.

The export contains every Valid row from the complete job — not just the page you're looking at. Accepted corrections replace the address, and three metadata columns are added at the end.

email,first_name,company,validation_status,validation_reason,suggested_correction
maya.okafor@brightloom.io,Maya,Brightloom,valid,Mailbox is reachable and accepts mail.,
kfoster@gmail.com,Kai,Fernworks,valid,Mailbox is reachable and accepts mail.,kfoster@gmail.com

security model — section through the service

security model

Your workspace stays yours.

Accounts, sessions, checks and jobs are isolated per user. The verification credential lives only on the server — the browser never sees it.

Browser → web appAuthenticated form request; no provider secret.
Web app → engineThe server-only boundary carries the verification credential.
DatabaseHashed passwords and session tokens; every row is scoped to your account.
LogsNo passwords, tokens or secrets.

Questions people actually ask

How long does a list take?

Real SMTP checks take seconds per address, so large lists run for hours in the background. Your job keeps going when the tab closes.

What does Unknown mean?

The check finished but the evidence was inconclusive — common with catch-all domains. Unknown is never treated as clean, and only checks that failed to run can be retried.

What happens to my columns?

Everything you upload is preserved. The export appends validation_status, validation_reason and suggested_correction at the end.

What exactly is exported?

Every Valid row from the complete job — not just the page you're viewing — with accepted corrections applied to the address column.

Who can see my lists?

Only your account. History is user-scoped and the verification credential exists only server-side.

From the community

Why people vouch for it

Five out of five, from 6 people who use it

Most verification tools hand you a confidence score and hope you don't ask how it was calculated. This one shows the evidence and admits when a mailbox can't be confirmed — that's a much harder product to build and a much easier one to trust.
Thomas BiancaInvestor
The Unknown verdict is the part that convinced me. Every other tool I've used quietly folds those into 'deliverable' so the summary looks better, and you find out the truth when the campaign bounces.
Dr. James MiloMarketer
Having the reason next to every address changes the conversation. I can explain to a client exactly why a contact was dropped instead of pointing at a number nobody can interrogate.
Dalphine HicksMarketer
Upload, pick the column, come back later — and the export still has all my original columns in it. That last part sounds small until you've spent an afternoon reassembling a spreadsheet.
FranMarketer
Our waitlist collected typos and throwaway addresses for a year before anyone looked at it. Being able to see which signups are actually reachable — and why the rest aren't — changed how much I trust that number in a board deck.
Dr ShivStartup Founder
Cleaning the list before the send is the whole point. I would rather find the dead addresses myself than have a mailbox provider find them for me and take it out on my sender reputation.
DavidMarketer

Your next campaign deserves a clean list.

Free during early access, and your launch price is locked if you join before billing turns on. Upload a CSV and watch the evidence come in.

Sign in