Lychee: A fast and async tool for checking broken links

A comprehensive solution to maintain link integrity in documentation and websites

In today’s digital landscape, managing links is crucial to ensure a seamless user experience. Lychee positions itself as an essential tool for developers, content managers, and software teams. Written in Rust, this link checker offers a fast, asynchronous, and flexible solution to identify broken URLs and email addresses across various formats and platforms.

What is Lychee?

Lychee is a powerful link checker designed to scan Markdown, HTML, reStructuredText, and other text formats, as well as entire websites. Its primary goal is to locate broken links and address related issues, such as invalid email addresses.

With its asynchronous, stream-based design, Lychee ensures efficiency while providing advanced configuration options tailored to different link-checking scenarios. Whether it’s for local development or continuous integration (CI) workflows, Lychee adapts to user needs seamlessly.

Key Features

  1. Multi-Format Compatibility
    Lychee can verify links in HTML, Markdown, websites, and plaintext files, making it invaluable for documentation projects, code repositories, and web pages.
  2. Advanced Configuration
    The tool includes support for custom headers, cookies, user agents, exclude/include patterns, and much more.
  3. CI/CD Support
    Optimized for use in CI pipelines like GitHub Actions, Lychee ensures broken links are detected before changes are deployed to production.
  4. Speed and Parallelism
    Its asynchronous and parallelized design enables fast analysis, even for large projects, improving workflow efficiency.
  5. Customizable Output
    Lychee supports exporting results in JSON, Markdown, or detailed reports, making it easy to integrate with other tools or systems.
  6. Flexible Analysis
    Users can exclude specific links, handle redirects, and configure custom timeouts. Additionally, it offers options to ignore private domains and local addresses.

Use Cases

  • Technical Documentation: Perfect for maintaining README files, wikis, and user manuals.
  • Web Development: Verifies links on static or dynamic websites, improving SEO and user experience.
  • Continuous Integration: Detects broken links early in the development pipeline, saving time and preventing errors in final deliveries.

Installation

Lychee is available across various platforms and operating systems:

  • Linux: Install via pacman, zypper, apt, and more.
  • macOS: Available through Homebrew and MacPorts.
  • Windows: Easy installation with Chocolatey.
  • Docker: Run directly in a container, ideal for CI/CD environments.
  • Cargo: Compile from source using Rust.

Basic Commands

Lychee offers great flexibility for its users. Here are some example commands:

  • Check links in a local file: lychee README.md
  • Scan all files within a directory: lychee path/to/directory
  • Analyze links on a remote URL: olychee https://example.com
  • Exclude specific links: lychee --exclude example\.com

Lychee as a Library

For developers looking to integrate Lychee’s functionality into their projects, it is available as a library. This allows for custom client setups and advanced configurations.

A Tangible Impact on the Development Community

Projects like tldr-pages, OpenSearch, Mermaid.js, and many more have already adopted Lychee to enhance their link maintenance practices. This highlights its utility for both individual projects and large-scale collaborative initiatives.

Conclusion

Lychee combines power, speed, and versatility, making it an indispensable tool for developers, documentation teams, and content administrators. Whether for small projects or enterprise-level implementations, Lychee ensures link integrity, enhancing both user experience and content quality.

For more information, visit the official GitHub page: Lychee.

Scroll to Top