AnyTool
Your files never leave your device. All processing happens locally in your browser.

How do I extract and classify every link on a page — internal, external, nofollow — without uploading the page?

Open AnyTool’s Website Link Extractor, open your page and copy its HTML source (View Source / Ctrl+U), paste it in, and add this page’s URL or domain so it can split internal vs external. The tool parses the HTML with the browser’s own DOMParser and inventories every <a href>: it classifies each link as internal (same site), external (other domain), mailto, tel, an in-page anchor (#fragment) or other (javascript:, data:…); reads the rel disposition — follow, nofollow, sponsored or ugc — and the target; resolves relative URLs against your base; and flags SEO issues like empty (invisible) anchor text, generic “click here” anchors, image-only links and duplicate URLs. You get a summary (total / internal / external / nofollow / unique external domains / empty anchors / duplicates), a filterable and sortable table, a list of every external domain, and one-click CSV / JSON export. Everything runs in your browser, so your page HTML is never uploaded — safe for staging pages. It reads only the single page you paste; your browser can’t crawl a live website (cross-origin / CORS) and there’s no server proxy, so for a full multi-page crawl use a server-side crawler such as Screaming Frog.

  • Paste your page’s HTML source — every <a href> is extracted and classified
  • Internal vs external (add your URL / domain), plus mailto / tel / anchor / other
  • rel disposition per link: follow / nofollow / sponsored / ugc + target
  • Flags empty anchors, generic “click here” text, image links and duplicate URLs
  • 100% client-side — page HTML never uploaded; filter, sort and export CSV / JSON

What is

Link extraction & classification

Link extraction is the process of inventorying every hyperlink (<a href>) on a web page and classifying each one. Links are grouped by destination — internal (pointing to the same site) versus external (pointing to another domain) — and by rel disposition: a normal “follow” link passes ranking signals, while rel="nofollow", rel="sponsored" (paid or affiliate links) and rel="ugc" (user-generated content) tell search engines not to pass those signals. A link audit also grades the anchor text (the clickable words), because descriptive anchors help users and search engines understand the destination, whereas empty or generic “click here” anchors waste that context. The goal is a clear map of a page’s internal linking structure, its outbound links and any low-value or mis-attributed links to fix.

SEO & Web

Related terms

Internal linkExternal linkNofollowSponsored linkUGC linkAnchor textLink auditRel attribute

Frequently Asked Questions

Internal links point to pages on the same site; external links point to other domains. Internal links spread link equity and help crawling; external links should be used carefully and paid ones marked sponsored.

Internal links connect pages within your own website and external links point to other domains. Internal linking is one of the most controllable parts of SEO: it distributes link equity, helps search engines discover and understand pages, and a healthy internal structure can lift rankings without any new backlinks — so important pages should have several internal links and sit only a few clicks from the homepage. External (outbound) links add value and context but should be used deliberately, and any paid or affiliate link must be marked rel="sponsored" (or nofollow). To split your links this way the extractor needs your page’s URL or domain as a base; then it labels every link internal or external and lists each external domain you link out to.

They are rel attributes that tell Google not to pass ranking signals: nofollow is generic, sponsored marks paid/affiliate links, and ugc marks user-generated links like comments.

rel="nofollow" signals that a site does not editorially vouch for a link and doesn’t want to pass ranking signals to it. In 2019 Google added two more specific attributes: rel="sponsored" for links that exist because of advertising, sponsorship or other compensation, and rel="ugc" for links in user-generated content such as comments and forum posts. All paid links must carry sponsored or nofollow — marking them only ugc can lead to a penalty. The attributes can be combined (e.g. rel="ugc nofollow"). The extractor reads each link’s rel and labels it follow, nofollow, sponsored or ugc, so you can quickly audit which outbound links pass signals and which correctly withhold them.

Because good anchor text is descriptive. Empty anchors give no context (and hurt accessibility) and generic “click here” / “read more” wastes the chance to describe the destination.

Anchor text is the visible, clickable words of a link, and Google’s own guidance is that it should be descriptive, concise and relevant — good enough to make sense on its own. Empty anchors (a link with no visible text, common on icon or image links) give users, screen readers and search engines no idea where the link goes, and generic phrases like “click here”, “read more” or “learn more” waste the opportunity to provide meaningful context. The extractor flags empty anchors, image-only links (it falls back to the image alt text), generic anchors and duplicate URLs so you can fix the low-value patterns in a link audit — while also warning against over-optimised exact-match anchors, which can look manipulative.

Paste one page’s HTML at a time. Your browser can’t crawl a live site (CORS) and there’s no server proxy, so for a full multi-page crawl use a tool like Screaming Frog.

This is a single-page link inspector: it extracts links from the HTML you paste (View Source / Ctrl+U). Because it is 100% client-side with no server proxy — which is what keeps your page private — your browser cannot follow the links or fetch other pages (almost all live sites block cross-origin requests, or CORS), so it can’t crawl a site or discover pages. The optional “try to fetch a URL” box only works for CORS-enabled or same-origin pages. For a full multi-page site crawl, broken-link discovery or JavaScript-rendered links, use a server-side crawler such as Screaming Frog, Sitebulb or paid SEO suites. Nothing you paste here is ever uploaded.

Detailed Explanation

Link extraction: in-browser (AnyTool) vs online link checkers / crawlers
CapabilityAnyToolTypical online tools
ProcessingRuns entirely in your browserSends your page / URL to a server
Your pageHTML never uploaded, works offlinePage or URL crawled server-side
Staging / unreleased pagesSafe — nothing leaves the deviceExposed to a third-party service
InputPaste your page HTML source (View Source)Often a URL the tool crawls
Internal vs externalYes — add your URL / domain as a baseYes
rel dispositionfollow / nofollow / sponsored / ugc per linkVaries
Anchor-text checksEmpty, generic “click here”, image linksVaries
Duplicate URLsFlagged across the pageVaries
Multi-page crawlNo — single page you paste (use a crawler)Some crawl the whole site
ExportCSV / JSON, generated locallyVaries, often gated
Cost / signupFree, no signupOften gated or ad-heavy

AnyTool extracts links from a page’s pasted HTML locally and uploads nothing, which is safe for staging or unreleased pages. It reads only the single page you paste — your browser cannot crawl a live website (cross-origin / CORS) and there is no server proxy — so for a full multi-page site crawl, broken-link discovery or JavaScript-rendered links use a server-side crawler such as Screaming Frog. Comparison as of June 2026.