Dead Link Checker - Find Broken Links icon

Dead Link Checker - Find Broken Links

Scan any page for broken links instantly. Highlights dead links in red and working links in green. Free broken link finder.

Version
3.0.2

This one is built but not on a store yet. The page is here so you can see what it does.

A page can look completely fine and still be full of links that go nowhere. Finding them by hand means opening each one in a new tab and closing it again, which nobody does past about a dozen. This checks every link on the page you're on, outlines the failures in red and the working ones in green right where they sit, and lists each failure with the status code it came back with. The list copies to your clipboard in one click.

When you'd reach for it

  • Auditing a page you maintain

    Press Scan This Page and every a[href] on the page is collected — mailto, tel, javascript, data and blob links are dropped, in-page anchors like #section are skipped, relative URLs are resolved to absolute ones and duplicates are removed. Each remaining URL gets a HEAD request, retried as a GET if the server rejects HEAD outright. A progress bar counts checked against total as results arrive.

  • Seeing where on the page the rot is

    Results are painted onto the page as they come back: a red outline and a pale red tint for anything that failed, a green outline for anything that answered. That turns a list of URLs into a map — you scroll the page and see that the footer is fine and the 2019 posts aren't. Reloading the page clears the marks, and starting a new scan clears them first.

  • Handing the problem to someone else

    The popup ends with three counts — total, broken, valid — above a list of every failure, each tagged with its HTTP status, or Timeout, or Error when the request never completed. Entries are clickable so you can confirm one in a new tab. Copy Broken Links puts the whole list on the clipboard as one URL and status per line, which is enough to paste into a ticket.

Permissions & privacy

activeTabCan read the page you're currently on, and only after you click the extension.
scriptingRuns the extension's own code on pages, to change what you see.
storageSaves your settings and data in the browser's own storage, on this device.
webNavigationNotices when a tab moves to a new page.
tabsCan see the titles and addresses of your open tabs.
<all_urls>Every site — because it has to work on whatever page you're on.

It runs only the code shipped inside the package — no remote code is fetched.

Questions people ask

How do I check a web page for broken links in Chrome?

Open the page, click the toolbar icon, and press Scan This Page. Every http and https link found on the page is requested and judged by its response: anything from 200 to 399 counts as working, everything else is listed as broken. Ten links are checked at a time and a request that hasn't answered in five seconds is recorded as a timeout.

What counts as a broken link?

Any link whose response falls outside 200–399, plus anything that times out or fails to connect, which show up as Timeout and Error. That covers the obvious 404 and 410 cases, but also pages behind a login and servers that refuse an automated request. The requests come from your own browser, so a link can be reported broken for reasons that have nothing to do with the page — open anything surprising to confirm it.

Which links get skipped?

mailto:, tel:, javascript:, data: and blob: links, links that are only an in-page anchor such as #section, and empty hrefs. Only http and https URLs are requested, and identical URLs are checked once, so the total in the popup is often lower than the number of a tags on the page. Links inside iframes are not part of the scan.

Why does it say it can't scan this page?

The scan has to run inside the page, and browser-owned pages don't allow that — chrome:// pages, about: pages and extension pages are refused with a message. On an ordinary site the script is injected into the tab you're viewing at the moment you press the button, not before. If the tab navigates away during a scan, results that can no longer be delivered to the page are dropped.

What permissions does it declare, and what is each one for?

The manifest declares activeTab, scripting, storage, webNavigation and tabs, plus host access to all sites. activeTab and scripting are the pair that lets the scan run inside the tab you are viewing at the moment you press the button. Tabs and webNavigation supply tab and page-load events, which is how the coloured marks are dropped when the page navigates away mid-scan. Storage is declared for the extension's own saved values. Host access is broad because the links on a page can point at any domain, and a check is a request to that link's own address.

Related extensions