Email Extractor

Extract email addresses from any webpage or pasted text. Free email extractor that finds mailto links, inline addresses, and obfuscated emails from HTML source.

You have a supplier directory, a competitor's team page, or a list of local business sites open in your browser. Somewhere in that HTML are the email addresses you need. They are buried inside mailto links, scattered across paragraphs, or hidden behind JavaScript-rendered contact sections. You could view-source and Ctrl+F your way through each page. That stops working after the third one.

This email extractor does the scanning for you. Enter a URL and it fetches the page, parses the HTML, and returns every email address it finds. Or paste raw HTML, CSV exports, log files, or any text and extract emails instantly. Results are deduplicated, sorted, and ready to copy.

How to extract emails from a webpage

The tool offers two modes depending on whether you have a URL or already have the content.

Check URL mode

  1. Enter a URL in the input field and click Extract Emails. The tool fetches the page's HTML and scans it for email addresses.
  2. Review the results. Summary cards show the total number of unique emails and the number of distinct domains. If more than one domain appears, a breakdown chart shows the distribution.
  3. Copy the results using Copy All (one email per line) or Copy as CSV (with email and domain columns). You can also copy individual emails by hovering over a row.

Paste Text mode

  1. Switch to Paste Text using the tab at the top.
  2. Paste any content: raw HTML source, plain text, CSV data, server logs, email headers, or any document containing email addresses.
  3. Click Extract Emails. The tool scans the text using a regex pattern that matches standard email address formats. All processing happens in your browser.

Paste Text mode is entirely client-side. No data is sent to any server. Use it when you already have the content from view-source, a database export, a spreadsheet, or any other local source.

What the email extractor finds

The tool scans two sources of email addresses in a webpage or text document:

Source How it's found Example
mailto: links Parsed from <a href="mailto:..."> elements in the HTML <a href="mailto:info@example.com">
Inline text Matched by regex pattern in the visible page text Contact us at support@example.com

Results are automatically deduplicated and lowercased. If the same email appears in both a mailto link and the page text, it shows up once. The domain is extracted from each email for grouping and analysis.

The regex pattern matches standard email formats following RFC 5322 simplified syntax: local-part@domain.tld. The local part allows letters, numbers, dots, underscores, percent signs, plus signs, and hyphens. The domain requires at least two characters in the top-level domain.

Paste mode vs URL mode

Both modes use the same extraction logic. They differ in where the content comes from and what data leaves your browser.

Feature Check URL Paste Text
Data source Server fetches the page HTML You paste text into the browser
Data sent to server The URL only (page is fetched server-side) Nothing. All processing is local.
Finds mailto: links Yes (parsed from HTML DOM) Yes (matched from raw source text)
Finds inline emails Yes (from visible page text) Yes (from pasted content)
Handles JavaScript-rendered content No (server-side fetch, no JS execution) Yes (if you paste the rendered source)
Best for Quick scans of public pages Local files, exports, logs, sensitive content

For JavaScript-heavy pages that load contact information dynamically, use your browser's DevTools to view the rendered source, copy it, and paste it into the Paste Text mode. The URL mode fetches the initial HTML response without executing JavaScript, so dynamically injected emails will not be captured.

Common email extraction patterns

Websites display email addresses in several ways. Some are easy to extract. Others require manual work.

Patterns the extractor catches

  • Plain text emails. contact@example.com written anywhere in the page body, headings, paragraphs, footers, or structured data.
  • mailto: link targets. <a href="mailto:sales@example.com?subject=Inquiry">. The tool extracts the email and strips query parameters.
  • Emails in HTML attributes. Emails in data-email, title, or other attributes that appear in the visible text of the parsed document.
  • Emails with subaddressing. user+tag@example.com. The plus-addressing format is matched by the extraction pattern.
  • International TLDs. info@company.co.uk, contact@firma.de. Any TLD with two or more characters is matched.

Patterns that require manual handling

  • Obfuscated emails. user [at] example [dot] com or user(at)example(dot)com. These human-readable substitutions are not matched by the regex pattern. You will need to search for these manually.
  • Image-based emails. Some sites render email addresses as images to prevent scraping. These cannot be extracted from HTML.
  • JavaScript-generated content. If the email is injected into the DOM by client-side JavaScript after page load, URL mode will not find it. Paste the rendered source instead.
  • CAPTCHA-protected contact forms. Pages that only expose emails after form submission or CAPTCHA verification cannot be scraped by any automated tool.

Email extraction for web scraping and lead generation

Email extraction is a common step in web scraping pipelines. I've seen developers use this tool in a few different ways depending on where they are in the process.

Manual research

