Broken Link Checker
Find dead links, 404 errors, and broken redirects on any page. Or check your entire sitemap at once. Paste a URL and the tool scans up to 250 pages per run with status codes and response times.
How this broken link checker works
The tool fetches a page's HTML and parses every <a href> tag it finds. Each link gets a HEAD request to check the HTTP status code and measure response time. Internal links (same domain) show up first because those are the ones you control. External links are checked too, but they're separated so you can focus on what matters.
Switch to Bulk mode and the tool discovers your sitemap automatically. It reads robots.txt for a sitemap reference, then tries common paths like /sitemap.xml and /wp-sitemap.xml if nothing turns up. Once found, it parses every URL and checks them in parallel with controlled concurrency. Pick the batch size before you start: 10, 25, 50, 100 or 250 URLs. Larger batches take longer, and the button shows a rough time estimate for each.
Redirect chains get flagged separately. A single 301 is fine. But when the tool sees A redirecting to B redirecting to C redirecting to D, it flags the chain. Every hop is another round trip the browser has to wait for, so the chain costs your reader time. It also costs crawl clarity: Google follows up to 10 redirect hops per Search Central, and a chain that runs longer than that simply stops being followed. Google has said since 2016 that PageRank is not lost through 30x redirects, so the cost here is latency and crawl handling, not lost link equity.
Why broken links cost you more than you think
Every internal link that 404s is a path your own site invites a crawler down for nothing. Google says crawl budget only becomes a real constraint on large sites, but the dead end is wasted either way: a page you linked on purpose returns nothing, and whatever you meant to send readers to is unreachable.
The reader impact is the part you can feel. Someone clicked a link because they wanted the thing behind it, and got an error page instead. Whether they come back is out of your hands at that point.
AI answer engines fetch pages before they cite them, the same way a crawler does. A URL that returns 404 gives them nothing to read, so a dead link is a dead end there too. No provider publishes how it weighs this, so treat it as a reason to keep links alive, not as a measurable ranking lever.
Ahrefs looked at the backlink profiles of 2 million domains and found 66.5% of the links pointing at them since 2013 were dead. Link rot is constant. Monthly checking is the minimum.
What the status codes mean
200 OK - page loads fine. 301 - permanent redirect. 302/307 - temporary redirect; Google has said both permanent and temporary redirects pass PageRank, but a 302 tells it the old URL is the one to keep indexed. 403 - server blocks the request (bot detection or geo-restriction). 404 - page not found. 410 - page permanently removed. John Mueller put the deindexing advantage of a 410 over a 404 at about a day or two, and said that over the mid to long term Google treats the two the same, so use 410 when you deliberately deleted a page but don't expect much from it.
500/502/503 - server error, usually temporary. Timeout - the server didn't respond in time. Response time matters too. A 301 that takes 800ms is technically "working" but slow enough to affect Core Web Vitals if it's in the critical rendering path.
Explore more tools
Redirect Checker
Trace full redirect chains for any URL.
Sitemap Validator
Validate XML sitemaps and check URL health.
Crawler Access
Check bot access and robots.txt rules.
Link Analyzer
Analyze anchor text, nofollow, and link attributes.
Meta Tag Analyzer
Check title, description, and OG tags.
PageSpeed Insights
Run Lighthouse audits with Core Web Vitals.
FAQ
Lumina checks every link on every page you visit. Dead links, redirects, missing pages.
Add Lumina to Chrome — Free