This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Broken Link Highlighter

Developer Tools · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryDeveloper Tools
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Broken Link Highlighter scans every link on a webpage, checks its HTTP status using HEAD requests, and visually highlights any broken links (404, 403, 500, timeout, or network errors). Each broken link is marked with a red border, strikethrough, or both, making it easy to spot broken navigation, missing resources, or outdated references. Hover over a highlighted link to see a tooltip showing the HTTP status code, status text, and the full URL. A badge in the corner of the page shows the total number of broken links found. The extension supports filtering by internal or external links, caches results to avoid rechecking on subsequent visits, and offers both automatic scanning on page load and manual scanning on demand.

WHERE IT RUNS

The extension works on every website with hyperlinks, including documentation pages, blog posts, e-commerce sites, admin panels, and any other page with anchor tags. It runs locally in your browser, sending HEAD requests to each link's URL and processing the responses without sending page content to external servers. The extension supports all major browsers and adapts to both desktop and mobile viewports seamlessly.

HOW TO USE

After installation, the extension automatically scans the page for broken links (if enabled). A badge appears in the bottom-left corner showing the number of broken links found. To run a manual scan, open the extension panel and click "Scan for Broken Links." Use "Clear Highlights" to remove all visual markers. If a scan is taking too long, click "Cancel Scan" to stop it. To view details about a broken link, hover over the link—a tooltip appears showing the HTTP status code, status text, and full URL. To customize the experience, open the extension panel and adjust the highlight style (Border only, Strikethrough only, or Both). Toggle "Scan on page load" to enable or disable automatic scanning. Toggle "Cache results" to store link statuses locally, and set a cache duration in minutes (5 to 1440). Use the filter to scan All links, Internal only, or External only. For per-site customization, enable or disable the extension on specific websites using the per-site controls.

THE ACTUAL MECHANISM — HTTP HEAD REQUEST PIPELINE WITH CACHING AND RATE LIMITING

The extension uses the XMLHttpRequest API to send asynchronous HEAD requests to each link's URL. HEAD requests are used instead of GET requests because they retrieve only the HTTP headers (including the status code) without downloading the entire resource, making them significantly faster and more bandwidth-efficient. For each link, the extension resolves relative URLs against the current page's base URL using the URL constructor. Before sending a request, the extension checks the cache (stored via GM_setValue) to see if the link has been checked recently. If cached, the stored status is used immediately. If not cached, the extension sends the HEAD request with an 8-second timeout. The response status code is captured (404, 403, 500, etc.) and stored in the cache. Links with status codes 400 or higher, or with network errors or timeouts, are considered broken. To prevent overwhelming the server, requests are spaced with a 200ms delay between each request. The extension tracks the total number of links scanned and updates the badge in real-time. For external links, the same-origin policy may restrict HEAD requests, but the extension still attempts them and handles CORS errors gracefully. All results are cached with a timestamp, and cache entries expire after the configured duration (default: 60 minutes).

THE PANEL

The settings panel is a lightweight, draggable overlay that appears in the center of your screen. You can reposition it by clicking and dragging the title bar; release it near the screen edge and it will snap into place automatically. To collapse the panel into a compact title bar, click the minimize button, expanding it again with the same control. The panel is fully responsive, adapting to different screen resolutions with a minimum width of 300px and a maximum of 480px. Press the Escape key at any time to dismiss the panel without applying changes. All controls—the enable/disable toggle, scan button, clear highlights button, cancel scan button, highlight style selector, scan on load toggle, cache toggle, cache duration input, link filter selector, clear cache button, and per-site controls—are accessible within a clean, high-contrast interface that respects your system's color scheme.

PLEASE NOTE

This extension requires the free BotGentz companion extension to be installed and active, which provides the underlying DOM access, storage, and HTTP request capabilities. Scanning large pages with hundreds of links may take some time; the extension spaces requests to avoid overwhelming servers but this may result in longer scan times. Some websites may block HEAD requests or return misleading status codes due to CORS or server configuration—the extension will report the status it receives. Cached results are stored locally and may not reflect recent server changes if the cache duration is set too high. No personal data, browsing history, or page content is ever collected, stored, or transmitted. All settings and cached data are saved using the browser's storage API and remain solely on your device. The extension does not inject ads, trackers, or analytics of any kind.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.