GALAXY OF TOOLS

SEO SECTOR

Broken Link Checker

Check every link, image and file on a web page for 404s, server errors, redirect chains and loops.

The page is fetched once, then each address on it is checked by this site’s server — without cookies or logins.
What to check
Up to 100 addresses per run, in this order. Each address is checked once however often it appears; jump links (#id) are checked on the page itself.

Only addresses are sent: the page you enter and then each link on it go to this site’s checker on Cloudflare, which returns status codes and redirect hops — no cookies, logins or anything about you. Pasted HTML stays in your browser; only its link addresses are checked.

A broken link checker that explains every failure

This broken link checker reads one web page and tests every address on it — links, images, scripts, stylesheets, frames, video and audio files. Each is requested by this site’s server, redirects are followed hop by hop, and the answer is sorted into plain results: OK, redirect, redirect loop, client error (such as 404), server error (5xx), timeout, blocked or not checked. Jump links such as #pricing are tested on the page itself.

Use it before a post goes live, after a site migration, or when a reader reports a missing image. Paste the HTML of an unpublished page and only its links are checked — the page itself is never fetched.

How to check a page for broken links

  1. Enter the Page address, or choose Paste HTML and paste the source, adding the page address so relative links like /about/ can be resolved.
  2. Under What to check, untick what you don’t need. Links on this site go first, then links to other sites, images, and finally scripts, styles, frames and media.
  3. Press Check links. Results arrive four at a time; Stop ends early and keeps what is done.
  4. Work through the prioritised list, then the table with the Broken, Redirects and Blocked & timeouts filters.
  5. More than 100 addresses? Press Check the next …. Finish with Download CSV or Copy broken links.

Broken Link Checker features

Every kind of reference

Links, image src and srcset, picture sources, media files, scripts, stylesheets, icons, canonical and alternate links, iframes and embeds — resolved against any <base href>.

Whole redirect chains

Each hop is followed one at a time (up to 10), so a 302 → 301 → 200 chain, a loop or a redirect to the home page is shown exactly.

Jump links checked locally

A link to #section is matched against the page’s ids and <a name> anchors without any request.

Mixed content

Images, scripts and frames loaded over http:// on an https page are flagged, because browsers upgrade or block them.

CSV report

One row per address with result, status code, final address, redirect chain, anchor or alt text, rel values and the explanation.

Worked example: the built-in sample page

Show the example runs the checker on a sample hiking-boots guide without any requests. It reports 6 broken addresses, 3 redirects and 2 that could not be verified; the email, phone and print links are listed as not checked. Some rows:

Address on the pageResultWhat the checker says
/guides/old-socks-guide/Client error · 404The page does not exist — fix the link or 301-redirect the old address
#careMissing #idNo element has id="care", so the jump link goes nowhere
https://partner.example.org/dealRedirect · 302 → 301 → 200Two redirects — link to the final address
/boots-2019/Redirect · 301 → 200Lands on the home page — possible soft 404
https://store.example.com/saleRedirect loopBrowsers show “too many redirects”
https://social.example.com/hikersBlocked · 403Refused the automated check — confirm in a browser

What the results mean, and what Google does with them

Google’s page on HTTP status codes and network errors (updated 4 February 2026) says its crawlers follow up to 10 redirect hops, treat every 4xx except 429 as content that doesn’t exist, and slow down when a server answers 5xx. A redirect still works, but updating the link to the final address saves every visitor a round trip. Blocked (401, 403, 429, or LinkedIn’s 999) and timeout results are not proof of a broken link: many sites refuse automated requests from data centres, so open those yourself.

Its link best-practice guide (updated 10 December 2025) explains that Google only crawls links that are <a> elements with an href, which is why javascript: links are listed rather than checked. The crawling-errors guide (updated 18 December 2025) defines a soft 404 as an address that says the page doesn’t exist but answers 200 — and recommends 404 or 410 for removed content and a 301 to the new address for moved content. Redirecting retired pages to the home page tends to be read the same way, so the checker flags redirects from a deeper address to a site’s root. It reads status codes only, so an error message served with 200 at the original address is not detected.

Limits of the free checker

  • Checks run from this site’s server on Cloudflare: each visitor may make 120 status checks and 60 page fetches per 10 minutes. A run checks up to 100 addresses, four at a time; the “left” figure is an estimate kept in your browser, and other checkers on this site share the allowance.
  • If the allowance runs out mid-run, finished checks stay on screen, the rest are marked “Waiting”, and the message says how many minutes to wait.
  • Pages are read as HTML without running JavaScript, so links a script adds later are not seen.
  • For a whole site’s internal links use the Internal Link Checker; for a list of URLs, the HTTP Status Checker; to redirect old addresses on Apache, the .htaccess Redirect Generator.

Broken Link Checker FAQ

How do I find broken links on my website?

Enter a page address in this broken link checker and press Check links: every link, image and file on the page is tested and broken ones are listed first. For a whole site, check the home page and main templates, or crawl the internal links with the Internal Link Checker.

Why is a link that works in my browser reported as blocked?

Some sites answer automated requests with 403, 429 or a login wall while showing the page to people. Blocked and timed-out links are listed separately for that reason.

Do broken links hurt SEO?

Google doesn’t describe a penalty for them, but a dead link wastes the visitor’s click and the crawler’s visit, and broken internal links can leave pages hard to discover.

What does “Missing #id” mean?

The link points to a spot on the same page, such as #care, but no element has that id (or an with that name), so clicking it does nothing.

Can I check a page that isn’t published yet?
Why are only 100 links checked at a time?

You might also need