| .github/workflows | ||
| assets | ||
| fixtures | ||
| src | ||
| tests | ||
| .editorconfig | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| lychee.example.toml | ||
| README.md | ||
| TROUBLESHOOTING.md | ||
A fast, async, resource-friendly link checker written in Rust.
For GitHub links, it can optionally use a GITHUB_TOKEN to avoid getting blocked by the rate
limiter.
Features
This comparison is made on a best-effort basis. Please create a PR to fix outdated information.
| lychee | awesome_bot | muffet | broken-link-checker | linkinator | linkchecker | markdown-link-check | fink | |
|---|---|---|---|---|---|---|---|---|
| Language | Rust | Ruby | Go | JS | TypeScript | Python | JS | PHP |
| Async/Parallel | ||||||||
| Static binary | ️ |
|||||||
| Markdown files | ️ |
|||||||
| HTML files | ||||||||
| Text files | ||||||||
| Website support | ||||||||
| Chunked encodings | ||||||||
| GZIP compression | ||||||||
| Basic Auth | ||||||||
| Custom user agent | ||||||||
| Relative URLs | ||||||||
| Skip relative URLs | ||||||||
| Include patterns | ||||||||
| Exclude patterns | ||||||||
| Handle redirects | ||||||||
| Ignore insecure SSL | ||||||||
| File globbing | ||||||||
| Limit scheme | ||||||||
| Custom headers | ||||||||
| Summary | ||||||||
HEAD requests |
||||||||
| Colored output | ||||||||
| Filter status code | ||||||||
| Custom timeout | ||||||||
| E-mail links | ||||||||
| Progress bar | ||||||||
| Retry and backoff | ||||||||
| Skip private domains | ||||||||
| Use as lib | ||||||||
| Quiet mode | ||||||||
| Amazing lychee logo | ||||||||
| Config file |
Contributing to lychee
We'd be thankful for any contribution.
We try keep the issue-tracker up-to-date so you can quickly find a task to work on.
Try one of these links to get started:
Installation
cargo install lychee
Usage
Run it inside a repository with a README.md, or specify a file with
lychee <yourfile>
Optional (to avoid getting rate-limited): set an environment variable with your Github token
like so GITHUB_TOKEN=xxxx, or use the --github-token CLI option. It can also be set in the
config file.
CLI exit codes
0for success (all links checked successfully or excluded/skipped as configured)1for any unexpected runtime failures or config errors2for link check failures (if any non-excluded link failed the check)
Troubleshooting and workarounds
We collect a list of common workarounds for various websites in our troubleshooting guide.
Users
- https://github.com/analysis-tools-dev/static-analysis (soon)
- https://github.com/mre/idiomatic-rust (soon)
Credits
The first prototype of lychee was built in episode 10 of Hello Rust. Thanks to all Github- and Patreon sponsors for supporting the development since the beginning. Also, thanks to all the great contributors who have since made this project more mature.

