---
title: "Bulk Broken Link Checker — free tool"
description: "Free bulk broken link checker. Scan 25 pages at once for 404s, 500s and dead links. Per-URL summary, CSV export, no signup."
canonical: "https://lemwatch.com/tools/bulk-broken-links"
source: "https://lemwatch.com"
---

# Bulk Broken Link Checker

> Scan up to 25 pages for broken outbound links in one batch. Per-page count of 404s, 500s, and unreachable URLs.

Broken outbound links rot in slowly: an external blog goes down, a vendor changes URL structure, a tool deprecates a docs path. Bulk broken-link scans let you sweep your highest-value pages for rot in one paste.

 ## What this tool does

 Paste up to 25 pages. We crawl each one, extract every outbound <a href>, and check the status code of each link. The result is a per-page count of broken links plus the first few example URLs so you can prioritise fixes.

 ## Where it shines

 Top-traffic blog posts. Resource pages and roundups. Documentation that links to external tools. Any page where external link rot quietly ages the content. Catch it on a weekly schedule and the rot never compounds.

## What this tool checks

- Outbound links per page (followed to status code)
- Count of broken links per page (4xx / 5xx / unreachable)
- First few example broken URLs
- Pass / fail verdict per page

## Why it matters

 Broken outbound links erode trust, frustrate visitors, and quietly hurt SEO. Across a content portfolio, link rot is constant — bulk scans catch it before users do.

## How to fix what it finds

- Filter the CSV for pages with broken_count > 0 — those are the urgent fixes
- For internal broken links (your own site), fix the source URL — that is a bug in your CMS
- For external broken links, either remove them or swap for an archive.org snapshot
- Re-run weekly on your top traffic pages — they earn the most external link rot

## Methodology

 For each input URL we GET the page, parse the HTML, and extract every <a href> with an absolute URL. We then HEAD each outbound URL (falling back to GET for servers that block HEAD) with a 10-second timeout. Status codes 200–399 count as alive; 400+ and connection errors count as broken. We deduplicate URLs within a page (no double-counting). We do NOT recurse into the linked pages — this is a one-level scan focused on outbound links on the input page. For deep crawls of an entire site, that is what LemWatch's broken-link monitor does.

## Frequently asked questions

### Does this check internal links?

 Yes — any href on the page is checked, internal or external.

### Does it crawl deeper than the page I submit?

 No — it checks the outbound links on the submitted pages only. For full-site crawls, use LemWatch monitoring.

### Some links show as "broken" but work in my browser — why?

 Common causes: the destination blocks our user-agent, requires authentication, or has aggressive rate limiting. Click the row to inspect in the single-URL tool.

### How long does a 25-page run take?

 Depends on how many outbound links each page has. Typically 60–120 seconds.

### Does it follow nofollow links?

 Yes — nofollow is an SEO directive, not a "do not check" directive.

### What about links inside JS-rendered content?

 Static HTML only in bulk mode. For client-rendered pages, the single-URL tool can render before scanning.


## Related

- [All free tools](https://lemwatch.com/tools)
- [Broken Link Checker](https://lemwatch.com/tools/broken-link-checker)
- [Bulk Meta Tag Checker](https://lemwatch.com/tools/bulk-meta-tags)
- [Bulk Mixed Content Checker](https://lemwatch.com/tools/bulk-mixed-content)
- [Bulk Website Malware Checker](https://lemwatch.com/tools/bulk-malware-check)
- [favicon checker](https://lemwatch.com/tools/favicon-checker)
- [Lemwatch pricing](https://lemwatch.com/pricing)
- [All monitoring checks](https://lemwatch.com/features)
