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

email-validation-system

v1.0.0

Published

Comprehensive email validation library with format checking, disposable email detection, domain typo detection, MX record verification, and bulk CSV/Excel processing

Downloads

117

Readme

Email Project

A Next.js application built with TypeScript and Tailwind CSS for validating email addresses.

Features

1. Single Email Validation

  • Format Validation: Checks email structure, length, and character rules
  • Disposable Email Detection: Identifies temporary/throwaway email services
  • Domain Typo Detection: Catches common misspellings (gmai.com, yahooo.com, etc)
  • Suspicious Pattern Detection: Detects unusual patterns like repeated characters
  • MX Domain Verification: Confirms the domain has valid Mail Exchange records
  • Company/Domain Display: Shows the company name extracted from the email domain
  • Detailed Results: Shows which validation checks passed/failed

2. Bulk Email Validation (CSV/XLSX Upload)

  • Upload CSV or XLSX (Excel) files with email addresses
  • Line-by-line validation with comprehensive checks
  • Results table showing: Company | Email | Format ✓ | Disposable ✓ | Typo ✓ | MX ✓ | Overall Status
  • Export detailed results as CSV (includes company and domain info)
  • Supports standard CSV/XLSX format with an "email" column

Company/Domain Name Extraction

The validator automatically extracts and displays the company name from the email domain:

  • Works for all emails - helpful for understanding which organization the email belongs to
  • Displayed in both single email validation and bulk validation results
  • Included in CSV export for record keeping
  1. Format Check - Validates email structure and character rules
  2. Disposable Email Check - Detects temporary email services
  3. Domain Typo Detection - Catches common domain misspellings
  4. MX Domain Check - Verifies domain has valid Mail Exchange records
  5. Suspicious Pattern Detection - Identifies suspicious email patterns

Disposable Email Domains Detected

  • tempmail.com, 10minutemail.com, guerrillamail.com, mailinator.com, and more

Common Domain Typos Detected

  • Gmail: gmial.com, gmai.com, gmali.com
  • Yahoo: yahooo.com, yaho.com
  • Outlook: outlok.com, outloo.com
  • Hotmail: hotmai.com, hotmial.com

Getting Started

Run the development server:

npm run dev

Open http://localhost:3000 to view the application.

How to Use

Single Email Validation

  1. Go to the "Single Email" tab
  2. Enter an email address
  3. Click "Validate Email"
  4. See format and MX domain validation results

Bulk Email Validation

  1. Go to the "Bulk Upload (CSV/XLSX)" tab
  2. Upload a CSV or XLSX file with an "email" column
  3. Click "Upload" or drag the file
  4. Results display in a table with each email's validation status
  5. Download results as CSV for record keeping

CSV/XLSX Format Example

email
[email protected]
[email protected]
[email protected]

For XLSX files, ensure there's an "email" column header with email addresses below it.

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm start - Run production server
  • npm run lint - Run ESLint

API Endpoints

  • POST /api/validate-email - Validate a single email
  • POST /api/validate-bulk-emails - Validate emails from CSV file

Project Structure

  • src/app/ - App Router pages
  • src/components/ - React components
  • src/lib/ - Utilities (email validator, CSV parser)
  • src/app/api/ - API routes

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.