Extract All Links From a Webpage
Copying links by hand means right-click, copy address, paste, repeat — and missing three of them. Most extractors hand back a bare list of addresses with no context. This one keeps the anchor text, splits internal from external, and flags nofollow.
Why a link extractor online beats copying by hand
Right-click, copy address, paste, repeat. Forty links in and you have missed three, duplicated one, and lost track of which was which.
The bigger problem is that a bare list of addresses tells you very little. Which of these are navigation? Which point off-site? Which carry nofollow? Without that, you are looking at a column of URLs and guessing.
So the output here keeps the anchor text next to each URL, splits internal from external, and flags nofollow. Duplicates are merged by resolved URL, so a page linked from the header and the body appears once.
One thing worth knowing before you compare counts with a crawler: most crawlers report every instance of a link, and we report every unique destination. Neither is wrong, but the numbers will not match.
How to list internal and external links accurately
The split compares hostnames with the www. prefix removed, so example.com and www.example.com count as one site.
Subdomains count as external. That surprises people, but for link analysis blog.example.com usually behaves like a separate property with its own authority, so lumping it in with the main site hides more than it reveals.
Relative links resolve against the final URL after redirects, not the address you typed. A site that redirects between www and non-www would otherwise hand you a list that quietly 404s on every entry.
We drop mailto:, tel: and javascript: links. The first of those is deliberate — an exportable list of email addresses is a spam-harvesting feature, and we would rather not build one.
Reading anchor text extractor output for SEO
Anchor text is the part most people skip, and it carries the most signal.
Entries reading “no anchor text” wrap an image or an icon. A handful is normal. A long run means a section of your page passes no context at all to search engines or to anyone using a screen reader.
Repeated generic anchors — “read more”, “here”, “this page” — are the other pattern to look for. They tell a crawler nothing about the destination, and they are easy to fix once you can see them listed together.
One caveat on the nofollow flag: it reports the literal nofollow value only. Google also treats sponsored and ugc as similar hints, so a link carrying only one of those will not be flagged here.
Where this stops working
Pages that build their navigation with JavaScript return far fewer links than you can see on screen, because we read the first HTML response before any script runs.
That is the same limit the rest of this toolkit has, and it is explained properly in links injected after page load. If a count looks far too low, that is the first thing to check.
One page per run, too. Crawling a whole site is a different activity with different obligations — our note on crawl politeness and rate limits covers what actually causes problems.
What to do with the exported list
The CSV keeps anchor text, classification and the nofollow flag, with quotes escaped so a quotation mark in anchor text does not break your columns.
Checking whether those links still resolve is a separate job, and deliberately so — hundreds of links means hundreds of requests. Run the export through a broken link checker when that is what you need.
For a list of pages a site wants indexed rather than pages one page links to, start from pull URLs from an XML sitemap. The two answers overlap less than people expect.
Getting more from a tool that can extract all links from a webpage
Start with the external filter on an unfamiliar site. It shows who they reference, which is usually the fastest read on what a page is actually about.
Need the prose rather than the links, the full page content extractor pulls headings, paragraphs and meta tags in the same pass. For a version aimed at models rather than people, LLM-ready markdown output keeps the structure and drops the furniture.
Frequently Asked Questions
How is this different from extracting URLs from a sitemap?
+
Why are internal and external counted against the naked domain?
+
A page has 200 links but only 40 came back. Why?
+
Why do some links show "(no anchor text)"?
+
Does the nofollow flag include sponsored and ugc?
+
Are duplicate links to the same page merged?
+
What happens to mailto: and tel: links?
+
How are relative links turned into full URLs?
+
Can I check whether the extracted links still work?
+
Does the CSV keep the anchor text?
+
Related Tools You Might Like
JSON Formatter
Format, validate, and minify JSON data
HTML Minifier
Minify HTML code for better performance
Color Picker
Pick colors and generate beautiful color palettes
Google Dork Generator
Build advanced search operator queries without memorising the syntax
Google Search Operators
Every search operator, tagged with whether Google still supports it
HTML to Text Converter
Strip HTML tags and get clean readable text, with headings and lists kept if you want them
