Bulk 404 checker and broken link checker, up to 100,000 URLs a run.

Paste the list, upload a CSV, or give us a domain and we read its pages ourselves. This bulk broken link checker reports every 404, 410, soft 404, redirect loop and timeout separately, and a page that simply refused an automated visitor is never filed as broken.

See what it costs

Try 15,000 URL checks your first month, on us. No card.

app.bulkurlchecker.com/jobs/a3f8c1e2
Report ready12,480 links · 4 min 12 s
Gone
318
Still refusing
64
Working
12,098
incl. 412 recovered

412 of these refused our first request and answered when we came back another way. A one-shot checker files those as broken.

Broken link types

Every kind of broken link, reported apart from the others.

Most checkers return one "broken" count covering everything from a deleted page to a server hiccup to a site that turned the checker away. Those need different work from you, so they arrive as different answers.

404 Not Found
The page is not there. The verdict we call broken, and the one you act on.
410 Gone
Removed deliberately and not coming back. Stronger than a 404, and worth treating differently when you decide what to redirect.
Soft 404
Answers 200 while the page says it cannot find anything. Invisible to a checker that only reads status codes.
Redirect loop
A sends you to B, B sends you back to A. Nobody ever arrives.
Long redirect chain
Several hops before the real page. Slow for a visitor and wasteful of crawl budget.
5xx and timeouts
The server had a bad moment. Re-checked before anything is reported, because a blip is not a broken link.
Certificate problems
Expired or misconfigured HTTPS, which stops a visitor with a browser warning rather than an error page.
401, 403, 418
Refused an automated visitor. Checked again by an independent route, and only reported as refused if it still will not answer. Never counted as broken.

Hard 404 vs soft 404

The 404s a status code checker cannot see.

This is the failure that makes a clean report untrustworthy, and it is the one most tools miss entirely.

A hard 404 returns the 404 status code. Any checker finds those, including one you write yourself in an afternoon.

A soft 404 returns 200 OK while the page itself says it cannot find anything, which is why a soft 404 checker has to read the page and not just the status line. It happens constantly: a content system that renders its own not-found template, a shop that keeps a discontinued product URL alive, a framework serving the homepage for every unmatched path. To a checker reading only status codes, all of those look perfectly healthy.

We compare the response body length, the title and a set of known not-found patterns, and flag those separately. The same logic applies to 410 Gone, which says the page was removed deliberately rather than being missing by accident, and which you may want to treat differently when you decide what to redirect.

The reverse mistake is more expensive. Run a large check from one machine and, a few thousand requests in, sites begin turning you away. Those refusals get recorded as broken links, and you spend a morning opening them by hand to find most of them load perfectly well.

Over the 90 days to 21 September 2026, across 603 jobs and 41,308 domains, 56,892 links refused at least one of our requests. We came back by a different route and 13,597 of them answered. Every one of those is a link your own run would have handed you as a 404 to go and investigate.

How we decide what counts as broken · Bulk HTTP status checker: status codes and redirect chains

Why it matters

What broken links cost you in search.

Broken links are rarely urgent, which is exactly why they accumulate. The damage is cumulative rather than dramatic.

  1. Crawl budget goes to dead pages. Every request a search engine spends on a URL that no longer exists is one it did not spend on a page you want indexed. On a large site that adds up quickly.
  2. Link equity stops at a dead end. An external site pointing at a page you deleted passes its value into nothing. Redirecting it to the right page recovers it.
  3. People leave. A visitor who lands on a not-found page usually goes back to the results rather than looking for what they wanted.
  4. Migrations are where it happens. Most broken links arrive in one batch, the week a site changes its URL structure and a rule somewhere is slightly wrong.

Which is why the useful version of this is not a one-off audit. Turn the same list into a scheduled check and we re-run it daily, every three days, weekly or monthly, compare each run with the last, and write to you only about what changed.

Setting one up costs nothing. Only the runs use credits, and scheduled checks are included on every plan and during the trial.

How the alerts work

FAQ

Bulk 404 checking questions.

If yours is not here, write to us and a person answers. The address is at the bottom of this page.

How do I check a whole site for 404 errors?
Give us the domain and we read the site's own list of pages, then check every one of them in a single run. You do not need an export or a crawl first. If you already have the URLs, paste them or upload a CSV instead.
How many URLs can I check for 404s at once?
Up to 100,000 in one run, with no splitting. It runs on our machines, so you can close the tab, and we email you when the report is ready.
What is the difference between a hard 404 and a soft 404?
A hard 404 returns the 404 status code, so any checker can see it. A soft 404 returns 200 while the page itself says it cannot find anything, so a status-code-only checker records it as working. We compare the response against a set of known not-found patterns and flag those separately.
Will blocked pages show up as 404s?
No, and that is the main reason to use this rather than a script. A site that turns away an automated visitor answers 401, 403 or 418, not 404. We check those again by an independent route, and only what is still refusing afterwards is reported as refused. It is never counted as a broken link.

Try 15,000 URL checks your first month, on us.

No card. Setting up a scheduled check costs nothing; only the runs use credits, and unused credits roll over.

See pricing

We use analytics cookies to improve your experience. Opt out anytime in Cookie Settings. Privacy Policy

Settings