Broken Link Checker
Find broken links, 404 errors, and redirects on your website. Check single pages or crawl entire sites (up to 2000 pages) with detailed reports.
Check Links
Results
Enter a URL and click "Check Links" to start scanning
About Broken Link Checker
Free online tool to identify broken links, 404 errors, and dead URLs on your website. Check a single page or crawl up to 2000 pages to find broken links, redirects, and inaccessible resources. Scans 16 different link types including hyperlinks, images, CSS, JavaScript, favicons, canonical URLs, and more. Export results in CSV, JSON, XLSX, or HTML format.
Why use a Broken Link Checker?
Broken links negatively impact your SEO ranking and user experience. Scan your website to identify 404 errors, track redirect chains with response times, and check the status of all resources. The tool detects bot protection (Cloudflare, reCAPTCHA) and JavaScript-rendered content that may affect scan results. Real-time progress updates show pages crawled and links checked.
Who is it for?
Website owners, SEO professionals, web developers, digital marketers, and content managers who need to maintain website quality, improve SEO performance, and ensure all links are working correctly.
How to use the tool
Enter the URL you want to check (protocol optional - example.com or https://example.com)
Choose between Single Page mode (check one page) or Website Crawl mode (crawl up to 2000 pages)
The tool automatically checks hyperlinks, favicons, canonical URLs, iframes, RSS feeds, and PWA manifests. Images, CSS, and JavaScript files are also scanned.
Click 'Check Links' and monitor real-time progress (updates every 10 seconds showing pages crawled and links checked)
If bot protection is detected (Cloudflare, reCAPTCHA, JavaScript-rendered content), a warning will appear with diagnostic details
Review the results: working links (green), redirects (yellow), and broken links (red)
Click on any link to see status code, response time, and full redirect chain if applicable
Filter results by status: All, Broken Only, Working Only, or Redirects Only
Export results to CSV, JSON, XLSX, or HTML format for further analysis or reporting
Frequently Asked Questions
How do I check for broken links on a webpage?
Enter the page URL. The tool fetches the page (via our backend), extracts all links (`<a href>` and similar), then checks each one with a HEAD or GET request. Reports broken links by status code (404 Not Found, 410 Gone, 5xx server errors, connection failures, timeouts). Also flags redirects (301/302) and other anomalies. Useful for: pre-launch QA, post-migration auditing, SEO maintenance, ensuring documentation links stay valid.
Why is this server-side, not in my browser?
Two reasons. (1) **CORS**: browsers block cross-origin fetches; a client-side checker couldn't read the response status from arbitrary external URLs. (2) **Performance**: checking dozens of links from a browser is slow (browser connection limits) and noisy (every request shows in DevTools). Our backend uses an HTTP client without those constraints. We log only the target URL for rate-limiting; the full link inventory isn't persisted.
Why are broken links a problem?
Three impacts. (1) **User experience**: visitors hit dead pages, lose trust, leave. (2) **SEO**: search engines waste crawl budget on broken pages; broken outbound links can hurt your perceived authority; broken inbound links lose 'link juice' (no destination to consolidate). (3) **Documentation rot**: broken links accumulate as the web changes — APIs move, companies shut down, articles get unpublished. Audit periodically (monthly for active sites, quarterly for stable ones). Fix or remove broken links promptly.
What's a soft 404?
A 'soft 404' is a page that returns HTTP 200 OK but is functionally a 404 — empty content, 'Page not found' message, or generic error displayed without the correct status code. Search engines try to detect these but it's heuristic and unreliable. Always return proper 404 status codes for missing pages. This checker detects status-code 404s; for soft 404 detection, use Google Search Console's Coverage report which has more sophisticated detection. Common cause: SPAs that render a 'Not Found' route via JavaScript without updating the response status.
How long does scanning a large site take?
Depends on link count and target server speed. Typical: 1-2 seconds per link via HEAD requests. A page with 50 links: 30-60 seconds. For full-site scans (crawling), use dedicated tools like Screaming Frog, Sitebulb, or AhrefsAudit — they handle concurrency, robots.txt, and rate-limiting properly. This tool is for single-page audits. For continuous monitoring, set up a CI step that runs link-checking on every deploy (linkcheck, htmltest, lychee — open-source CLI tools).
Does this respect robots.txt?
The tool sends standard HEAD/GET requests but doesn't gate them on robots.txt — robots.txt is a hint to crawlers, and a one-off audit isn't a crawler. For courteous large-scale auditing of sites you don't own, respect robots.txt and rate-limits. For your own sites, ignore robots.txt (you're the owner). For checking blocked URLs are correctly blocked, use [Robots.txt Tester](/tools/robots-txt-tester/) — it's the right tool for that question.
What about JavaScript-rendered links?
Limited support. The tool fetches the raw HTML and extracts links from the static markup. SPAs (React, Vue, Angular) that render links via JavaScript won't have those links in the initial HTML — they appear after JS execution. For SPA link auditing, use a tool that renders JS (Screaming Frog with JS rendering enabled, Playwright-based crawlers). For most marketing sites and content-driven sites (which use server-rendered HTML or static generation), this tool catches the vast majority of links.
How do I fix broken outbound links to third-party sites?
Options. (1) **Update the link**: find where the content moved to (use the Wayback Machine — https://web.archive.org/ — to find the original content, then search for it elsewhere). (2) **Remove the link**: if the link is non-essential, just remove it. (3) **Replace with an archive link**: link to the Wayback Machine snapshot if the original content is permanently lost. (4) **For your own broken inbound links**: set up a 301 redirect from the old URL to the new one. Use [HTTP Header Checker](/tools/http-header-checker/) to verify redirects are working.
Share This Tool
Found this tool helpful? Share it with others who might benefit from it!
💡 Help others discover useful tools! Sharing helps us keep these tools free and accessible to everyone.