All projects

Broken Link Finder · Crystal

Deadfinder

Find dead links that quietly hurt SEO and security. Point Deadfinder at a URL, sitemap, file or pipe and get a concurrent, CI-ready broken-link report.

Crystal 170+ MIT
4 Input modes
5 Output formats
170+ GitHub stars
CI GitHub Action

Capabilities

Broken links, found concurrently

Four input modes, five output formats and a GitHub Action — Deadfinder slots into both manual checks and CI pipelines.

Four input modes

Scan a single URL, a sitemap, a file of URLs or piped STDIN.

Concurrent workers

Tunable concurrency and timeouts crawl large sites quickly.

Headers and proxy

Custom HTTP headers, user-agent and authenticated proxy support.

Match and filter

Include or exclude links with regex pattern matching.

Coverage and visuals

Track coverage and render a visualization of the crawl.

Pipeline-native output

JSON, YAML, TOML, CSV and SARIF, plus a ready-made GitHub Action.

Quickstart

From a sitemap to a SARIF report

zsh
$ brew install deadfinder
# scan a single page
$ deadfinder url https://www.hahwul.com
[*] 1 dead link found (404)
# crawl a sitemap with coverage, write JSON
$ deadfinder sitemap https://www.hahwul.com/sitemap.xml --coverage -o report.json
# pipe a list, filter to api hosts
$ cat urls.txt | deadfinder pipe -m 'api.'

Illustrative output.

Kill your dead links.

Run Deadfinder locally or drop the GitHub Action into CI.