Enter individual URLs to extract contact emails from business directories, team pages, or about pages. Copy the results as CSV for import into a spreadsheet or CRM. This is the fastest approach when you are checking a handful of pages by hand.

Scraping pipeline output

If you have already scraped page HTML using Python (requests + BeautifulSoup, Scrapy, lxml) or a browser automation tool (Selenium, Playwright, Puppeteer), paste the collected HTML into Paste Text mode. You get deduplicated emails without writing additional parsing code.

Validating extraction code

Use this tool to cross-check your own email extraction regex or XPath expressions. Fetch a page with this extractor, compare the results with your script's output, and identify any emails your code is missing. If you need to test XPath expressions directly, use the XPath Tester.

Privacy and ethical considerations

Email extraction is a tool. How you use the extracted data determines whether it is ethical and legal.

  • Respect robots.txt and terms of service. Before scraping email addresses from a website, check whether the site's robots.txt and terms of service allow automated data collection.
  • Comply with anti-spam laws. CAN-SPAM (US), GDPR (EU), CASL (Canada), and other regulations restrict unsolicited email. Extracting an email address does not give you permission to send marketing messages to it.
  • Use extracted emails responsibly. Legitimate uses include finding the right contact for a partnership inquiry, verifying published contact information, or auditing your own website's exposed email addresses. Mass cold-email campaigns to scraped addresses are both legally risky and reputationally damaging.
  • Check your own sites. Run this tool against your own pages to see which email addresses are publicly exposed. If you find addresses that should not be public, consider replacing them with contact forms or obfuscating them.

This tool processes publicly available content. In URL mode, the server fetches the page as a standard HTTP request, the same content any browser or search engine crawler would see. In Paste mode, all processing happens locally in your browser and no data is transmitted.

Frequently Asked Questions

How do I extract email addresses from a website?

Enter the website URL into this email extractor and click Extract Emails. The tool fetches the page HTML and scans it for email addresses in mailto links and visible text. Results are deduplicated and available to copy as a list or CSV.

Is my data sent to a server when I paste text?

No. Paste Text mode runs entirely in your browser. The email regex matching happens locally and nothing is sent to any server. Use this mode for sensitive content, internal documents, or any data you do not want to transmit.

Why are some emails missing from the results?

Common reasons: the page loads email addresses with JavaScript (URL mode does not execute JS), the email is obfuscated with [at]/[dot] substitutions, the email is rendered as an image, or the email is behind a CAPTCHA-protected form. For JS-rendered content, paste the rendered source from your browser's DevTools instead.

Can I extract emails from multiple pages at once?

This tool processes one URL at a time. For bulk extraction across many pages, use a scraping library like Python's requests + BeautifulSoup or Scrapy, then paste the combined output into Paste Text mode to deduplicate and export the results.

Is it legal to extract email addresses from websites?

Extracting publicly visible email addresses is generally legal, but using them for unsolicited email may violate CAN-SPAM, GDPR, CASL, or other regulations depending on your jurisdiction. Always check the website's terms of service and applicable laws before using extracted data for outreach.

What email formats does the extractor recognize?

The tool matches standard email formats: local@domain.tld where the local part includes letters, numbers, dots, underscores, percent signs, plus signs, and hyphens. The domain must have at least a two-character TLD. It handles subaddressing (user+tag@domain.com) and international domains.

How do I check which emails my own website exposes?

Enter your website URL in Check URL mode. The tool will show every email address visible in your page's HTML source. This is useful for auditing whether personal or internal email addresses are accidentally exposed to scrapers and bots.

Does this tool find emails in JavaScript-rendered content?

No. The URL mode fetches the initial HTML response without executing JavaScript. If a page loads emails dynamically via JavaScript, open the page in your browser, use DevTools (Ctrl+U or right-click > View Page Source), copy the rendered HTML, and paste it into the Paste Text mode.

Related Free Tools

  • XPath Tester: Write and test XPath expressions to extract specific elements from HTML or XML documents.
  • OpenGraph Checker: Extract and validate meta tags and Open Graph data from any URL.
  • Cookie Checker: Parse and validate cookies from any URL or pasted Set-Cookie headers.
  • HTTP Header Checker: Inspect response headers, security configuration, and caching setup for any URL.
  • HTML to Markdown Converter: Convert extracted HTML content into clean Markdown for documentation.
  • Robots.txt Tester: Check crawl rules before scraping. Verify your target URLs are allowed.

Give your AI agent a faster, leaner browser

Structured page data instead of raw HTML. Your agent processes less, decides faster, and costs less to run.

Stability detection built in
Fraction of the payload size
Diffs after every action
No credit card required. 1 hour of free runtime included.