3.9k stars · Apache-2.0 · lychee-v0.24.2 (2026-05-01)
Fast link checker in Rust — ideal for CI on every deploy, including links inside Markdown docs.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A command-line program written in Rust that requests every link it finds and reports the ones that fail. It handles websites, Markdown files, HTML files and plain text, and it checks email addresses too.What it is good for. Anybody who publishes. Broken links annoy readers and search engines treat them as a sign that a site is not looked after. Running this once a week, or on every deploy, turns a slow rot into a short list. For grasppy.com this is the cheapest improvement available: point it at the site and fix whatever it names.
- Checks a whole site, not one page at a time.
- Understands Markdown, so it can check your documentation before you publish it.
- Fast, because it checks many links at the same time rather than one after another.
- Some websites block automated visitors and will answer with an error even though the link is fine. You will see a few false alarms and have to judge them.
- Checking a large site makes many requests quickly, which can get your address temporarily blocked by a service you link to a lot.
- Installing from source needs Rust. Docker (a way to run a program inside its own sealed box, so it cannot touch anything else on your machine) avoids that.
# macOS: brew install lychee # With Docker, no installation at all: docker run --init -it -v "$(pwd)":/input lycheeverse/lychee /input/README.md # Check a live site: lychee --verbose https://grasppy.com