What does a bulk email validator check?
A bulk email validator takes a list of addresses and reports, for each one, whether it is well formed. It checks the syntax of the part before the @, the shape of the domain after it, the total length, and whether the address repeats, uses a disposable domain or is a role mailbox rather than a person. The answer for each line is a verdict and a reason, not just a pass or a fail.
The syntax rules are precise and worth knowing. The part before the @ may use letters, digits and a small set of symbols, may not begin or end with a dot, and may not contain two dots together; it is capped at 64 characters. The domain needs at least two labels separated by dots, each label beginning and ending with a letter or digit, and the whole address must fit inside 254 characters. A malformed address will fail somewhere later anyway, usually after it has been stored.
The other three checks are judgements rather than faults. A disposable domain is legitimate to some people and worthless to others; a role address such as support@ belongs to a team, so a personal greeting reads badly there; a duplicate is not an error but costs money if a list is billed per recipient. They are reported separately so the decision stays with you, and a strict mode is available when a plain pass or fail is wanted instead.
How to check a list of email addresses
- Paste the addresses one per line. Spaces around an entry are ignored, so a column copied from a spreadsheet works as it is.
- Read each verdict: valid, risky or invalid, with the reason stated underneath when there is one.
- Use the counts to see how many addresses in the list fall into each group before acting on the results.
- Turn on strict mode to treat disposable, role and duplicate addresses as invalid rather than merely risky.
- Copy the valid addresses in one click, or take the risky ones separately to decide about them by hand.
- Download the full report as CSV when the verdicts need to be kept or shared.
Bulk Email Validator limits and rules
| Item | Limit |
|---|---|
| Input | One address per line; surrounding whitespace is ignored |
| Syntax checks | Local part, dot rules, domain labels, domain length and the 254-character overall cap |
| Disposable domains | Matched against a built-in list of common throwaway providers |
| Role mailboxes | A built-in list of common prefixes such as info@, sales@ and no-reply@ |
| Duplicates | Case-insensitive; the first occurrence is kept and later ones are flagged |
| Privacy | Checked in the page; no address is looked up, sent or logged |
| Not covered | Mailbox existence, domain mail records and any form of delivery testing |
When to use it
- Cleaning a sign-up list before an import that is billed per recipient.
- Spotting a misspelled domain such as gmial.com before it becomes a bounce.
- Separating genuine addresses from throwaway ones in a newsletter export.
- Finding role addresses that should be routed to a shared inbox rather than a campaign.
- Removing duplicates from a list assembled from several sources.
Is it private?
Every address is checked in this page against local rules and built-in lists. Nothing is looked up on the internet, no mail server is contacted, and no email is ever sent or stored.
Frequently asked questions
No. It means the address is well formed: the syntax is right, the domain is shaped correctly and it is not a known disposable or role address. Whether a mailbox actually exists is a fact held by the receiving server, and the only honest way to learn it is to send a message and watch what happens. A format check is worth doing first because it removes the addresses that could never work, but it cannot promise that the rest will.
Because that is a network lookup, and a bulk list of lookups is indistinguishable from probing. Querying a domain's name servers for its mail records is a real request made to someone else's infrastructure, one per domain, and doing it for a large list is a burden that the domain did not agree to bear. This tool is deliberately offline: it checks what can be known locally and says plainly that delivery is not something it can prove.
A provider whose whole purpose is a short-lived inbox — the kind used to receive one confirmation link and then vanish. The list here holds the common ones, and it is a heuristic rather than a directory: a domain missing from it may still be disposable, and a legitimate business can share a name with a provider pattern. That is why these addresses are marked risky rather than invalid, leaving the judgement with you.
Because they are real and reach a real inbox, but not a person. An address such as support@, sales@, info@ or no-reply@ belongs to a team, so a campaign that greets the recipient by name reads badly, an unsubscribe request may be handled by a system rather than a human, and engagement is usually lower. Marking them keeps that distinction visible instead of hiding it inside a pass, and a strict mode is there when the distinction does not matter.
By comparing the whole address without regard to case, since the local part is treated as case-insensitive by every mail provider that matters in practice. When the same address appears twice, the first occurrence is kept and the later ones are flagged as duplicates. That matters when a list is billed per recipient, when a report counts recipients, or when a campaign would otherwise send the same person two messages.
No — the checks are local and run in a single pass, so a list of thousands is handled as quickly as a list of ten. What is not offered is any lookup, scraping or domain probing, so nothing in the tool gets slower or more suspicious as the list grows. That is also the reason it is safe to run on a list you have not yet vetted, which is usually the state a list is in when it needs checking.
Related tools
Written and maintained by Md. Nur Hossain Repon.