A fast, async link checker written in Rust that finds broken URLs and mail addresses in Markdown, HTML, and websites.
raviqqe/muffet
A fast website link checker written in Go that recursively scrapes a site and reports broken links.
- Stars
- 2,620
- Forks
- 112
- Open issues
- 26
- Last commit
- 3 days ago
What is it?
Muffet is a command-line website link checker. Given a starting URL, it crawls the site recursively, scrapes each page, and inspects the links and resources it references so that broken targets can be found before visitors hit them.
It checks multiple HTML tags, including anchors, images, link elements and scripts, and aims for high compatibility with how web browsers interpret pages. Results can be printed as plain text, JSON, or JUnit XML, which makes the tool usable both interactively and in automated pipelines.
Muffet can be installed with the Go toolchain and also run through Docker or as a GitHub Action, according to its project documentation.
Key features
- 01Recursively crawls and checks all pages within a website
- 02Checks links across a, img, link, script and other tags
- 03Outputs results as text, JSON or JUnit XML
- 04Written in Go for fast execution
Use cases
- Finding broken internal and external links on a documentation or marketing site
- Running link checks in a CI pipeline with JUnit XML reports
- Auditing a static site before or after a redesign or migration
Quick start
- 1
Install Muffet with Go
go install github.com/raviqqe/muffet/v2@latest - 2
Check a website for broken links
muffet https://shady.bakery.hotland
In collections
Topics
FAQ
- What is muffet?
- A fast website link checker written in Go that recursively scrapes a site and reports broken links. Muffet is a command-line website link checker. Given a starting URL, it crawls the site recursively, scrapes each page, and inspects the links and resources it references so that broken targets can be found before visitors hit them.
- Is muffet free to use? What license does it have?
- muffet is open source under the MIT license. Check the license terms before using it in commercial products.
- Is muffet still maintained?
- Actively maintained. The last commit to muffet was on Nov 3, 2026.
- What can I use muffet for?
- Finding broken internal and external links on a documentation or marketing site Running link checks in a CI pipeline with JUnit XML reports Auditing a static site before or after a redesign or migration
- How do I install muffet?
- Install Muffet with Go: go install github.com/raviqqe/muffet/v2@latest Check a website for broken links: muffet https://shady.bakery.hotland
- Where can I get muffet?
- The source code and installation instructions are on GitHub: https://github.com/raviqqe/muffet
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A fast Go linters runner that executes many linters in parallel with caching and YAML configuration.
A fast, configurable Go linter that drops in for golint and supports custom rules and output formatters.
A ready-to-run collection of linters and formatters that runs as a GitHub Action or standalone container to check and fix source code.
A Go CLI that runs any linter or code analysis tool and posts its findings as review comments on GitHub, GitLab or Bitbucket, limited to changed lines.
A command-line tool and Xcode extension that automatically reformats Swift code to a consistent style.