Broken Link Checker
Check a list of URLs to see which ones are completely unreachable. Browser security limits mean this can't read exact status codes like 404 for other domains, but it reliably catches dead or nonexistent links.
Browsers block reading the actual HTTP status code for cross-origin requests. This tool honestly reports whether a URL is reachable (a live server responded) or unreachable (no connection could be made at all) - it can't distinguish a working page from a 404 error page on a live server, since both are technically "reachable."
Recommended Settings
Pro Tips
- •"Unreachable" means the domain couldn't be resolved or the connection failed outright - a genuine sign of a dead or mistyped link
- •"Reachable" only confirms a live server responded - it doesn't guarantee the page actually shows the content you expect, since a 404 error page is still technically reachable
- •For precise status codes like 404 or 500, you'd need a server-side tool that isn't limited by browser cross-origin restrictions
- •Large lists take longer to check since each URL requires its own network round-trip - this tool checks all of them in parallel to keep it as fast as possible
Most Popular
Most users paste a list of outbound links from an article before publishing to catch dead links
When to Use This Tool
Check a set of links from an older article or page to find ones that have gone completely dead.
Clean up a resource or bookmark list by identifying links that no longer resolve at all.
Do a final check of outbound links before publishing new content.
Verify that a list of reference or citation URLs are still live before finalizing a document.
How It Works
For each URL, attempt a direct fetch request using no-cors mode, which allows the request to complete even for domains that don't grant this site cross-origin access
If the browser can't establish a connection at all (DNS failure, connection refused, or similar), the request throws an error, which is reported as unreachable
If a live server responds - even with an error page - the request resolves, which is reported as reachable, since the response content itself is inaccessible due to CORS
100% Private
Files never leave your device. All processing happens locally in your browser.
Lightning Fast
Powered by Browser native Fetch API with no-cors requests for optimal performance on modern browsers.
Open Source
Built with verified, open-source libraries. Fully transparent.
Frequently Asked Questions
Why can't this show me the actual HTTP status code?
Browsers enforce cross-origin restrictions that prevent JavaScript from reading the response details (like status code 200, 404, or 500) for requests to other domains unless that domain explicitly allows it via CORS headers. Most websites don't enable this for arbitrary requests.
What does "reachable" actually mean here?
It means a live server responded to the connection attempt - which could be the working page you expect, or could just as easily be a 404 error page or a redirect. The distinction between those isn't visible to this tool due to browser security restrictions.
Why would a link show as unreachable?
This typically means the domain doesn't exist, DNS couldn't resolve it, the server refused the connection, or the request timed out entirely - all genuine signs of a dead or broken link.
Is my list of URLs sent to a server?
The URLs are used to make direct requests from your browser to each target site - no data passes through this tool's own servers. Each target site does see a request from your browser, the same as if you visited it directly.
Is there a more precise way to check status codes?
Yes, a server-side link checker (running outside a browser) isn't subject to the same CORS restrictions and can read exact status codes. Browser-based tools like this one trade that precision for running entirely client-side with no backend required.