All toolsWhat’s newOpen the appPrivacy

Bulk Email & Link Extractor

runs on your deviceFree, no sign-upOpen full screen

Anyone who has ever tried to pull contact details out of a scraped web page, an exported chat log, or a pile of copy-pasted text knows the problem: emails and links end up tangled together in the same wall of text, half of them broken by line breaks, and a few of the emails aren't even written as real addresses — someone wrote "name [at] company [dot] com" specifically so a bot like this wouldn't catch it. This tool catches it anyway.

Paste any block of text — or drop a .txt, .csv, .log, or .html file straight in — and it separates out two clean lists: every email address it finds, and every link (http, https, and mailto). Nothing is uploaded anywhere; the parsing runs entirely in your browser, so it's just as safe for a client's exported inbox as it is for a public forum thread.

Why this is different from a basic regex extractor

Most free email extractors online do one thing: run a plain regex for name@domain.com and call it done. That misses a lot. People who post their email address publicly — on forums, in blog comments, on old-school "contact us" pages — often deliberately obfuscate it to dodge scraper bots, writing things like jane [at] example [dot] com, jane(at)example.com, or jane at example dot com. This tool recognizes those patterns and reconstructs the real address, so you're not manually re-typing addresses out of a comment section by hand.

It also keeps emails and links as two separate results instead of one merged pile, because in practice you almost never want them mixed — you're either building a contact list or auditing outbound links, rarely both from the same export.

If what you actually need is dates, IPs, hashes, UUIDs, or JWTs out of a block of text rather than emails and links, Extractors is built specifically for those formats. And if none of the built-in matching covers your case — you need something more custom than an email or a URL — Regex tester lets you write and test your own pattern live against sample text.

How to use it

Paste your text into the box on the left, or drop a file on the dropzone below it — .txt, .csv, .log, and .html are all supported, and you can drop more than one at once. As you type or paste, the tool scans the text live and updates two running counts in the sidebar: how many emails were found, how many links were found.

Switch the view between Split, Editor, and Highlighted using the toggle above the text box. Highlighted mode shows your original pasted text with every match marked inline — emails in one color, links in another — so you can double-check a match is legitimate before you rely on it, rather than trusting a bare list with no context.

Each list — emails and links — gets its own copy button and its own .txt and .csv downloads, so you can grab just what you need without opening a spreadsheet. If you want both at once, "Download both as .zip" bundles them together as CSVs in a single file.

Two extra controls live in the sidebar. The domain filter narrows both lists down to addresses or links from one domain — type "gmail.com" and only Gmail addresses show, useful when you're sorting a mixed list by provider or company. The "strip tracking params" toggle cleans utm_, fbclid, gclid, and similar tracking parameters off extracted links before you copy or export them, which matters if you're archiving links or sharing them somewhere that shouldn't see the original campaign tags.

Common situations this solves

Building a contact list from a scraped page.

Copy the visible text of a staff directory, an "our team" page, or a vendor list, paste it in, and get a deduplicated list of every email address on the page — including any that were written in an obfuscated format to dodge exactly this kind of scraping.

Auditing outbound links in old content.

Paste the HTML source or rendered text of an old blog post or landing page and get every link it points to, so you can check for dead domains, competitor links that crept in, or affiliate links that need updating.

Cleaning up a chat or forum export.

Export a support thread, Discord log, or forum thread as text, paste it in, and separate the email addresses people shared from the links they posted — without hand-picking them out of a wall of timestamps and usernames.

Extracting from a CSV or log file without opening it in a spreadsheet tool.

Drop the file directly rather than opening it first; the tool reads .txt, .csv, .log, and .html files client-side and runs the same extraction on their contents.

Handing results off for further cleanup.

If the list needs deduplicating against another source or merging with an existing contact sheet, the "Send to" buttons carry your extracted results straight into CSV cleaner or Merge CSVs without you needing to download and re-upload a file in between.

There's no cap on how many emails or links you can extract, no signup, and no limit on file size beyond what your browser can comfortably hold in memory — the tool will warn you if a paste or file is large enough to slow things down, but it won't stop you.

Frequently asked questions

Does this catch emails that are deliberately obfuscated to avoid scrapers?

Yes. Beyond standard name@domain.comformatting, it recognizes common obfuscation patterns like name [at] domain [dot] com, name (at) domain.com, and name at domain dot com, and reconstructs the real address from them.

Is there a limit on how many emails or links I can extract at once?

No. Some free extractor tools cap the free tier at a small number of results (20 emails is a common limit elsewhere); this tool has no such cap, whether you're extracting 5 addresses or 5,000.

Does it send my pasted text anywhere?

No. Everything runs locally in your browser using JavaScript — nothing you paste or upload is sent to a server. That's true of every tool on this site.

Can I export the results as CSV, not just plain text?

Yes. Each list — emails and links — has its own .csv download in addition to a plain .txt download, and you can grab both together as a zipped file with one click.

What counts as a "link" — just http and https, or mailto too?

Both. The links list includes standard http/https URLs and mailto: links, kept separate from the plain email addresses list so you can tell at a glance whether an address appeared as a clickable mailto link or as plain text.

Can I filter results down to just one company's domain?

Yes. Type a domain into the filter box in the sidebar and both the emails list and the links list narrow down to matches from that domain — handy for pulling out just one company's contacts from a mixed export, or checking how many links point to a specific competitor's site.

Will it remove tracking parameters from the links it finds?

Only if you turn the toggle on. With "strip tracking params" enabled, common tracking parameters (utm_source, utm_campaign, fbclid, gclid, and similar) are stripped from extracted links before you copy or download them — the original pasted text and highlighted view are left untouched either way.

More Text & Dev tools