skillfed

email-validator

A robust email address syntax and deliverability validation library.

email-validator Permissive license Unlicense Active 1,431 v2.3.0 released

Install

email-validator on PyPI

pip

pip install email-validator

uv

uv add email-validator

poetry

poetry add email-validator

Package facts

License Unlicense (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 2 — dnspython, idna
Maintenance actively maintained — 352 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: email_validator-2.3.0-py3-none-any.whl

Keywords: email, address, validator

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: The Unlicense (Unlicense)Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules

About email-validator

from the package's own PyPI description — quoted content, verbatim

email-validator: Validate Email Addresses

A robust email address syntax and deliverability validation library for Python 3.8+ by Joshua Tauberer.

This library validates that a string is of the form name@example.com and optionally checks that the domain name is set up to receive email. This is the sort of validation you would want when you are identifying users by their email address like on a registration form.

Key features:

  • Checks that an email address has the correct syntax --- great for email-based registration/login forms or validating data.
  • Gives friendly English error messages when validation fails that you can display to end-users.
  • Checks deliverability (optional): Does the domain name resolve? (You can override the default DNS resolver to add query caching.)
  • Supports internationalized domain names (like @ツ.life), internationalized local parts (like ツ@example.com), and optionally parses display names (e.g. "My Name" <me@example.com>).
  • Rejects addresses with invalid or unsafe Unicode characters, obsolete email address syntax that you'd find unexpected, special use domain...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Validates email address syntax and optionally checks domain deliverability via DNS queries, returning normalized addresses suitable for databases and user-facing error messages.

Low friction: pure Python wheel with only two lightweight runtime dependencies (dnspython and idna). Active maintenance with recent releases and 1431 GitHub stars.

Permissive Unlicense (public domain equivalent) places no restrictions on use, modification, or redistribution in any context.

Usage

pip install email-validator

from email_validator import validate_email, EmailNotValidError

try:
    result = validate_email("user@example.com", check_deliverability=False)
    print(result.normalized)
except EmailNotValidError as e:
    print(str(e))

Requires Python 3.8+. DNS deliverability checks require network access and may be slow; disable with check_deliverability=False for login forms.

Verdict: Production-ready, actively maintained library with zero known vulnerabilities, permissive licensing, and minimal dependencies. Well-suited for email validation in registration and login workflows; the opinionated design rejects obsolete syntax and unsafe Unicode by default, which is appropriate for modern applications.

Needs verification

  • Whether dnspython and idna are themselves actively maintained and free of known vulnerabilities
  • Performance characteristics of DNS deliverability checks under high-volume validation scenarios
email validation libraryemail address syntax checkerdns email deliverabilityemail normalization pythoninternationalized email validatorsmtp validation alternativeemail registration form validation

Similar packages