npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

throwaway-email

v0.0.1-2025.7.9

Published

A blazing-fast email validator and disposable email detector, powered by automated disposable domain aggregation.

Readme

Throwaway - The Fastest Email Validator & Disposable Email Checker

GitHub Actions Workflow Status GitHub License NPM Unpacked Size NPM Version

A high-performance email validation library featuring real-time disposable email detection. Our database is continuously updated through automated aggregation of disposable domains from trusted community sources.

Currently 183,510 known disposable domains detected, this updates every week.

This project automatically maintains its disposable email domain list through workflows and scraping, but relies on open-source contributions to keep scrapers and filters up-to-date—learn how to help.

Installation & Usage

While this is primarily a Node.js package, you can also access the raw disposable domain list directly at: 📁 data/domains.txt

Installation

# make sure to use @latest since this package updates every week
npm install throwaway-email@latest

Basic Validation

import validEmail from 'throwaway-email';

// Standard validation (TLD + Disposable check)
validEmail("[email protected]")    // true
validEmail("[email protected]")    // false (invalid TLD)
validEmail("[email protected]")   // false (disposable domain)
validEmail("[email protected]")  // false (invalid local part per RFC 5322)

Advanced Options

// Disable ICANN TLD validation (still requires ≥2 character TLD)
validEmail("[email protected]", false)  // true
validEmail("[email protected]", false)    // false (TLD too short)

// Disable disposable domain check
validEmail("[email protected]", true, false)    // true
validEmail("[email protected]", true, false)  // false (invalid local part)

Parameter Reference

| Parameter | Type | Default | Description | |-----------|------|---------|-------------| | checkTld | boolean | true | Verify ICANN-approved TLDs | | checkDisposable | boolean | true | Check against disposable domains |

Benchmarking

All benchmarks were measured over 10 million runs (averaged), executing each package according to its official documentation. Tests were conducted from an imported state to reflect real-world usage. All runs used the same inputs. You can verify these results by running the benchmarking script: benchmark/index.ts.

| Package | Avg. Time (per validation) | Validation Logic | |---------|----------------------------|------------------| | throwaway | 155.73 ns | • Local part validation• Domain validation• RFC compliance checks• TLD validation• ICANN verification• 70,000+ domain blacklist check | | email-validator | 180.47 ns | • Regex pattern matching• Length verification | | @shelf/is-valid-email-address | 404.70 ns | • Local part regex• Domain regex• Quoted string check |

Key Findings:

  1. throwaway demonstrates superior performance (13.7% faster than email-validator, 61.5% faster than @shelf/is-valid-email-address)
  2. throwaway provides more comprehensive validation features while maintaining better performance
  3. The benchmark reflects real-world usage patterns by testing from imported module state

Reporting Incorrectly Flagged Domains

If you believe a legitimate domain has been mistakenly identified as disposable, you can help improve the validator by contributing to our allow list.

How to contribute:

  1. Verify the domain is truly non-disposable (permanent email service)
  2. Add the domain to allow_list.txt
  3. Submit a pull request with your addition

We welcome community contributions to help maintain the accuracy of our validation system.

License and Ethical Usage

GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Full License Text

Open-Source Commitment

This project is released under the GPL-3.0 license, which grants you the freedom to:

  • Use commercially
  • Modify and distribute
  • Apply for patent integration

With the critical requirement that you:

  1. Disclose all modifications to the source code.
  2. Keep derivative works equally open under GPL-3.0.

Ethical Request

While the license permits commercial use, I strongly believe:
🔓 Data about disposable email domains should remain a public good—free to access, analyze, and redistribute. If you profit from this work:

  • Publicly credit this project (doodad-labs/throwaway-email-checker).
  • Never paywall the core dataset or derived lists.

This ensures transparency and helps protect the internet from abuse.

Contributions

This project is automatically maintained through web scraping and data aggregation, but our sources may become outdated, and some domains might be incorrectly flagged. We need your help to improve accuracy and keep this resource reliable!

🚀 First-Time Contributors Welcome!

We intentionally keep this project beginner-friendly to help newcomers start their open-source journey. No experience needed—just a willingness to learn!

How You Can Help:

🌍 Translations

Help make this project accessible globally by translating documentation or UI elements.

Fix False Flags (allow_list.txt)

If you spot a legitimate domain mistakenly flagged as disposable, submit a correction.

📊 Improve Data Sources

  • Aggregate lists: Contribute new sources of disposable email domains.
  • Scrapers: Help maintain or improve our scrapers for temporary email providers.

🐛 Report Bugs & Suggest Enhancements

Found an issue? Open a ticket or submit a fix!

Getting Started:

  1. Check the Good First Issues label.
  2. Follow our Contribution Guidelines.

Every contribution—big or small—helps keep the internet safer and more transparent!