Free tools

Disposable email checker

Check if an email address is a throwaway address, whether its domain can receive mail and if it is a typo of a popular provider. Free, no account needed.

Examples:

Free · nothing is stored · 10 checks per minute

Enter an email address or pick an example to see the result and the reasons.

What is a disposable email address?

A disposable (or throwaway) email address comes from a service that hands out inboxes for a few minutes or hours, without any signup. People use them to grab a free trial, free credits or a download without giving a real address. Scripts use them to open hundreds of accounts.

If your product gives away something valuable at signup, these addresses are where most of the abuse starts.

What this checker looks at

  • Known disposable providers: the domain is compared with thousands of known throwaway services, based on the open-source disposable-email-domains list plus our own additions. disposable_domain
  • Mail server: does the domain exist, and can it receive email at all? domain_not_found, mx_records_missing
  • Typos of popular providers: gmial.com or outlok.com instead of gmail.com or outlook.com. email_domain_typo
  • Placeholder addresses: test@, asdf@ and similar form-filler input. email_test_pattern
  • Forwarding services: aliases such as Hide My Email or SimpleLogin. Real people use them for privacy, so they are a reason to review, not to block. email_forwarding_service

What it cannot tell you

It does not check whether a mailbox at a big provider really exists. A made-up Gmail address with random letters looks valid from the outside. The reliable way to catch those is to confirm the address with a link before you unlock free credits.

Block disposable emails at signup

The checker above runs the same email check as the SignupVet API. In your signup handler it is one request:

signup.tsNode, Next.js, any backend
const res = await fetch("https://www.signupvet.com/verify/email", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.SIGNUPVET_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ email }),
});
const { recommendation, reason_codes } = await res.json();

if (recommendation === "block") return reject("Please use a permanent email address.");
if (recommendation === "review") await flagForReview(user, reason_codes);

Use /score instead to check email, phone and IP together and to catch waves of signups from the same network. See the docs and the examples on GitHub. For a step-by-step guide with code, read how to block disposable emails at signup.

Questions

Is this checker free?
Yes. It runs in your browser without an account. It is limited to 10 checks per minute, and nothing you enter is stored.
Should I block every disposable address?
For products that give away credits or trials, usually yes. If you are unsure, start by treating them as "review", for example with fewer free credits until the user confirms a real address.
What about shared mailboxes like info@?
They are flagged as a weak warning sign, not blocked. Many small companies sign up with them.

Check every signup automatically

SignupVet checks the email, phone and IP of every new signup and returns allow, review or block, with the reasons. Free for 250 checks a month, no card needed.

Get 250 free checks   Read the docs