How to Extract Email Addresses From a Website
Kome Team · Guide
The fastest way to extract email addresses from a website is to run a tool that scans the page you already have open and pulls out anything shaped like an address, instead of reading the page yourself looking for an @ sign. A browser extension does this in about a second. If you would rather not install one, a short script in your browser's console does the same job in about ten. Both are below, along with what neither one will catch.
When You Actually Need to Do This
This comes up more than people expect once they notice it. A recruiter pulls 40 names off a university faculty directory before a hiring push. A sales rep works down a conference's speaker page building a prospect list for next quarter. A community manager scrapes contributor emails off a GitHub org's member page to send a changelog. In every case, the emails are already sitting in plain text on one page. The only problem is that selecting and copying each one by hand, then deduplicating them in a spreadsheet, takes longer than it should for something this simple.
The One-Click Way: A Browser Extension That Reads the Page
Kome's extension includes a utility built for exactly this: click the icon on any open page and it scans the visible text for anything shaped like an email address, then lists every match with a one-click copy button. There is no setup, no account configuration, and it works on the page as rendered, so it also catches addresses that only appear after the page finishes loading its content.
It takes three steps: open the page with the contacts you want, click the Kome icon, and copy the list it returns. That is the entire workflow, which is the point. If you are doing this daily as part of sourcing or outreach, the minute you save per page adds up fast across dozens of pages a week.
No Extension? Two Manual Methods That Still Work
Method 1: Ctrl+F and View Page Source
Right-click the page and choose "View Page Source," then use Ctrl+F (or Cmd+F on a Mac) and search for "@". Your browser will jump to every occurrence, and you read off the surrounding text by hand. It works, but it is slow, it misses content that JavaScript adds to the page after the initial load, and on a page with more than a handful of addresses you will lose track of which ones you already copied.
Method 2: A Regex Snippet in DevTools
Open DevTools (F12 or right-click, Inspect), go to the Console tab, paste this, and press Enter:
[...new Set(document.body.innerText.match(/[\w.+-]+@[\w-]+\.[\w.-]+/g))].join("\n")This reads the page's visible text, matches anything shaped like an email using a regular expression, removes duplicates, and prints one address per line. It is fast once you have it saved somewhere, but it is built for someone comfortable pasting code into a browser console, not a one-off tool for someone who just needs a name and an email today.
Which Method Should You Actually Use?
| Method | Speed | Best for | Main limitation |
|---|---|---|---|
| Browser extension | Fastest, one click | Doing this regularly, non-technical users | Only reads the current page |
| Ctrl+F / view source | Slow, manual | A one-off page with two or three addresses | Misses content loaded after the page renders |
| DevTools console regex | Fast, but technical | Developers already comfortable in the console | Same rendering limit, requires pasting code each time |
What These Methods Won't Catch
All three read text that is actually on the page, which means all three miss the same things. An address written as "name [at] company [dot] com" is deliberately not shaped like an email, so it slips past every scanner, including this one. An address shown as an image instead of text will not be picked up either. And none of these will reach an email hidden behind a "Reveal contact" button until you click it first and let the real address render on the page.
It is also worth being clear about scope: these methods work on one page at a time, the one you have open. They are not a crawler that walks an entire domain collecting addresses from every page it finds, and that distinction matters both practically and legally, since automated site-wide scraping carries different rules than copying what a single page already shows you.
Is It Legal to Extract Email Addresses From a Website?
Copying an address a site already displays publicly is not the issue. What you do with it afterward is. If you plan to email anyone you find this way, the outreach still has to comply with rules like the CAN-SPAM Act, which means identifying yourself honestly and giving people a way to opt out. Treat a list you pull this way as a set of individual, relevant contacts to reach out to one at a time, not a mailing list to blast.
Once you have a short list worth acting on, the next step is usually writing to those people, not just storing the addresses. If you save the page as a bookmark while you are there, Kome's compose tool can turn that saved page straight into a drafted outreach email, so you are not switching between four separate tools to go from finding a contact to actually writing to them.
Pull every email address off a page in one click, without reading through the HTML yourself.
Try Kome's Browser Extension →Frequently asked questions
Is it legal to extract email addresses from a website?
Copying an email address that a website already displays publicly, such as on a team or contact page, is not illegal on its own. What matters is what you do next: sending unsolicited bulk email still falls under laws like the CAN-SPAM Act, so use the addresses for individual, relevant outreach, not a mass blast.
Will this find emails hidden behind a "reveal email" button?
Not automatically. Both the extension and the manual methods above read what is already rendered on the page, so an address that only appears after a click needs that click first. Trigger the reveal, then run the scan again and it will pick it up.
Can I extract emails from an entire website at once?
Not with the methods here, and that is by design. These tools read the single page you have open, the same one you are already looking at. Pulling contacts from dozens of pages automatically is a different job (web crawling) with different legal and ethical weight than copying what one page already shows you.
Does this work on emails written as "name [at] company [dot] com"?
No. That format is used specifically to dodge automated scanners, including this one, so neither the extension nor a regex script will catch it. You will need to read those by eye and retype them, which is exactly the trade-off the site is making.
How is this different from a tool like Hunter.io?
Hunter and similar tools search across a whole domain using their own crawled index, even for pages you have not opened. The methods in this guide only read the page currently loaded in your browser, which is slower for bulk prospecting but exact for the one page in front of you.