Overview

Find broken links without leaving the page

A lightweight Chrome side-panel tool that checks HTTP links on the current page, across a domain, or within a category — stores results locally, highlights issues on the page, and exports tables you can paste into Sheets or Excel. No account and no API keys.

How to use

  1. Open any http(s) page in Chrome.
  2. Click the extension icon, then Scan Current Page (or open the sidebar and press Start Scan).
  3. Review broken links in the sidebar, grouped by page. Use scroll-to and recheck per row.
  4. Export with CSV or Open in Sheets (clipboard TSV + sheets.new — paste with Ctrl/Cmd+V).
  5. Open this Options page for history, settings, and documentation.

Where to open it

  • Toolbar icon — popup with quick scan actions.
  • Side panel — live results while you browse.
  • Options page — this window (right-click the icon → Options, or History from the sidebar).
  • Install / reload from chrome://extensions → Load unpacked while developing.

How scanning works

  • Current page — extracts links from the DOM, deduplicates, then checks each unique URL.
  • Entire domain — discovers same-origin pages in batches, then checks collected links (see Domain batches below).
  • Category — URL prefix, nav section, or sitemap filter before crawl.
  • Checks use GET with redirects followed, per-host throttling, and retries on 429/503.
  • Same-page #anchors are validated in the DOM (element id / name), not over HTTP.
  • Non-page protocols (mailto:, tel:, apps, etc.) are skipped.

Entire domain — batches

Large sites are easier when you scan in batches instead of one long crawl. Configure this under Settings → Domain batches.

  1. Set Pages per batch (default 50) — how many new pages each Entire Domain run adds.
  2. Keep Skip pages already scanned for this domain on (default) so History is used as a “done” list for that root domain.
  3. Choose how to pick pages: Discovery order (follow links as found) or Random sample from the queue.
  4. Run Entire Domain (popup or sidebar). Watch progress: discovering pages, then checking unique URLs.
  5. Run again on the same site for the next batch — already-scanned page URLs are skipped automatically.
  6. When nothing new is left, you’ll get a clear message. To start over: turn skip off, or delete that domain’s scans in History.
  • The current tab is used as a seed for discovery even when that page was scanned before.
  • Batch settings apply to Domain and Category crawls; Current Page is unchanged.
  • Lower pages-per-batch for faster loops; raise it when you want bigger chunks.

Status codes & results

ResultMeaning
2xx / 3xxReachable (redirects counted healthy after follow).
4xx / 5xxBroken or server error for that URL.
429 / 503Busy server — retried with backoff + slow end pass. Remaining ones are “unverified,” not broken.
timeoutNo response within the timeout window.
errorNetwork failure or unusable response.
hash OKOn-page fragment target found in the DOM.

Benefits

  • Works beside the live page with persistent markers until you clear them.
  • History stored in IndexedDB on your machine — no cloud sync.
  • Throttled requests reduce false failures from rate limits.
  • CSV / Sheets paste without Google API credentials.
  • Configurable crawl caps, concurrency, and copy columns.

Limitations

  • Cannot authenticate into login walls or paywalled content.
  • Only sees links present in the page DOM at scan time (SPA routes loaded later may be missed).
  • Domain crawl is capped per batch (default 50 new pages). Enable skip-already-scanned to continue in batches.
  • Some CDNs block automated fetches even when browsers can open the URL.
  • Not a full SEO crawler replacement for large sites (use Screaming Frog / Sitebulb for those).