Tools

Broken Link Checker

Run a free broken link checker on any page: find dead links, redirects and broken images in seconds. See the status code, anchor text, type and redirect target of every URL in one table and export it as CSV. Free, no sign-up.

On-page link auditcollects 150 URLs · checks 60 one by one
The page is read by our server; URLs and results are not stored.
What to check

The tool reads the page's HTML; links added later by JavaScript are not visible to it. It checks the first 60 matching URLs one after another with a HEAD request, falling back to GET, and keeps the total run time to about 25 seconds. LinkedIn, Instagram, Facebook and X block automated requests, so their URLs count as Unverified.

Link report Waiting
Total0no scan yet
Broken0404, 410, 5xx, DNS
Error0timeout, SSL
Redirect03xx then 2xx
Unverified0403, 429, bot block
OK0direct 2xx
Type an address and press Check links. The links, images and resource files on the page are listed here with their status code.
Talha Aslan Written byTalha AslanDigital marketing expert, Google Partner Last updated

How to use the Broken Link Checker

  1. 1Enter the page URL

    Type the address of the page you want to audit into the Page address field. Also, if you leave out http or https, the tool starts with https.

  2. 2Choose the scope

    Use the Page links, Images and CSS, JS and iframes boxes to decide what the tool checks. Then tick Internal URLs only if you want to focus on your own site.

  3. 3Press Check links

    The tool first reads the page and collects its URLs, then tests the first 60 that match your selection one after another. The progress bar shows how many have finished.

  4. 4Read the summary cards

    Total, Broken, Error, Redirect, Unverified and OK sum up the result at a glance. The notes under the cards explain limits and flag internal links that pass through a redirect.

  5. 5Filter, fix, export

    Narrow the table with the Broken filter and the Internal and External tabs, and use Download CSV to share it with your team. Finally, run the same page again after fixing.

How does the tool classify a URL?

The broken link checker looks at the server's response for every URL and puts the result into one of five classes. The rules are:

OKThe server answers directly with a 2xx code, for example 200 OK, without any redirect.
RedirectThe URL passes through one or more 3xx redirects and ends with a 2xx. In practice, the tool follows up to 5 redirects.
BrokenThe final response is a 4xx such as 404 or 410, a 5xx such as 500 or 503, or the domain does not resolve in DNS at all.
ErrorNo response within 10 seconds, an SSL/TLS error, a failed connection, a redirect loop or more than 5 redirects.
UnverifiedThe response is 401, 403, 429 or LinkedIn's non standard 999 code, or the URL belongs to LinkedIn, Instagram, Facebook, X, a private network or a port other than 80 and 443.
Request orderThe tool first tries a HEAD request, which asks for headers only. If the answer is a 4xx or 5xx, or the connection drops, it retries with GET and reads just the first 2 KB of the body.

The tool lists up to 150 unique URLs on the page, checks the first 60 that match your selection and keeps the scan plus the checks to about 25 seconds in total. Page links come first, then images, then CSS, JS and iframe URLs.

Example URLs and what the tool reports

The URLs below are example scenarios; when you check a URL that gives the same response, the tool shows exactly this result.

URL on the pageServer responseTool resultStatus column shows
https://example.com/old-campaign/404Broken404 Not found
https://example.com/discontinued-product/410Broken410 Gone
https://example.com/contact (internal link)301, then 200 at https://example.com/contact/Redirect301 Redirect → 200; target column: Internal link: point it to the final URL
https://news.ycombinator.com/405 to HEAD, 200 to GETOK200 OK
https://closed-site.com/Domain not found in DNSBrokenDNS: Domain not found (DNS)
https://example.org/slow-pageNo response within 10 secondsErrorERR: Timeout (10 s)
https://expired-cert.com/Invalid SSL certificateErrorERR: SSL/TLS error
https://www.linkedin.com/company/exampleNo request sentUnverifiedBOT: Site blocks automated requests
https://big-store.com/403Unverified403 Forbidden: the site may block automated requests

