Repolode
JustinBeckwith

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. 1

    Install linkinator from npm

    npm install linkinator
  2. 2

    Check a website for broken links

    npx linkinator https://jbeckwith.com

In collections

Topics

#broken-link-checker#web-crawler#seo#testing#ci-cd#markdown#cli#404#broken-links#dead-links

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