Lychee tackles the persistent problem of broken links that accumulate in documentation, README files, and websites over time. Written in Rust with an async runtime, it checks links in parallel with dramatically faster throughput than traditional link checkers. The tool parses Markdown, HTML, reStructuredText, and plain text files to extract both HTTP URLs and mailto addresses, then validates each one with configurable timeouts, retry logic, and per-host rate limiting to avoid triggering abuse protections.
The CLI supports glob patterns for targeting specific files or directories, exclusion rules for known false positives, and output formats including JSON, Markdown, and compact terminal summaries. A GitHub Action is provided for seamless CI integration, automatically checking all links in pull requests and reporting failures as annotations. For repositories with many GitHub links, setting a personal access token increases API rate limits and enables checking of private repository references.
Beyond simple HTTP status checks, Lychee validates fragment identifiers in local file links, detects redirect chains, and flags mail addresses with syntax errors. The Rust library API allows embedding link checking into custom tooling or documentation pipelines. With over 20,000 GitHub stars and pre-built binaries for Linux, macOS, and Windows, Lychee has become the standard link checker for open-source projects that take documentation quality seriously.