Only the news.ycombinator.com row is a real case: the server rejects HEAD with 405 and answers GET with 200. Apart from it, the domains are example addresses chosen to illustrate the scenario.

HTTP status codes: what Google does and what the tool says

The codes you will see most often, how Google handles them and which class the tool assigns, in one place.

CodeMeaningWhat Google doesTool result
200SuccessProcesses the content and may index itOK
301, 308Permanent redirectFollows it and treats it as a strong signal that the target is canonicalRedirect
302, 307Temporary redirectFollows it but treats it as a weak signalRedirect
404Not foundDoes not use the content and drops the URL from the index over timeBroken
410GoneHandles it the same way as 404Broken
401, 403Login required, forbiddenDoes not use content from 4xx URLsUnverified
429Too many requestsTreats it like a server error and temporarily slows crawlingUnverified
500, 502, 503Server side errorTemporarily slows crawlingBroken
999Non standard code (LinkedIn)Not a standard HTTP codeUnverified

Sources: Google Search Central documentation on HTTP status codes and RFC 9110. Google's handling can change over time; check the current documentation before critical decisions.

What is a broken link checker and what does this one scan?

A broken link checker tests whether the links on a page actually reach their target. This one reads the HTML of the page you enter, collects its links and sends a request to each of them from our server. Then it writes every result into a table together with the status code.

The tool collects these URLs:

  • Page links: a tags plus canonical and hreflang URLs.
  • Images: the src of img tags, the first candidate in srcset and the favicon.
  • Resources: CSS files, JavaScript files and iframe URLs.

On the other hand, it skips values starting with mailto, tel, javascript or data, and links that are just a # sign. If the same URL appears several times on the page, it shows up once with a count; that way, a single broken menu link does not flood the table.

In my SEO consulting work I run this check on every new template and after every content cleanup. Old blog posts in particular fill up with links to sources that have since disappeared, because nobody revisits them.

Do broken links hurt SEO?

In Google's own words, 404 errors do not by themselves harm a site's indexing or ranking. Specifically, the Search Console help page tells you to add a redirect when content has moved and to leave a 404 when a page is really gone. So the issue is less about penalties and more about losses.

The losses show up in three places:

  • Visitors: a broken link leads readers to a dead end and chips away at trust and conversions.
  • Crawling: Googlebot spends a request on every broken URL; on large sites that means Google discovers new pages later.
  • Link value: in addition, if a page with backlinks from other sites returns 404, the value of those links does not carry over to a new page.

The problem is also more common than most people think. According to a 2024 Pew Research Center study, 38% of webpages that existed in 2013 are no longer accessible. The same study found at least one broken link on 23% of news pages and 21% of government pages. In other words, broken links pile up on any site that nobody maintains. I explain how internal links should spread across a site in my guide to internal linking strategy.

What is the difference between Broken, Error and Unverified?

The tool sorts results into five classes because not every negative response means the same thing. Broken collects the certain problems: the server says the URL does not exist, or the domain does not resolve at all. So these rows go straight onto your fix list.

Error, by contrast, covers conditions that may be temporary. A timeout, an SSL certificate problem or a failed connection can also mean the server was struggling at that moment. So run Error rows again a few hours later; if the problem persists, your visitors see the same error.

Unverified is the most misunderstood class. LinkedIn, Instagram, Facebook and X block automated requests, and the tool does not even send a request to them. Many large stores and news sites also answer bot requests with 403, while the same page opens fine in a browser. A 429 code, likewise, only says that too many requests arrived. Do not count these rows as broken; open the URL in your browser and verify it yourself.

Finally, Redirect is not an error but a chance to improve: the link works, yet it takes a detour to reach the target.

Which link should you fix first after running the broken link checker?

