Broken links in your website mean that your site is not reliable, and it does not offer a good, satisfying user experience.

The broken links are not just visible to your visitors, they are checked and monitored by search engines, which leads to bad SEO.

Broken links can be internal to a site's internal page or external to external websites or resources. That's does not matter much, they have still broken links.

They are also known as “Dead links”, you can consider them a dead weight that drags your site ranking into the dark abyss of SEO. Certainly, you do not want that.

A broken link can be:

  1. A Typo: htt://googl.ecom
  2. A deleted page (internal or external)
  3. A moved page without a proper redirect.

The first step to fix these broken links is: finding them. This step can be done through a broken links checker script or an app that scans your website's pages for these links.

The second step is to fix the broken link, which will is primary about fixing the cause: a type; fix the URL, enable or publish the page again, a redirect, or delete the broken link.


Before, we start our post, we recommend checking this amazing tool:

As an alternative to open-source tools, you can use Free Broken Link Checker by Sitechecher. It is a functional tool that helps to identify broken links. You can use this tool to check URLs and get a report identifying all the dead links. You will also be able to address and fix them. It’s as easy to use their broken link scanner to check the health and SEO of your website as copy and paste your website’s URL.


Free online broken link checker helps you by:

  • Conducting a scan of 150 web pages
  • Reporting error codes for any broken URLs —including 404 and 502 errors and 301 redirects
  • Fixing end-user usability issues to remove problematic redirects
  • Providing high-value links for your website through broken link outreach features
  • Offering full functionality without creating an account or downloading any software

In this list, we present you with several open-source and tools to check for

Open-source broken (dead) links checkers

1- Site Inspector

Site Inspector is a free open-source web-based tool to check your website for spelling errors, grammatical errors, and broken links. It is built on top Ruby on Rails framework and Vue.js.

GitHub - siteinspector/siteinspector: A tool for catching spelling errors, grammatical errors, broken links, and other errors on websites.
A tool for catching spelling errors, grammatical errors, broken links, and other errors on websites. - GitHub - siteinspector/siteinspector: A tool for catching spelling errors, grammatical errors,…

2- Octopus

Octopus is a free CLI (command-line script), the open-source script built on top of Node.js.

Octopus can work in salient mode, notify a Slack channel through a webhook, ignore no-follow links or external URLs, and include or exclude images.

GitHub - deptagency/octopus: Recursive and multi-threaded broken link checker
Recursive and multi-threaded broken link checker. Contribute to deptagency/octopus development by creating an account on GitHub.

3- SEOMacroscope

SEOMacroscope

SEOMacroscope is a website scanning for broken links, images, and more. It is released under (GPL v3.0). It scans the links, redirects and summarizes reports about metadata for every URL, isolates and scans URL subsets, extracts phone numbers and emails, and search for other SEO-related issues.

GitHub - nazuke/SEOMacroscope: SEO Macroscope is a website scanning tool, to check your website for broken links; including some technical SEO functionality, site scraping, Excel reporting, and more.
SEO Macroscope is a website scanning tool, to check your website for broken links; including some technical SEO functionality, site scraping, Excel reporting, and more. - GitHub - nazuke/SEOMacrosc…

4- LinkCheck

Linkcheck is a command-line app to check broken links. It can be installed on Windows, Linux, and macOS. Built by Dart language and requires it to work. But, if you can run it using Docker with simple commands.

GitHub - filiph/linkcheck: Fast link checker
Fast link checker. Contribute to filiph/linkcheck development by creating an account on GitHub.

This is a fast script that goes beyond broken link checkers, as it checks for images, different link types, and respects robot.txt exclusions. This script supports a pause and resumes at any time.

GitHub - stevenvachon/broken-link-checker: Find broken links, missing images, etc within your HTML.
Find broken links, missing images, etc within your HTML. - GitHub - stevenvachon/broken-link-checker: Find broken links, missing images, etc within your HTML.

6- LinkChecker

LinkChecker is an open-source (GPL) features-rich link checker and validator. It is written with Python and requires Python 2.7 (Python 3 is not supported yet). This app (LinkChecker) supports many protocols as HTTP, HTTPS, FTP, mailto, nntp, Telenet.

Furthermore, it supports authentications, cookies, multithreaded and recursive checking, and more.7- LinkChecker comes with 3 different clients: a command-line interface, GUI client, and CGI web client.

LinkChecker - Check websites for broken links

hyperlink is yet another command-line tool to find broken links in static and dynamic sites. It supports <base> tag, and unlike LinkChecker it does not respect or honor robot.txt links.

GitHub - untitaker/hyperlink: Very fast link checker for CI.
Very fast link checker for CI. Contribute to untitaker/hyperlink development by creating an account on GitHub.

9- ssblc

