Checking for dead links, explained
A dead link points to a page, image, stylesheet or script that no longer loads. Visitors hit a 404 page, search engines waste their crawl budget on it and your site looks neglected. This free broken link checker scans a website, a sitemap, a list of URLs or a piece of HTML, checks every link and shows exactly where each broken one is, so you can fix it.
How does the website scan work?
Enter your home page or any start page. The checker reads that page, collects every link, image, script and stylesheet on it, then follows the links that stay on the same website, page by page, up to the number of pages you chose. Each unique URL is checked once, even if it appears on fifty pages, and the report lists every page where it was found together with the link text. Links to other websites are checked too, but not crawled further.
Why does the accurate method use a proxy?
Browsers protect you with a rule called CORS: JavaScript on one website may not read the answer from another website unless that site allows it. Without help, a browser-only checker can only see whether a server answers at all. That finds dead domains, but not a 404 page. The Accurate method asks a public CORS proxy (allorigins.win, with corsproxy.io as back-up) to request each URL and report the real HTTP status code and the final address after redirects. The Private method sends nothing to a proxy, but only tells you whether a domain is reachable.
Which status codes count as broken?
404 Not Found and 410 Gone are the classic broken links; other 4xx codes count as broken too. 5xx codes are server errors: the page might come back, so check again later. 401, 403 and 429 often mean the site blocks automated checks (LinkedIn and some shops do this) while the link works fine in a browser, so they are listed separately as blocked check. A link that leads somewhere else first is a redirect: it works, but pointing straight to the final URL is faster and better for SEO.
What else does it check?
It flags http:// links on https pages (mixed or insecure links), anchors that point nowhere (a link to #pricing while no element has that id), empty links, and links with rel="nofollow". With images, scripts and CSS switched on, it also finds missing images and broken stylesheets, which do not show up as clickable links.
Checking a sitemap
Enter the address of your sitemap.xml. The checker reads it, follows sitemap index files, and checks every URL listed, up to the maximum you choose. Every URL in a sitemap should answer with 200 OK; a redirect or 404 there means the sitemap is out of date. Tick also check the links on every page to check the links inside those pages too.
Checking pasted HTML or a list
Paste the HTML of a page, an email newsletter or a Markdown file, and add a base URL if it contains relative links like /about. Or paste a plain list of URLs, one per line, for example an export from your CMS or Search Console.
How fast is it, and is it polite to the server?
By default four requests run at the same time. A 25-page scan with a few hundred links usually takes one to three minutes. You can go up to eight in parallel, but on small sites two or four is kinder to the server. Stop at any time and the results so far stay in the table.
Is my data stored anywhere?
No account, no database. The report lives in your browser tab until you close it; export it as CSV or JSON if you want to keep it. In the accurate mode the URLs being checked pass through the public proxy, so do not use it for private intranet links. Your settings are remembered in your browser.
More free tools