When the table is long, pick your starting point by impact. This is the order I use:

  1. Canonical and hreflang: if these URLs are broken, Google may misread the preferred version or the language pairing of the page.
  2. Internal links in the template: menu, footer and sidebar links repeat on every page. For example, rows with a high "times" count are usually these.
  3. Internal links in the content: the links readers click most and those leading to conversion pages.
  4. Broken images and files: a product image or stylesheet that fails to load breaks how the page looks.
  5. External links: if the source has closed, replace it with a current one or remove the link.

The fix depends on the case. If the page has moved, update the link to the new URL and add a 301 redirect from the old one. Then confirm the rule with the redirect checker. If the page has no replacement, however, remove the link; the old URL can keep returning 404 or 410.

Why fix internal links that pass through a redirect?

An internal link that goes through a 301 still works, but every click adds an extra request. As the chain grows, the page opens more slowly and crawl budget goes to waste. Google's HTTP status code documentation notes that its crawlers follow up to 10 redirect hops. Its site move guide also asks you to point internal links straight at the new URLs.

That is why the tool flags redirects on internal links separately. Wherever the target column says "Internal link: point it to the final URL", update the link to the final address. Typical cases include:

  • A URL without a trailing slash redirects to the version with the slash.
  • The menu still has an address starting with http that redirects to https.
  • An old category moved to a new URL, but the links in your posts still use the old one.

After the fix, make sure your XML sitemap lists the final URLs as well. Consequently, you send Google the same signal in your links and in your sitemap.

Broken link checklist after a site migration or redesign

Broken links appear most often after a redesign or a domain move. On the day the new site goes live, work through this order:

  1. Pick one example from each template: home page, category, product or service page, blog post and contact.
  2. Check each example in the tool and do not move on until the Broken filter shows zero.
  3. Switch to the Internal tab and update the links that carry the redirect note.
  4. Keep the Images box ticked; image paths break more than anything else in a migration.
  5. Confirm that canonical and hreflang rows point to the new domain.
  6. Over the following weeks, watch the Not found (404) row in the Page indexing report in Search Console.

I collected every step of a move in my website migration SEO checklist. If you are in the middle of a redesign, the guide on protecting SEO during a redesign helps too.

What can the tool not see, and when do you need another method?

The tool is a single page auditor, not a crawler. So it helps to know its limits:

  • Links built with JavaScript: the tool reads the raw HTML the server sends; menus or product lists that the browser adds later stay invisible.
  • Soft 404: if a page returns 200 but says "not found", the tool shows it as OK. Google, on the other hand, reports this case as a soft 404 in Search Console.
  • One page and 60 URLs: to cover a whole site you need a crawler or the Search Console reports.
  • Responses that vary by location or device: requests come from our server with our own user agent; some sites may answer your browser differently.

Therefore, treat the tool as a quick diagnosis and then combine the findings with site wide data. I show how I read Search Console for this in my Google Search Console guide. For a broader checklist, see my technical SEO tips.

Common broken link mistakes

  • MistakeRedirecting every 404 URL to the home page.Do this insteadSend a 301 to similar content if it exists; otherwise leave a 404 or 410. Google may treat a redirect to an unrelated target as a soft 404.
  • MistakeCounting Unverified rows as broken.Do this insteadLinkedIn, Instagram and large sites that answer 403 block automated requests; open the URL in your browser and verify it yourself.
  • MistakeChecking only the home page.Do this insteadCheck one page from every template; most broken links sit in menus, footers and older content.
  • MistakeRelying on a redirect for internal links.Do this insteadEven if the redirect works, update the internal link to the final URL; you save a request on every click and every crawl.
  • MistakeDeleting a link after a single 5xx or timeout.Do this insteadThese errors can be temporary. Check again a few hours later, and if the problem persists, update or remove the link.

Frequently Asked Questions

Broken links are often the symptom of a bigger problem.

Site migrations, URL changes and deleted content leave traces. Let's crawl your whole site in a technical SEO audit and fix the errors that matter most together.

Explore SEO Consulting
WhatsApp Call Now