Webpage Link Extractor

Server assisted New Website & HTTP Diagnostics

Fetches a page through the Mutqan server, or reads HTML you paste, and extracts every a and area link: the absolute URL after resolving relative paths and any base element, the anchor text (or the alt text of a linked image), rel values such as nofollow and sponsored, the target, and whether the link sits in the navigation, header or footer. Filter by type, remove duplicates and export the result.

Privacy: The Mutqan server sends the small, fixed test requests described on this page to the host you name, and nothing is stored. Use it only against systems you are authorised to test.
Loading tool…

How are a page's links found and checked?

A link is an a (or area) element whose href resolves, against the page URL or its base element, to an absolute URL; crawlers discover pages through exactly these links, not through buttons or script code. A link is checked by requesting its URL and reading the status: 2xx works, 3xx moves elsewhere, and 4xx or 5xx is broken — though 401, 403 and 429 often mean the server refused an automated client rather than that the page is gone.

How to use Webpage Link Extractor

  1. Enter the page URL, or paste the page HTML (with HTML pasted, the URL only resolves relative links and nothing is fetched).
  2. Choose which links to show and whether to remove duplicates.
  3. Press Extract links.
  4. Sort and read the table, copy the URL list, or download links.csv or links.txt.

Webpage Link Extractor features

  • Extracts every a and area link with an href from a fetched page or from HTML you paste
  • Resolves relative links against the page URL and the first base element, the way a browser does
  • Classifies each link: internal (same registrable domain, by the Public Suffix List), external, email, phone, same-page anchor, javascript: or other
  • Shows the anchor text — or, for a link without text, its aria-label or title, else the alt text of a linked image — the rel values (nofollow, sponsored, ugc, noopener) and the target
  • Marks links inside nav, header or footer elements, so navigation can be told apart from links in the content
  • Filters by type, removes duplicate URLs and exports the table as CSV or the URLs as a plain list

Inputs and outputs

Inputs

  • Page URL — fetched through the Mutqan server, up to five redirects followed; with pasted HTML it only resolves relative links.
  • Or the page HTML pasted — read in your browser, nothing fetched.
  • Show — all links, internal, external, email and phone, or anchors, scripts and other.
  • Remove duplicate URLs and Fetch as — one row per URL (on by default), and the User-Agent for the fetch.

Outputs

  • Summary — total links, unique URLs, internal, external, nofollow, email and phone, and anchors and other.
  • Links — up to 2,000 rows with number, absolute URL, link text, type, rel values, whether it sits in nav, header or footer, and target; downloadable as links.csv.
  • URLs (one per line) — the same links as a plain list, downloadable as links.txt.
  • Fetch details — final URL, status, Content-Type, size, resolved address and timing.

Webpage Link Extractor example

A blog post with navigation, sponsored and contact links

Input:

Page URL: https://www.example.com/blog/post · Pasted HTML with a nav (Home, Blog, Pricing), two content links, a sponsored nofollow link, a #comments anchor, an image link to shop.example.com and a footer with mailto:, tel: and Blog

Output:

Links 11 · Unique URLs 10 · Internal 6 · External 2 · nofollow 1 · Email and phone 2 · Anchors and other 1
4  https://www.example.com/guides/robots-txt — "robots.txt guide" — internal
6  https://partner.example.net/offer?ref=blog — "Partner offer" — external — rel sponsored nofollow
8  https://shop.example.com/ — "Visit our shop" (image alt) — internal
9  mailto:hello@example.com — "Email us" — mailto — in nav, header or footer

How to read the Webpage Link Extractor results

Internal links pass users and crawlers around the site; a page with no internal links in its content (only navigation) is a dead end for both.

nofollow, sponsored and ugc tell search engines not to treat the link as an endorsement. Paid and affiliate links should carry sponsored; links in user comments ugc.

Links with empty text give screen-reader users and search engines nothing to go on: add text or an alt to the linked image.

Links marked "In nav, header or footer" repeat on every page; links outside them are the ones the content itself adds.

