Description
Scans notes and notebooks for broken external links (link rot) with retry thresholds and Wayback Machine recovery options.
Additional Information
| Links: | |
|---|---|
| Maintainers: | william75 |
| Version: | 1.1.7 |
| Minimum app version: | 2.8.0 |
| Downloads: This version: | 0 |
| Last updated: | 2026-08-25T08:07:22Z |
Joplin Link Checker Plugin
A native Joplin plugin that scans your notebooks for broken external links (link rot), with live progress, one-click fixes, an exception list, and Wayback Machine recovery for links that are truly gone.
Key Features
- Hierarchical notebook selection — scan your entire database, or pick a specific notebook (with or without its subfolders) from a visual indented tree.
- Live progress — a progress bar and running counter update in real time while the scan runs, and dead links appear in the results list as soon as they're found, instead of waiting for the whole scan to finish.
- Concurrent scanning — checks multiple links in parallel (1–10, configurable) so scans stay fast even on large collections of notes.
- Smart bot/anti-block detection — a 6-second timeout per request,
browser-like headers (
Sec-Fetch-*,User-Agent), an automaticGETfallback when a server rejectsHEAD, and recognition of Cloudflare/anti-bot challenge pages (403/503 with a Cloudflare signature) as protected, not dead — avoiding false positives on sites like Stack Overflow. - Failure threshold, not one-strike — a link is only marked dead after failing a configurable number of separate scans in a row, so a temporarily-down site doesn't get flagged immediately. History is persisted between scans (and can be reset from the panel).
- Markdown-aware link extraction — URLs inside fenced code blocks and inline code spans are skipped, so example/placeholder links in code snippets are never checked or reported as broken.
- Scan summary & persistent results — instant stats on notes scanned, total links checked, and dead links found; switch to other panel views and come back to your last scan at any time with Last Results.
- Wayback Machine recovery — one-click link to the Internet Archive's saved snapshot for a confirmed dead link.
- Report note generation — export the last scan's results as a new Joplin note, with a custom title, target notebook, and sort order.
Action Buttons (Per Broken Link)
When a dead link is detected, the panel gives you immediate inline tools:
- Open Note — jump straight to the note containing the link.
- Ignore Domain — stop checking any link from that domain in future scans.
- Ignore Link — ignore just that one specific URL, keeping a record of which note it came from.
- Fix Typo (
.) — neutralizes the link by inserting a space after periods (e.g.example.com→example. com), so it stops being auto-linked without deleting the reference from the note. - Edit Link — replace the URL in place with a corrected one, directly from the panel.
- Delete Note — permanently delete the note (with a confirmation prompt).
Panel Control Toolbar
Compact navigation buttons in the side panel give full management capabilities without opening global settings:
- Last Results — return to the summary of your latest scan.
- Ignored Dom. — view all blacklisted domains, add new ones manually, or remove existing entries.
- Ignored Links — view all individually ignored URLs, along with a link back to their source note, and add or remove entries manually.
- Reset Hist. — adjust the failure threshold and clear the retry history cache.
Installation
Method 1: Official Plugin Store (Recommended)
- Open Joplin and go to Tools → Options → Plugins (macOS: Joplin → Preferences → Plugins).
- Search for
Link Checker. - Click Install and restart Joplin.
Method 2: Manual Installation
- Download the latest
.jplfile from the Releases page. - In Joplin, go to Tools → Options → Plugins.
- Click the gear icon (Manage plugins) in the top right and select Install from file.
- Select the downloaded
.jplfile and restart Joplin.
Usage Guide
- Open the panel via View → Toggle Link Checker Panel.
- Select a notebook from the dropdown (or scan everything), and choose whether to include subfolders.
- Click Start Scan. Progress and any dead links found appear live in the panel; click Stop Scan at any time to interrupt and keep the partial results found so far.
- Use the inline action buttons on each broken link to open, ignore, fix, edit, or remove it.
- Optionally generate a report note summarizing everything the scan found.
Settings
Available under Options → Plugins → Link Checker:
| Setting | Description | Default |
|---|---|---|
| Failure threshold | Consecutive scans a link must fail before being marked dead (1–20) | 3 |
| Concurrent link checks | How many links to check in parallel during a scan (1–10) | 5 |
| Ignored domains | Comma-separated list of domains to skip during scans | includes localhost/private IP ranges |
| Ignored URLs | Comma-separated list of individual URLs to skip during scans | (empty) |
Support This Project
If you find this plugin useful, consider buying me a coffee to support continued development and maintenance:
Contributing
Issues and pull requests are welcome — if you hit a bug or have an idea for a feature, please open an issue with steps to reproduce (or a description of what you'd like to see).
License
AGPL-3.0 License. Feel free to contribute or report issues on the GitHub repository!