Scan any web page and find its broken links in seconds. We check every link on the page, follow redirects, and tell you honestly which are truly dead versus just blocking our checker.
A broken link checker is a tool that requests every link on a web page and reports which ones fail to load. The hard part is not finding failures. It is telling the difference between a link that is genuinely dead and one that simply refuses to answer an automated request, which is why so many scan reports flag working LinkedIn profiles and Cloudflare-protected sites as 404s. The ToolsPivot Broken Link Checker sorts every result into four buckets instead of two, so you fix what is actually broken and leave the rest alone.
ToolsPivot fetches one page you specify, extracts every link in its HTML, and tests each destination individually. It reads both anchors and sources, resolves relative paths against any tag, drops non-web protocols like mailto: and tel:, and de-duplicates the rest while keeping a count of how many times each URL appears.
Each surviving link then gets probed on its own. The result comes back with a status code, a plain-language reason, the anchor text that pointed at it, and, for anything that redirects, the final destination plus the number of hops it took to get there. Everything runs on the server side, because a browser cannot read the status code of a cross-origin request. That is a hard constraint of the web, not a design choice, and any tool claiming to check external links purely in your browser is describing something browsers do not permit.
Writers and site owners typically reach for this after publishing a long reference post, inheriting a site from someone else, or finishing a migration. Editors running an archive check it against old posts where outbound sources have quietly disappeared. Developers use it as a fast pre-deploy sanity pass on a template or landing page before it ships.
Most link checkers classify results as broken or not broken, which forces every ambiguous response into one of those two boxes. This tool uses four buckets, and the third one is the reason the report is worth trusting.
| Bucket | Statuses | What it means |
|---|---|---|
| Working | 2xx | The link resolved normally. No action needed. |
| Redirect | 3xx | It resolves, but only after one or more hops. The final URL and hop count are shown. |
| Blocked (may be fine) | 401, 403, 429, 999 | The server refused an automated request. It very often works in a real browser. |
| Broken | 404, 410, 5xx, DNS, timeout, SSL | Genuinely failing. This is your fix list. |
The Blocked bucket exists because a 403 or a 429 does not mean a page is gone. It means a bot filter, a rate limiter, or a login wall got in the way. LinkedIn returns a nonstandard 999 for exactly this purpose, and Cloudflare commonly answers automated traffic with a 403. Pew Research Center hit the same wall in its 2024 link rot study and handled it the same way, counting a page as inaccessible only when it returned one of nine error codes that definitively indicate the page or its host no longer exists. Conservative classification is what serious research does, and it is what this tool does by default.
![]()
on the page is probed alongside the anchors.Reach for a link check whenever the pages a link points to might have changed without you noticing. Link rot is steady rather than dramatic. Pew Research Center found that a quarter of all webpages existing at some point between 2013 and 2023 were gone by October 2023, and that 23% of news pages and 21% of government pages carried at least one broken link.
An agency takes over a client site with 400 published posts and no maintenance history. Scanning the highest-traffic posts one at a time surfaces which outbound sources have vanished and which merely block bots. The anchor text column makes each fix a find-and-replace rather than a hunt, and the CSV export becomes the ticket list handed to the content team.
A site moves from a dated CMS to a new platform and the URL structure changes. A scan of the homepage and each main category page catches internal links still pointing at the old paths. Once those are fixed, regenerating an XML sitemap and reviewing the robots.txt rules makes sure crawlers are pointed at the new addresses rather than the retired ones.
A link keeps landing in the Broken bucket with an SSL error while it loads fine in a browser. Checking the certificate with an SSL checker usually reveals an incomplete chain that browsers paper over and automated clients do not. If the failure is a 5xx instead, a server status check confirms whether the host is down for everyone or just refusing this one request.
A scan returns 14 blocked links. Rather than trust or dismiss them wholesale, you export the CSV, paste the URLs into a bulk URL opener, and confirm in tabs which genuinely load. Most will. The handful that do not move to your fix list with evidence behind them.
The right response depends on the bucket, and treating all four the same is how sites end up worse after an audit than before it.
Broken internal links are yours to fix directly. If the destination moved, add a 301 to the new address. If it was deleted and a close equivalent exists, redirect there. If nothing replaces it, remove the link and edit the surrounding sentence so it still reads properly.
Broken external links usually need a replacement rather than a redirect. Search the same domain for the moved page first, since publishers often relocate content without redirects. If the site is gone entirely, swap in a different source or unlink the text and keep the wording.
Redirects are not errors, and a single hop is fine. Update the href to the final URL when a chain runs two or more hops deep, and check the raw response with an HTTP header tool if you need to confirm whether each hop is a 301 or a 302.
Blocked links need a human. Open them in a browser and confirm. If a page loads normally, the link is fine and nothing needs changing.
Knowing what the ToolsPivot scan does not do matters as much as knowing what it does.
A broken link is a hyperlink whose destination cannot be loaded. The most common cause is a deleted or moved page returning a 404, but DNS failures, server errors, and expired SSL certificates break links the same way.
Yes, with no account and no paywalled features. CSV export, per-link recheck, image checking, and soft 404 detection are all included.
Because the destination server refused an automated request rather than confirming the page is gone. LinkedIn returns a 999 status specifically to stop scanners, and Cloudflare-protected sites frequently answer bots with a 403.
No. It checks the links on one page at a time. Scan your most important pages individually rather than expecting site-wide coverage.
Dead internal links waste crawl requests and stop link equity from reaching the destination page. Dead outbound links mostly signal a page nobody maintains, which matters more for reader trust than for rankings directly.
A 404 means the page was not found and might return. A 410 means it was deliberately removed and will not, which search engines act on faster.
Yes. Every image source on the page is probed alongside the anchor links, so missing images appear in the same results table.
A soft 404 is a page that returns a 200 success status while showing an error message to visitors. The tool checks the title and headings of working page links for not-found phrasing to catch these.
Your browser carries cookies, a session, and a full browser fingerprint that an automated request does not. This is exactly what the Blocked bucket is for, and it is why those results are not counted as broken.
Quarterly is enough for most pages, and monthly suits sites that publish often or link heavily to external sources. Always check immediately after a migration or URL restructure.
No. It parses raw HTML, so links inside PDF files or injected by JavaScript after page load are not seen. A link to a PDF is checked, but the contents of that PDF are not.
Update the href to point at the final destination when a chain runs two or more hops. Single redirects are normal and rarely worth changing.