Extracting URLs from Text and HTML
Paste text, an email, a document or raw HTML and this tool pulls out every URL it contains, deduplicated and one per line. Trailing punctuation is trimmed, so a link at the end of a sentence does not come back with a full stop attached.
It matches http and https URLs specifically. That keeps the results clean — matching bare domains without a protocol would pull in every mention of a company name that happens to contain a dot.
What you can use it for
- Pulling every link out of an HTML source or email newsletter for auditing.
- Building an outreach or prospect list from a document full of mentions.
- Extracting links from a competitor's resources page to see who they cite.
- Collecting URLs from a spreadsheet column or exported report that mixes links with text.
- Gathering the destination URLs from a batch of tracked or shortened links before checking them.
How the matching works
The tool matches sequences beginning http:// or https:// and running until whitespace or a character that cannot legally continue a URL — closing brackets, quotes and angle brackets end a match.
Trailing punctuation is trimmed afterwards. A URL written at the end of a sentence would otherwise capture the full stop, and the same applies to commas and semicolons in lists. This is the single most common annoyance with naive URL extraction and it is handled here.
Results are deduplicated, so a link appearing five times in a document returns once. Note this is exact-string deduplication — the same page at http and https, or with and without a trailing slash, returns as separate entries. Run the output through the URL Deduplicator if you want those collapsed.
Extracting from HTML
Pasting raw HTML works and returns URLs from href attributes, src attributes, and anything else in the markup — including scripts, stylesheets, images and tracking pixels. That is comprehensive rather than selective.
If you only want the links a reader can click, with their anchor text, the Internal Link Analyzer is the better tool. It fetches a live URL, parses the DOM properly, and separates internal from external links while reporting the anchor text for each.
Use this tool when you have text rather than a live URL — an email, a document, a code snippet, a report — or when you deliberately want every URL in the source rather than just the anchors.
What it will not catch
Bare domains without a protocol are skipped. A document saying “visit example.com” yields nothing, which is deliberate — matching bare domains would also match every abbreviation and file name containing a dot.
Protocol-relative URLs beginning // are also skipped, for the same reason: they are hard to distinguish from other slash-delimited text with acceptable accuracy.
URLs broken across lines by email clients or word wrapping will be captured only up to the break. That is a limitation of working with text rather than markup, and there is no reliable way to reassemble them automatically.
What to do with the extracted list
For link analysis, the URL Domain Extractor reduces the list to domains with counts, which is far more informative than the raw URLs — it immediately shows which sites dominate and where sitewide links exist.
For cleanup before using the list anywhere permanent, strip tracking with the URL Cleaner, normalise formatting with the Bulk URL Formatter, then deduplicate.
To check whether the extracted URLs actually resolve, the Redirect Chain Checker follows each one server-side and reports the final destination.
Privacy
Extraction runs entirely in your browser. Nothing you paste is transmitted to a server or stored anywhere, which matters when the source is a client document, an internal email or an unpublished page's source code.
Frequently asked questions
Does it find URLs without http or https?
No, and deliberately. Matching bare domains like example.com would also match abbreviations, file names and any other text containing a dot, producing far more noise than useful results.
Does it remove duplicate URLs?
Yes, but by exact string. The same page at http and https, or with and without a trailing slash, returns as separate entries — run the output through the URL Deduplicator if you want those collapsed.
Can I paste HTML?
Yes. It returns every URL in the markup including scripts, images and tracking pixels. If you only want clickable links with their anchor text, the Internal Link Analyzer fetches a live page and parses it properly.
Why does a URL come back truncated?
It was probably broken across lines by an email client or word wrapping. Matching stops at whitespace, and there is no reliable way to reassemble a URL split across a line break.
Is my text uploaded anywhere?
No. Extraction runs entirely in your browser and nothing is transmitted or stored, so it is safe for client documents, internal emails and unpublished source code.