Paste text, HTML, or a log file and get every http, https, and www link as a clean list. Duplicates are removed, and you can filter by domain.
This tool runs entirely in your browser. What you enter is never sent anywhere.Your input is never sent anywhere.
DetailsPaste some text to see its links here
Top domains
No data yet
For developers
Copy the results as a JSON array to use in a script.
What counts as a URL in your text
The tool scans your text for anything that starts with http://, https://, or www. and lists each match in the order it appears. It works on plain text, email bodies, chat logs, HTML source, and JSON.
A link ends at a space, a quotation mark, or an angle bracket, and trailing punctuation is trimmed, so a link at the end of a sentence does not carry the period with it. Bare domains such as example.com, relative paths, and mailto: or ftp:// addresses are not picked up.
Beyond the list, you can remove duplicates, strip tracking parameters, filter by domain, switch to a list of domains with counts, and export the result as CSV or JSON.
Common jobs for a link list
Links in an email or newsletter draft
Pull out every link before you send, then open each one or compare the list with what you intended to include.
HTML source or a page export
Paste the source and see which full URLs it contains. Switch to Domains only to see which sites a page links to or loads files from.
Chat logs, support tickets, and server logs
Collect the links people shared in a conversation, or the addresses that show up in a log file, without scrolling through every line.
Reference lists and research notes
Gather the sources mentioned in a long document into one list, remove repeats, and download it as a CSV for a spreadsheet.
How to get a clean link list in 4 steps
- Paste your text, HTML, or log into the box.
- The links appear right away under URLs found. Duplicates are removed by default.
- Optional: type in the filter box, turn on Strip tracking parameters, or switch to Domains only.
- Click Copy list, Download CSV, or Copy as JSON.
Note: There is no run button. The list updates every time you change the text or an option, and Copy, CSV, and JSON always export what is currently shown.
How the tool decides what to list
- Where a URL ends: at a space, a quotation mark, an angle bracket, a backtick, or a curly quote. After that, a trailing. , ! ? : ; apostrophe, or asterisk is removed, and a closing ) ] or } is removed only if the URL has no matching opening bracket.
- Duplicates: two URLs are the same only if they match exactly, including capital letters and a trailing slash.
- Filter: it matches text anywhere in the URL, not only the domain, and ignores capital letters. The counts, the domain chart, and every export follow the filtered list.
- Domains: the host name is shown without the port number. Subdomains are separate entries, and www.example.com and example.com are counted separately. The chart shows the 10 largest.
- No link checking: the tool does not visit the addresses, so it cannot tell you whether a link still works.
What gets matched and what does not
How common patterns in pasted text are handled by the extractor.
| In your text | In the list | Rule |
|---|---|---|
| https://example.com/page | Listed | Starts with https:// |
| www.example.com/path | Listed, opens with https:// | www. is enough, no scheme needed |
| example.com | Not listed | Needs http://, https://, or www. |
| https://example.com:8080/a?id=1#top | Listed in full | Port, query, and fragment are kept |
| (see https://example.com/a). | https://example.com/a | Trailing ) and . are removed |
| https://en.wikipedia.org/wiki/Foo_(bar) | Listed in full | The brackets are balanced, so they stay |
| <a href="https://example.com/x"> | https://example.com/x | Stops at the quotation mark |
| /about, mailto:, ftp:// | Not listed | Only http, https, and www. are matched |
How matching works. The tool uses a pattern that looks for http://, https://, or www. and reads to the next space, quotation mark, angle bracket, backtick, or curly quote. A second step then trims trailing punctuation and unmatched closing brackets. It checks that a host name follows, but it does not check that the domain exists.
Everything runs in your browser. The tool has no upload step, so private logs and drafts are not sent to a server.
Extracting links from HTML, logs, and marketing emails
What to expect from each kind of input, and what to do with the list afterward.
Getting URLs out of HTML source
Paste the page source or the HTML of an email and the tool lists every full URL it finds, including the ones in href, src, and canonical tags and inside scripts. It does not tell these apart, so a list from a full page can include images and script files.
Use the filter to narrow it, for example .pdf for documents or a domain name for one site. Relative links like /about do not start with http or www., so they are not included.
Removing tracking parameters and merging repeats
Marketing links often carry utm_ tags and click IDs such as fbclid and gclid, so one page can appear as many different URLs. Turn on Strip tracking parameters and Remove duplicates together to collapse them into one entry per page.
Only utm_ parameters, fbclid, gclid, and msclkid are removed. Any other parameter, such as a page number or product ID, stays in the link.
What to do with the list afterward
The tool lists the links but does not open them. To find broken links, run the exported list through a link checker or a script that requests each address and records the status code.
For a quick look at who is being linked to, switch to Domains only and download the CSV, which has a Domain column and a Count column.
Common problems with extracted links
A period or bracket ends up inside the link
Copying links out of sentences by hand brings along the full stop, comma, or closing parenthesis that came right after the link. The link then fails when you paste it into a browser or a spreadsheet.
💡 See the solution▼
One page shows up as several different links
The same page appears with different utm_ tags or click IDs, so a plain duplicate check treats each version as a separate URL and the count looks too high.
💡 See the solution▼
Links without http:// or www. are missing
A link written as example.com/pricing has no scheme or www., so the tool does not recognize it as a URL and it never reaches the list.
💡 See the solution▼
www and non-www counted as different sites
In the domain chart and in Domains only view, www.example.com and example.com are separate entries, so a site's total is split across two rows.
💡 See the solution▼
URL extractor FAQ
Q.How do I extract all the URLs from a block of text?
A. Paste the text into the box. The tool lists every string that starts with http://, https://, or www., in the order it appears, and updates as you type. Then use Copy list, Download CSV, or Copy as JSON to take the list with you.
Q.Can I extract links from HTML source code?
A. Yes. Paste the page source and the tool picks out every full URL it finds, whether it sits in an href, a src, a canonical tag, or a script. It stops at a quotation mark or angle bracket, so the attribute syntax is not included. It does not read relative links such as /about, and it cannot tell a clickable link from an image or script address, so use the filter (for example .pdf or a domain name) to narrow the list.
Q.Does it remove duplicate URLs?
A. Yes, Remove duplicates is on by default. Two URLs count as duplicates only when they match character for character, so a different capital letter or a trailing slash makes them separate entries. Turn the option off if you want every occurrence, and the count then shows how often each link appears in the text.
Q.What happens to punctuation at the end of a URL?
A. A trailing period, comma, exclamation mark, question mark, colon, semicolon, apostrophe, or asterisk is removed. A closing parenthesis or bracket is removed only when the URL has no matching opening one, so https://en.wikipedia.org/wiki/Foo_(bar) stays whole while a link wrapped in parentheses in a sentence loses the extra bracket.
Q.How do I get a list of just the domains?
A. Switch the view to Domains only. You get one row per host name with the number of URLs that use it, and Copy list, Download CSV, and Copy as JSON then work on that list. Subdomains are separate entries, www.example.com and example.com are counted separately, and port numbers are left out.
Q.Can it remove UTM parameters from the links?
A. Yes. Turn on Strip tracking parameters to remove query parameters that start with utm_ along with fbclid, gclid, and msclkid. All other parameters and the part after the # are kept. When Remove duplicates is also on, links that differ only by those parameters merge into one entry.
Q.What file formats can I export?
A. You can copy the list as plain text with one entry per line, download it as a CSV file, or copy it as a JSON array. The URL CSV has a single URL column. In Domains only view, the CSV has Domain and Count columns. Fields that contain commas or quotation marks are quoted.
Q.Is my text uploaded anywhere?
A. No. The tool finds the links with JavaScript in your browser and has no upload step, so logs, emails, and drafts stay on your device. The text is held only in the page while it is open.
Q.Which links will it miss?
A. Anything that does not start with http://, https://, or www. A bare domain such as example.com, an ftp:// address, a mailto: link, and a relative path such as /pricing are not picked up. Add https:// in front of a bare domain before you paste it if you want it included.
Your feedback
makes this tool better.
Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.