The ssblc (Static Site Broken Link Checker) is a Node.js command-line script, built to help web admins check internal and external links recursively.

@pklaschka/ssblc
Static Site Broken Link Chacker: A broken-link checker for static sites, like the ones generated with docsify. Latest version: 0.4.3, last published: 2 years ago. Start using @pklaschka/ssblc in your project by running `npm i @pklaschka/ssblc`. There are no other projects in the npm registry using @…

10- LinkCrawler

LinkCrawler is an open-source, free C# console app to crawl webpages for images and hyperlinks. It offers webhook support, reporting to CSV files, report to slack, and optional image check.

GitHub - JustinBeckwith/linkinator: 🐿 Scurry around your site and find all those broken links.
🐿 Scurry around your site and find all those broken links. - GitHub - JustinBeckwith/linkinator: 🐿 Scurry around your site and find all those broken links.

11- Linkinator

Linkinator helps you to scan and crawl websites for broken links. It can be configurable with specific regex patterns to skip, scan markdown files, supports redirect, relative and absolute links, and scan remote or local files.

GitHub - JustinBeckwith/linkinator: 🐿 Scurry around your site and find all those broken links.
🐿 Scurry around your site and find all those broken links. - GitHub - JustinBeckwith/linkinator: 🐿 Scurry around your site and find all those broken links.

This is a WordPress plugin (extension) to check the WordPress install for broken links. It is released as an open-source project under GPL-2.0 License.

NO Longer Available

13- brök

brök is a Haskell-built useful tool that finds and identifies broken links in any text document. It currently supports both HTTP:// and HTTPS://. You can run it with a Docker container.

GitHub - smallhadroncollider/brok: Find broken links in text documents
Find broken links in text documents. Contribute to smallhadroncollider/brok development by creating an account on GitHub.

14- mlc

mlc is yet another broken link checker for markup and text files. It currently supports HTML and markdown files. mlc is built with Rust programming language.

GitHub - becheran/mlc: Check for broken links in markup files
Check for broken links in markup files. Contribute to becheran/mlc development by creating an account on GitHub.

15- Linkchecker

Linkchecker helps you find broken URLs and broken fragments in any URLs. It can be used as a library to add broken link checkers in any Node.js app.

GitHub - w3c/node-linkchecker: Detect broken links and broken fragments
Detect broken links and broken fragments. Contribute to w3c/node-linkchecker development by creating an account on GitHub.

16- PyAnchor

PyAnchor is a script to find a broken link for any website. It requires Python 3. The script can target a single page, a website, or use a sitemap to look for all site links.

GitHub - EndlessTrax/pyanchor: Find your broken links, so users don’t.
Find your broken links, so users don’t. . Contribute to EndlessTrax/pyanchor development by creating an account on GitHub.

Another dead links checker built on top of Node.js. After it finishes, the website scan generates a rich summary and a report in HTML format.

GitHub - bem-site/broken-links-checker: Broken links checker for website pages
Broken links checker for website pages. Contribute to bem-site/broken-links-checker development by creating an account on GitHub.

18- PHP-linkchecker

PHP-linkchecker checks for dead broken links in HTML, JSON, sitemap.xml, markdown, and robots.txt files. It can also be embedded in PHP projects.

GitHub - emmanuelroecker/php-linkchecker: Check broken links in html / json files, sitemap.xml, markdown and robots.txt
Check broken links in html / json files, sitemap.xml, markdown and robots.txt - GitHub - emmanuelroecker/php-linkchecker: Check broken links in html / json files, sitemap.xml, markdown and robots.txt

W3CLink is a Node.js command-line app to validate and check websites for links.

GitHub - 99x/w3c-link-validator: Command line tool, identifying broken links, validate basic html standards and reporting
Command line tool, identifying broken links, validate basic html standards and reporting - GitHub - 99x/w3c-link-validator: Command line tool, identifying broken links, validate basic html standar…

20- LinkChecker Bookmarklet

LinkChecker is a library and framework to check for the health of URLs. It can be used as a bookmarklet tool.

GitHub - WickyNilliams/LinkChecker: A handy bookmarklet and JS library to check a page for broken links
A handy bookmarklet and JS library to check a page for broken links - GitHub - WickyNilliams/LinkChecker: A handy bookmarklet and JS library to check a page for broken links

BrokenLinks is a Java app to crawl and find broken links, 404 errors, and 301 redirects in any website.

GitHub - JohannMG/BrokenLinks: Find broken links by crawling a website. 404s and 301 redirects, specifically.
Find broken links by crawling a website. 404s and 301 redirects, specifically. - GitHub - JohannMG/BrokenLinks: Find broken links by crawling a website. 404s and 301 redirects, specifically.

Endnote

Our primary goal of this list is to provide you with as many free open-source usable alternatives as possible.

If you know of any other open-source tool or script that does the same, please let us know.