Yes after using this free tool I can say this is the best tool I ever used. It's really good.
Broken Link Checker
Crawl your whole site and find every broken link — and see exactly which page each one sits on. Live results, redirects flagged separately, CSV export.
Broken Link Checker
Paste a URL. It crawls your site, checks the status of every page and link as it goes, and shows exactly which page each broken link is on.
Note: links a site renders only in JavaScript aren’t crawled, and pages nothing links to (true orphans) can’t be discovered by any crawler. Blocked (403/429) means a firewall rejected the automated check — the page may still be fine. Our crawler identifies itself as ToolsVale-LinkChecker.
uploaded over TLS · deleted within one hour
What it is, and what it isn't.
Every tool on ToolsVale is scoped to one job. Here is exactly what this one does, and what it does not — so you know whether it fits before you start.
What it is
- A live site crawler that checks the real HTTP status of every internal and external link. Reads your sitemap, follows internal links, and requests each URL to record the actual server response — not a cached guess.
- Shows the exact page each broken link sits on, along with its anchor text. The "Found on" column links directly to the source page — you go from report to fix without hunting through the site.
- Streams results live as it crawls — no black-box wait. Rows appear the moment each link is checked. On a 2,000-page site you can start fixing while the crawl is still running.
- Free CSV and Excel export with source URLs, anchor text, and redirect hops. Handed straight to a developer or client as a fix-list — no formatting cleanup required.
What it isn't
- Not a JavaScript-rendered crawler — it reads the HTML your server returns, not what a browser paints afterwards. Links injected by React, Vue, or other frameworks after page load are invisible to it — as they are to any crawler that doesn't run a full headless browser.
- Not a monitoring service — runs on demand, not on a schedule. For continuous monitoring with alerts when a link breaks, use a paid service like Sitebulb or Ahrefs Site Audit.
- Not a full SEO audit tool — no keyword research, no rank tracking, no backlink analysis. For those, use Ahrefs, Semrush, or free alternatives like Ubersuggest. This tool does one job — broken link detection — thoroughly.
- Not a WordPress plugin — nothing installs on your site, no database load, no plugin conflicts. It checks your live site from the outside instead. If you specifically want in-editor breakage detection as you write, a plugin still has that advantage.
What people made of this one.
Notes from other visitors. Sign in with Google to add yours, or send a private suggestion straight to the developer.
Sign in to leave a comment. We only use Google — no passwords, no email spam.
Sign in with GoogleThis tool vs. the alternatives.
A same-page side-by-side against the tools a visitor would otherwise pick. Every value is verifiable on the competitor's current site — flag anything that looks stale.
| Feature | Broken Link Checker this tool | Ahrefs Free BLC | Dead Link Checker | Screaming Frog Free | W3C Link Checker |
|---|---|---|---|---|---|
| Price | Free | Free | Free | Free | Free |
| Signup required | ✗ | ✓ | ✗ | ✗ | ✗ |
| Pages per run (free) | 10,000 continuable | External broken only | Site crawl | 500 | 1 (recursive off) |
| Shows source page | ✓ | ✓ | ✓ | ✓ | ✓ |
| Shows anchor text | ✓ | ✓ | ✓ | ✓ | ✗ |
| Live streaming results | ✓ | ✗ | ✗ | ✗ | ✗ |
| Install required | ✗ | ✗ | ✗ | desktop app | ✗ |
| Crawls internal links | ✓ | ✗ | ✓ | ✓ | Limited |
| Checks external links | ✓ | yes only | ✓ | ✓ | ✓ |
| Separates Blocked from Broken | ✓ | ✗ | ✗ | ✓ | ✗ |
| Redirect chain hop count | ✓ | ✗ | ✗ | ✓ | ✓ |
| CSV / Excel export | ✓ | limited | ✗ | ✓ | ✗ |
| Continues past page limit | ✓ | N/A | ✗ | Paid only | ✗ |
| Last reviewed | Aug 2026 | Aug 2026 | Aug 2026 | Aug 2026 | Aug 2026 |
Compared on public plans as of the last review date. Competitor features change — if you spot a stale row, please flag it and we'll re-verify.
Broken Link Checker
in three moves.
Paste your site URL
Enter your homepage or any starting page, choose how many pages to crawl, and pick whether to include external links.
Watch it crawl live
It reads your sitemap and follows internal links, checking each link's status and streaming results as it goes — no black-box wait.
Fix the broken ones
It opens on the Broken tab; every row shows the page the dead link sits on and its anchor text. Export the list as CSV or copy it.
What goes in, what comes out.
| Input | Output | Typical saving | Best for |
|---|---|---|---|
| Any website URL | Live link report | Finding dead links before visitors or Google do | |
| Any website URL | CSV export | Handing a fix-list to a developer or client | |
| Any website URL | Found on source pages | Knowing exactly where each broken link lives |
Built against the ways these tools disappoint.
We ran the same files through the popular alternatives first. These are the gaps we found, and what this tool does instead.
Most free checkers hand you a flat list of dead URLs and leave you guessing where each one lives.
Every broken link shows the exact page it sits on, plus the anchor text, so you go straight to the fix.
test: Look at the "Found on" column — it links to the source page and quotes the link text.Others make you wait behind a spinner, then cap you at a few hundred pages or 200 links unless you pay.
Results stream in live as each link is checked, and when you hit the page limit you continue where it left off instead of re-crawling.
test: Watch the counter climb as it runs, then press "Crawl more" to keep going past the limit.Cheap crawlers flag every 403 and 429 as "broken," so you chase links that are actually fine.
Firewall rejections are bucketed separately as "Blocked," and redirects show their hop count — so "Broken" means genuinely broken.
test: Filter to "Blocked" and "Broken" — they're never mixed.Factors that make our Broken Link Checker the absolute best
Massive 10,000 Page Free Limit
Unlike restrictive desktop software that caps your free technical audits at 500 URLs, our cloud crawler lets you scan up to 10,000 pages per run completely free. You can easily keep continuing the crawl to handle larger sites without paying a dime.
Zero-Install Cloud Architecture
Stop wasting your computer's RAM and CPU on heavy desktop installations. Our broken link checker runs entirely on our high-speed cloud servers, meaning you can trigger audits instantly from any web browser, tablet, or mobile phone.
Live Data Streaming & Smart Filters
Don't wait around for a full crawl to finish before seeing your data. Results are streamed live to your dashboard in real-time, instantly separating legitimate 404 errors from firewall blocks so you can prioritize critical site fixes immediately.
Exact Source Page Tracking
Finding a broken link is only half the battle. Our tool maps the exact source URL and the specific anchor text used for every single dead link, showing you exactly where the issue lives in your code so you can fix it in seconds.
One-Click Full Data Export
Take your technical audit data wherever you need it. Once your crawl finishes or pauses, you can instantly export a fully detailed CSV or Excel spreadsheet containing all broken links and source pages to share directly with your development team.
How this actually works.
A broken link checker crawls your website and reports the status of every page and link it finds, so you can catch dead
links — 404s, broken redirects, pages that error out — before your visitors or Google run into them. On a site of any
real size they’re impossible to find by hand, and left alone they frustrate readers, waste crawl budget and quietly
bleed away link equity.
Most free checkers hand you a flat list of dead URLs and leave you to work out where each one lives. This one shows the
exact page every broken link sits on, along with its anchor text, so you go straight to the fix. Results stream in live
as each link is checked rather than appearing all at once after a long wait, and it keeps genuine 404s separate from
redirects (shown with their hop count) and from firewall rejections — the 403s and 429s that many tools wrongly report
as broken.
What the status codes actually mean
Every row in the report carries the real HTTP status the server returned. Most tools collapse these into “working” and
“broken,” which is where the false alarms come from. Here is what each one means and whether it needs your attention.
| Code | Meaning | Bucket | What to do |
|---|---|---|---|
| 200 | OK — the page loaded normally | OK | Nothing. |
| 301 | Moved permanently | Redirect | Fine, but update the link to point at the destination directly if the hop count is above one. |
| 302 / 307 | Moved temporarily | Redirect | Check it is genuinely temporary. A permanent move left on a 302 passes no signals. |
| 308 | Permanent redirect, method preserved | Redirect | Same as 301. |
| 403 | Forbidden — a firewall refused the automated request | Blocked | Usually a false alarm. Open the URL in your browser to confirm. |
| 404 | Not found | Broken | Fix it. Redirect, correct, or remove the link. |
| 410 | Gone — deliberately removed | Broken | Remove the link. The owner has said it is not coming back. |
| 429 | Too many requests — rate limited | Blocked | Not broken. Re-check a few of these manually later. |
| 500 / 502 / 503 | Server error on the far end | Broken | Re-run before acting. Transient errors are common; a code that persists across two crawls is real. |
| timeout | No response inside 10 seconds | Other | Often a slow server rather than a dead page. Re-check manually. |
| robots | Your robots.txt disallows crawling this URL | Other | Expected. The page may be perfectly healthy. |
What causes broken links
Links break for a handful of predictable reasons. You rename or delete a page without adding a redirect; you change your
permalink or URL structure and thousands of old links suddenly point at addresses that no longer resolve; a typo slips
into an href; or an external site you linked to moves, expires or takes its page down — something you can’t control but
still pay for in user experience. Images, stylesheets and downloadable files break the same way. The larger and older a
site gets, the more of these accumulate silently, which is why a periodic crawl matters far more than a one-off check.
How to fix a broken link
Once the crawl shows you what’s broken and where, the fix depends on why it broke.
| Situation | Fix | Why |
|---|---|---|
| The page moved to a new URL | Add a 301 redirect from old to new | People and search engines both land in the right place, and the link equity follows. |
| The link itself is wrong — typo or stale destination | Edit the href | A redirect would paper over a mistake that should just be corrected at source. |
| The content is gone with no replacement | Remove the link, keep the sentence | Sending readers to a dead end costs more than losing the reference. |
| An external site went down or expired | Find an equivalent source, or link an archived copy | You cannot fix someone else’s server, but you can stop paying for it. |
| A whole section 404s after a migration | Fix the redirect rule, not the individual links | Hundreds of broken links usually share one bad pattern. |
| The link points at an internal page you deleted on purpose | Serve 410 instead of 404, and remove inbound links | 410 tells Google it is deliberate, so it drops out of the index faster. |
Do broken links actually hurt your SEO?
Indirectly, and the honest answer is more nuanced than most posts admit. Google has said repeatedly that a 404 is a
normal part of the web and having some will not incur a penalty. What broken links genuinely cost you is real, though:
crawl budget spent on URLs that return nothing, internal link equity that dead-ends instead of flowing to pages that
matter, and readers who hit a dead end and leave. That last one is the expensive part. Broken links are not a ranking
factor so much as a symptom — a site with hundreds of them usually has a maintenance problem that shows up in other ways
too.
Outbound broken links matter more than people expect. A
page full of dead references reads as abandoned, and that is the impression it leaves with both readers and reviewers.
When to run a check
| Moment | Why it matters |
|---|---|
| After a site migration or replatform | The single biggest cause of mass breakage. Check within 48 hours of cutover, while the old URLs are still fresh in your head. |
| After changing permalink structure | One settings change can invalidate every URL on the site at once. |
| After a bulk delete or content prune | Every internal link to a removed page is now dead. |
| Before a redesign goes live | Cheaper to fix on staging than in public. |
| Monthly, on a live site | External links rot on their own. A monthly pass catches it before it accumulates. |
| Before pitching a guest post or client audit | A dead-link list is the fastest credible thing you can put in front of someone. |
Internal versus external links
The report labels every row as internal or external, and the distinction changes what you can do about it. Internal
breakage is always your fault and always fixable — a redirect or an edit closes it. External breakage is outside your
control: the site moved, expired, or was sold. You still pay for it in reader experience, so it still needs handling,
but the fix is replacement rather than repair.
Leave “Check external links too” ticked for a full picture. Untick it when you only want to audit your own structure,
which is faster and produces a shorter list.
How this compares to other free checkers
We ran the same sites through the popular free alternatives before building this. These are the limits each one
publishes, as of August 2026 — worth re-checking before you rely on them, since free tiers change often.
| Tool | Pages per run | Links | Shows the source page | Install | Account |
|---|---|---|---|---|---|
| ToolsVale | Up to 10,000, continuable | No cap | Yes, with anchor text | No | No |
| MiniWebtool | 20 | 200 | No | No | No |
| IndexFlow | 1 (single page) | 50 | — | No | No |
| Screaming Frog (free) | 500 | — | Yes | Desktop app | No |
| Dead Link Checker | Site crawl | — | Yes | No | Yes, for multi-site |
| WP Broken Link Checker plugin | — | ~200/month free | Yes | Plugin | Yes |
The pattern is consistent: free web-based checkers either cap you low enough that a real site never finishes, or they
hand you a list of dead URLs with no indication of where each one lives. Finding the URL is the easy half. Finding the
page it sits on is the work.
What this tool cannot do
Being straight about the gaps, because every crawler has them and most pages do not say so.
| Limitation | Why |
|---|---|
| JavaScript-rendered links are not followed | The crawler reads the HTML the server returns. Links injected by a framework after load are invisible to it — and to any crawler that does not run a full browser. |
| True orphan pages are never found | If nothing links to a page and it is not in your sitemap, no crawler can discover it. Nothing can fix this except adding a link. |
| Some 403s and 429s are false alarms | We crawl from a single IP, so strict firewalls and rate limiters refuse us. We label those as Blocked rather than counting them against you, but we cannot eliminate them. |
| Links inside PDFs and other documents are not checked | Only HTML pages are parsed for outbound links. |
| Redirect chains are reported, not resolved | You get the hop count so you can spot them; shortening the chain is an edit on your side. |
One honest note on how it runs: unlike most tools on ToolsVale, this one can’t run entirely in your browser. Browsers
are blocked from fetching other websites’ pages for security reasons, so the crawl runs on our server, which requests
each URL and streams the results straight back to you — nothing about your site is saved. The crawler identifies itself
as ToolsVale-LinkChecker and spaces its requests, so a full crawl puts less load on your server than a
handful of real visitors. If you run a strict firewall, allowlisting that user-agent will give you cleaner results.
WordPress, Search Console and this tool
If you run WordPress, the usual advice is to install a broken-link plugin, but the popular ones either add database load
or cap the free tier at around 200 links a month. Google Search Console’s report is free and shows which pages link to a
404, but it only surfaces errors Google has already crawled, tops out at roughly a thousand pages, and can lag by up to
a week. This tool sits between the two: it checks your live site from the outside on demand, with nothing to install, no
monthly cap, up to 10,000 pages per run, and the source page shown for every broken link straight away.
The three are complementary rather than competing. Search Console tells you what Google has already tripped over — that
is the authoritative view of what is hurting you in search. A plugin catches breakage as you create it, inside the
editor. This tool gives you the full current picture of your live site, on demand, without waiting for Google to
re-crawl or asking your database to do the work.
Reading your report
The report opens on the Broken tab, because that is what you came for. From there:
- Found on is the column that matters — it links to the page the dead link sits on and quotes the
anchor text, so you can search for it directly in your editor. - The summary cards are filters. Click Blocked to sanity-check the false alarms before you start
fixing anything. - The redirect arrow shows the hop count. Anything above one is a chain worth shortening.
- Export before you start. The CSV and Excel files carry the source page and anchor text for
every row, which makes a workable fix-list for a developer or a client. - Sort by frequency, not by row. One bad URL repeated across a template appears many times but is
a single fix.
Cleaning up your technical SEO end to end? The XML Sitemap
Generator lists the pages search engines should crawl, the robots.txt Generator controls what they’re allowed to crawl,
the Schema Markup Generator adds the structured data that
earns rich results, and the llms.txt Generator does the same job
for AI answer engines.
Last reviewed August 2026 · this tool runs server.
The questions people actually type in.
What is a broken link checker?
A tool that crawls your website and reports the HTTP status of every page and link, so you can find dead links (404s), broken redirects and errors before visitors or search engines hit them.
How does it find broken links?
It starts from the URL you enter, reads your sitemap and robots.txt, follows the internal links on each page, and requests every link to record its real status code.
Why does it run on your server instead of my browser?
Browsers are blocked from fetching other sites' pages for security reasons, so a real crawler has to run server-side. Ours requests each URL and streams the results back; nothing about your site is stored.
What do "Blocked" and "Redirect" mean?
"Blocked" is a 403/429: a firewall or rate limiter refused the automated check, so the page is probably fine. "Redirect" means the URL forwards elsewhere; the hop count is shown so you can spot redirect chains.
Does it check external links too?
Yes, optionally. Leave "Check external links too" ticked to test the outbound links on your pages as well as internal ones.
How many pages can it check?
Up to 10,000 in a single run. If your site is bigger, hit "Crawl more" to continue from where it stopped instead of starting over — it picks up where it left off rather than re-crawling.
Can I export the results?
Yes — download a CSV of every checked URL (status, source page, redirect info), or copy the URLs in the current view to your clipboard.
How do I find broken links on my website for free?
Paste your homepage URL above and run it. It crawls your whole site, checks every link, and lists the broken ones with the page each is found on — no signup, no install, and you can export the list as CSV.
How do I find broken links in WordPress without a plugin?
You don't need one. Plugins like Broken Link Checker run inside WordPress and either add database load or cap you at around 200 links a month on the free tier. This checks your live site from the outside instead, so there's nothing to install, no performance hit, and no monthly link cap — paste your site URL and it crawls every published page.
Will crawling slow down my website?
No. The crawler identifies itself as ToolsVale-LinkChecker and spaces its requests — a full crawl generates less load than a handful of real visitors. If your firewall is strict, allowlist that user-agent for cleaner results.
Tools people use with this one.
Schema Markup Generator
Build clean, valid Schema.org JSON-LD for rich results and AI answer engines — Article, Product, Local Business, FAQ, Event and more, with empty fields dropped automatically.
robots txt Generator
Build a valid robots.txt with the right allow/disallow rules, crawl-delay and sitemap line — with warnings for the mistakes that accidentally block your whole site from Google.
XML Sitemap Generator
Build a valid XML sitemap by discovering your pages automatically or pasting a URL list — with lastmod, priority, and automatic splitting for sites over 50,000 URLs.