Automation and scraping · Edition No. 17 · 11 Sep 2026

lycheeverse/lychee

Fast link checker in Rust — ideal for CI on every deploy, including links inside Markdown docs.

← Automation and scrapingRead the whole edition →

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.

Stars3.9k
LicenceApache-2.0
Latestlychee-v0.24.2 (2026-05-01)checked 7 Sep 2026
Written inRust
Good
  • 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.
Watch for
  • 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.
Install
# 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

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.