A fast, async link checker written in Rust that finds broken URLs and mail addresses in Markdown, HTML, and websites.
JustinBeckwith/linkinator
A broken link checker that crawls websites, documentation, and local files via a CLI, Node.js API, and CI integrations.
- Stars
- 1,286
- Forks
- 110
- Open issues
- 17
- Last commit
- 2 days ago
What is it?
Linkinator scans web pages and local files for broken links, dead links, and invalid URLs. It can check a live site, a folder of HTML or markdown files, or a glob of paths, and it reports the HTTP status and result for every link it finds.
It works as a command-line tool, a Node.js library with an event-based API, and a Docker image or standalone binary for environments without Node.js. Scans can be shallow or recursive, can follow sitemaps, and can check links inside CSS, JSON-LD and any element that carries a link, not only anchor tags. Fragment anchors, HTTPS enforcement, redirect policy, and per-status-code handling are configurable, and results can be exported as JSON or CSV.
The project also ships a GitHub Action and an MCP server, so the same checks can run in CI pipelines or from AI assistants.
Key features
- 01Scans remote websites and local HTML or markdown files.
- 02Supports recursive crawling, sitemap crawling, and glob patterns.
- 03Checks CSS URLs and fragment anchors in addition to standard links.
- 04Configurable redirect, HTTPS, retry, and status-code handling.
- 05Outputs results as JSON or CSV, with a Node.js API for custom integrations.
Use cases
- Finding broken links in documentation before a release.
- Running link checks as a step in CI/CD pipelines.
- Auditing a website's links during an SEO review.
- Validating a static site built with clean URLs.
Quick start
- 1
Install linkinator from npm
npm install linkinator - 2
Check a website for broken links
npx linkinator https://jbeckwith.com
In collections
Topics
FAQ
- What is linkinator?
- A broken link checker that crawls websites, documentation, and local files via a CLI, Node.js API, and CI integrations. Linkinator scans web pages and local files for broken links, dead links, and invalid URLs. It can check a live site, a folder of HTML or markdown files, or a glob of paths, and it reports the HTTP status and result for every link it finds.
- Is linkinator free to use? What license does it have?
- linkinator is open source under the MIT license. Check the license terms before using it in commercial products.
- Is linkinator still maintained?
- Actively maintained. The last commit to linkinator was on Nov 6, 2026.
- What can I use linkinator for?
- Finding broken links in documentation before a release. Running link checks as a step in CI/CD pipelines. Auditing a website's links during an SEO review. Validating a static site built with clean URLs.
- How do I install linkinator?
- Install linkinator from npm: npm install linkinator Check a website for broken links: npx linkinator https://jbeckwith.com
- Where can I get linkinator?
- The source code and installation instructions are on GitHub: https://github.com/JustinBeckwith/linkinator
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An MCP server and CLI that gives AI agents your real Google Search Console, Analytics, Bing and crawl data for SEO work.
Command-line and Claude Code skill that audits any website's SEO from one homepage URL, outputting PDF, XLSX and Markdown reports.
Open-source CI-native security and regression testing CLI for MCP servers, covering schema drift, safe attack simulation and SARIF output.
Open-source SEO audit tool that crawls a website and reports technical issues such as broken links, redirects, and missing or duplicate meta tags.
A multi-language test reporting tool that turns results from many testing frameworks and CI/CD systems into clear graphical HTML reports.