# Broken link checker

> Find broken links on any web page: 404s, server errors, redirects, unreachable sites and dead #anchors, with images and scripts optional and a CSV report.

Canonical: https://cromagnon.app/tools/broken-link-checker
Last updated: 2026-10-27

- Category: SEO
- Formats: URL · CSV
- Use it: https://cromagnon.app/tools/broken-link-checker (free, runs in the browser)

## What it does

A broken link points somewhere that no longer works: a page that was deleted or moved without a redirect, a site that closed, a typo in an address, or a #anchor that jumps to nothing. Visitors hit a dead end, and search engines waste time and lose trust in the page. This tool reads one page, collects every link on it, and checks each one, so you can see which are broken, which go through redirects you could tidy up, and which sites simply refuse automated checks.

## How to use it

1. Type the address of the page to check, such as a blog post, a resources page or your home page.
2. Choose all links, only internal links to your own site, or only external links, and how many to check (up to 40).
3. Tick Include images, scripts and stylesheets to also catch missing files that break how the page looks.
4. Click Check links. Results arrive as each check finishes; problems are listed first.
5. Fix broken links by updating them to the right address or removing them, and update redirected links to their final address.
6. Download the CSV to share with whoever edits the page.

Tip: Fix internal broken links first. They're entirely in your control, and each one also means a page on your own site is missing a redirect, which may be costing you visitors from other sites too.

## What each result means

- **Works**: The address answers 200 OK without redirecting. Nothing to do.
- **Redirects**: The link works, but goes through one or more redirects first. Update it to the final address shown, especially for links to your own site; links that only change http to https are easy wins.
- **Broken**: The address answers 404 (not found), 410 (gone) or another 4xx code, or a server error (5xx). Server errors can be temporary, so check those again before removing them. A broken anchor means the page has no element with that id.
- **Blocked check**: The site answered 401, 403 or 429. Many large sites, social networks and shops block automated requests, so this usually doesn't mean the link is broken. Open it in a browser to be sure.
- **Unreachable**: The domain doesn't exist, the server didn't answer in time or the address is malformed. Expired domains are a common cause, and they can be bought by someone else, so remove those links.

## How the check works

The page is fetched once and every <a href> link is collected, with relative addresses completed using the page's address or its <base> tag. Duplicates are merged, and all the link texts that point to the same address are shown together. Links to email, phone, JavaScript and data addresses are skipped. Links to #anchors on the same page are checked against the ids on the page without any request.

Each address is then asked for its headers only (a HEAD request), four at a time. If the answer is an error, the tool asks again for the full page, because many servers answer HEAD requests wrongly while the page works fine. Redirects are followed to the end so you see the final address. Up to 40 addresses are checked per run to keep it quick and polite to other sites; for a longer page, check internal and external links in separate runs. Because checks are limited per minute, a busy run may pause briefly and then carry on by itself.

Links in the page's menus, header and footer appear on every page that uses the same template, so a broken link there is really a broken link across your whole site. Checking the home page and one example of each page type, such as an article, a product and a category page, catches most of those template problems in a handful of runs. Same-page #anchor links are listed separately and don't count towards the limit, so long articles with a table of contents or footnotes may show many more results than the number you chose.

## Why broken links matter

For visitors, a broken link is a dead end that makes the page feel neglected and sends them away. For search engines, links are how pages are discovered and how value flows through your site: a broken internal link means a page may not be found, and a broken external link is a sign that the content isn't maintained. A few broken links won't cause a penalty, but on resource pages, documentation and long-lived articles they add up. When a page you link to has moved, link to its new address; when it's gone, find a replacement source or an archived copy, or remove the link.

## Tips

- **Redirect what you remove**: When you delete or move a page, redirect its old address so links from other sites keep working.
- **Check old content**: Articles more than a year old collect the most broken external links.
- **Use archived copies**: For a source that's gone, the Internet Archive often has a copy you can link instead.
- **Mind expired domains**: A domain that stopped working may be re-registered by spammers. Remove links to it.
- **Tidy redirects**: Updating internal links to their final address speeds up the site and makes crawling more efficient.
- **Recheck regularly**: Links rot over time. Recheck important pages every few months.

## Questions

### Can it check my whole site?

It checks one page per run, up to 40 links. Check your most important pages and templates, such as the home page, menus and footer.

### Why does a link work in my browser but show Blocked?

The site blocks automated requests with 401, 403 or 429 answers. That's bot protection, not a broken link.

### Are nofollow links checked?

Yes. All links are checked; nofollow only affects how search engines treat them.

### Does it check links added by JavaScript?

No. It reads the HTML the server sends. Links that only appear after scripts run aren't seen.

### Does checking links affect the other sites?

Each address is requested once, with headers only where possible, so the load is tiny.

### Is anything stored?

No. Pages are fetched by our server for the check, and the results stay in your browser.

## Related

- [HTTP Header Checker](https://cromagnon.app/tools/http-header-checker)
- [Redirect Generator](https://cromagnon.app/tools/redirect-generator)
- [On-Page SEO Checker](https://cromagnon.app/tools/on-page-seo-checker)
- [HTTP Status Codes](https://cromagnon.app/tools/http-status-codes)
- [All tools](https://cromagnon.app/tools)
