A LITTLE HELP. A LOT DONE.
Good tools.
Great flow.
Your shortcut to the everyday. Create, convert, calculate,
and get back to what you love.
✳
✳
✓ Free to use✓ No sign-up✓ 500+ possibilities
About this tool
Broken Link Checker crawls any public webpage and checks every link it finds, reporting HTTP status codes, response times, and whether each URL is reachable. Enter a URL, set the crawl depth (1 = links on the seed page only, 2 = seed page plus linked pages, 3 = deep crawl), and toggle 'Same domain only' to stay within a single site or also check external links. The checker starts a background job on the server and polls for results every 2 seconds so you see links appear live as they are tested. The results table color-codes broken links in red, and a summary bar shows total links checked, how many are broken, and how many are OK. When the job completes, export the full results as a CSV for further analysis or to share with your SEO team.
Why use it
Live polling shows results as they arrive — no waiting for a full crawl to finish.
Configurable crawl depth lets you do a quick single-page check or a deeper site audit.
Same-domain toggle prevents wasted time testing external sites you don't control.
CSV export makes it easy to share results with SEO teams or file issues.
Status code and response time data help distinguish flaky links from hard 404s.
Free and unlimited — no account, no page limits, no paywalled reports.
How to use
- Enter the URL of the page you want to check — must be publicly accessible (no login walls).
- Set crawl depth: 1 checks only links on the seed page, 2 follows those links one level deeper, 3 crawls up to three levels.
- Toggle 'Same domain only' to limit the crawl to links within the same origin, or uncheck it to also test external links.
- Click Check Links. A background job starts and results appear live as each link is tested.
- Watch the live results table — broken links (4xx/5xx) are highlighted in red.
- When the crawl finishes, review the summary (total / broken / OK) and click CSV to export.
When it helps
- Auditing a website for broken links before a redesign or migration.
- Regular SEO maintenance to catch and fix 404 errors that hurt rankings.
- Quality-checking a newly published article or landing page.
- Verifying all resource links still work after a domain change.
- Identifying internal links that need to be updated after content is moved or deleted.
- Auditing a website for broken links before a redesign, migration, or domain change
Examples
01Single-page check (depth 1)
InputURL: https://example.com/blog
Depth: 1
Same domain only: ON
Expected resultTotal: 47 / Broken: 3 / OK: 44
Broken: https://example.com/old-post (404), https://oldcdn.example.com/img.jpg (404), https://partner.com/spec (timeout)
02Two-level audit (depth 2)
InputURL: https://example.com
Depth: 2
Same domain only: ON
Expected resultTotal: 178 / Broken: 12 / OK: 166
Broken includes 8 internal 404s on /docs/legacy/* and 4 image 404s in old blog posts.
03Deep external check (depth 3)
InputURL: https://example.com/resources
Depth: 3
Same domain only: OFF
Expected resultTotal: 200 (cap reached) / Broken: 18 / OK: 182
Broken includes external 404s, 2 timeouts, and 1 503 — CSV export recommended for review.
Tips
- Start with depth 1 for a quick sanity check before committing to a depth-3 crawl that takes longer to complete.
- Many '403 Forbidden' results on external links are bot-blocking, not real breakage — verify in a real browser first.
- A 'Timeout' is not necessarily a 404 — slow servers or rate-limited APIs may be reachable but unable to respond in 12 seconds.
- Export to CSV before closing the tab — results are kept for only 5 minutes after the crawl completes to limit memory use.
- Same-domain mode is best for in-progress site audits; uncheck only when you specifically want to validate outbound link health.
- Pages with lots of JavaScript-rendered links may not be fully crawled — the parser reads server-rendered HTML, not client-rendered content.
- Combine this tool with Lighthouse Lite Audit for a complete pre-launch checklist — links plus performance and SEO.
Frequently Asked Questions
What HTTP methods does the checker use?⌄
It uses HEAD requests for efficiency (no body download). For the seed page when crawl depth > 1, it uses GET to parse the HTML and extract additional links to queue.
How many links can it check per job?⌄
Each job checks up to 200 unique URLs to stay within reasonable time and resource limits. For larger sites, start with depth 1 or use a dedicated crawler.
Why do some links show 'Timeout'?⌄
Each request has a 12-second timeout. Slow servers or unreachable hosts that don't refuse the connection immediately will time out and be marked as failed.
Does it follow redirects?⌄
Yes — HTTP 301/302 redirects are followed automatically (up to the browser's default limit). The final resolved status code is what gets recorded.
How long are results stored?⌄
Job results are kept in server memory for 5 minutes after the crawl completes, then deleted. Export to CSV before closing the tab if you need a permanent record.
Can I check links on a password-protected page?⌄
No — the checker fetches pages without authentication. Only publicly accessible pages and their links can be tested.
What does 'Same domain only' do for external links at depth 1?⌄
At depth 1 the checker tests all links found on the seed page regardless of domain — 'same domain only' only affects whether those linked pages are crawled further at depth 2+.
Glossary
- HTTP HEAD
- An HTTP method that requests only response headers, not the body — used for efficient existence checks without downloading the full resource.
- HTTP GET
- An HTTP method that requests both headers and body — used by the crawler on the seed page to fetch HTML and extract links.
- Status code 2xx
- Success responses (200 OK, 201 Created, 204 No Content) — the link is reachable and working.
- Status code 3xx
- Redirection responses (301 Moved Permanently, 302 Found) — the link points elsewhere; the crawler follows automatically.
- Status code 4xx
- Client error responses — 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 410 Gone. Indicates the link is broken or restricted.
- Status code 5xx
- Server error responses — 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout. Indicates a server-side problem at the target.
- Redirect chain
- A sequence of 3xx responses leading to a final 2xx or 4xx — long chains slow page load and may trigger SEO 'redirect hop' penalties.
- 404 Not Found
- The most common 'broken link' status — the target server responded but the requested resource does not exist at that URL.
- robots.txt
- A file at /robots.txt that tells crawlers which paths to avoid; this tool does not consult robots.txt because it acts on user-supplied seed URLs only.
- Crawl depth
- How many link-hops deep the crawler follows from the seed URL — depth 1 means only direct outbound links from the seed.
- Soft 404
- A page that returns HTTP 200 but contains a 'not found' message in the body — these are not flagged as broken by status-only checkers.
- Crawl budget
- The total number of URLs a crawler will fetch in one job — 200 here, to keep server resources fair across users.