When to use Webpage Link Extractor

  • Audit the internal links of an article before publishing it, and spot empty anchor texts.
  • List the external links of a page to review partners, affiliate tags and rel attributes.
  • Build a test list of URLs from a page for a crawler, a load test or a redirect check.
  • Compare the links served to Googlebot and to a mobile browser on a site that varies its HTML.

Troubleshooting

  • Few or no links on a page full of links in the browser: the page builds them with JavaScript. The extractor reads the server's HTML only; so do many crawlers.
  • All links show the type "other": no page URL was given for pasted HTML, so relative links could not be resolved. Enter the page URL.
  • An error page's links are listed: the page answered 4xx or 5xx (a warning says so). Check the URL.
  • "not an HTML page": the URL points to a file such as a PDF or an image. Enter the page that links to it.

Frequently asked questions about Webpage Link Extractor

What counts as an internal link?

A link whose host has the same registrable domain as the page, by the Public Suffix List: on www.example.com, links to example.com, shop.example.com and www.example.com are internal, links to example.net are external, and on alice.github.io a link to bob.github.io is external, because github.io is a public suffix. mailto:, tel:, #anchors and javascript: links are counted separately.

Why are some relative links not resolved?

A relative href such as ../guides/a needs the page URL. When you paste HTML without a page URL (and the HTML has no base element), relative links stay as written and cannot be classified as internal or external. Enter the page URL in the first field: with HTML pasted, it is used only to resolve links, nothing is fetched.

Does it find links added by JavaScript or in buttons?

It reads a and area elements with an href in the HTML the server sends. Links built by JavaScript after load, click handlers on buttons and URLs inside scripts or stylesheets are not listed — most crawlers discover links the same way, from a elements with an href.

Does it check whether the links work?

No, it only lists them, so it makes one request at most (the page itself). To see which links answer with an error, use the Broken Link Checker, which has the Mutqan server request them: up to 29 per check when you are signed in, 9 when you are not.

How many links can it list?

Every link in the first 5,000 HTML tags of the page, opening and closing tags both counted, so at most about 2,500 links; a long article or a large navigation menu can pass that limit. The page is read from at most 512 KiB of fetched HTML or 2 MB of pasted HTML, and a warning says when either limit cut it short. The table shows the first 2,000 links; the URL list holds them all.

Technical notes

The HTML is read by a tolerant tokenizer that follows the HTML Standard's tag rules (unquoted, single- and double-quoted attributes, raw-text elements such as script and style) without building a DOM or running scripts; it reads at most 2 MB and 5,000 tags.

URLs are resolved with the WHATWG URL Standard, against the first base element when the page has one, as the HTML Standard requires. Internal or external is decided by the registrable domain from the Public Suffix List, its private section included, so subdomains of the page's site count as internal while two sites under a shared suffix such as co.uk or github.io do not.

Limitations and methodology

Only a and area elements with an href are read. Links in scripts, stylesheets, srcset, forms, iframes or JSON data are not listed.

A fetched page is read up to 512 KiB and pasted HTML up to 2 MB, and the scanner stops after the first 5,000 HTML tags (opening and closing tags both count), so at most about 2,500 links are listed; a warning says when a limit cut the page short.

Internal and external follow the copy of the Public Suffix List built into the site: a suffix added to the list after that copy was taken counts as an ordinary domain until the copy is updated.

Security and privacy

Pasted HTML never leaves your browser, and a page URL typed next to it only resolves relative links. A URL on its own is the only thing sent to the Mutqan server, which fetches that one page and keeps no copy.

The page is parsed as text and never rendered: none of its links, images or scripts is requested by your browser.

References

  • HTML Standard — 4.6 LinksWHATWGHow a and area elements create hyperlinks: the href, target and rel attributes, link types such as nofollow, noopener and noreferrer, and how a link's URL is resolved against the document base.
  • SEO Link Best Practices for GoogleGoogle Search CentralWhich links Google can follow (a elements with an href that resolves to a real URL), how to write anchor text, and how to qualify outbound links with rel="nofollow", "sponsored" and "ugc".
  • RFC 9110: HTTP SemanticsIETF · 2022The meaning of HTTP methods, header fields, status codes and content negotiation, independent of the wire version.