Broken Link Checker for Obsidian & Markdown Vaults
Scan an Obsidian or markdown vault for broken wikilinks and dead links. See the source file, line number, and a suggested fix. Runs entirely in your browser.
Drop your vault folder here
or choose a folder from your computer.
Every file is listed; only text notes and small text files are read. Nothing is uploaded. Files are read entirely in your browser.
Overview
A broken link checker scans every [[wikilink]] and markdown [link](target) in your vault and tests whether each target still resolves to an existing note. Links pointing at nothing are listed with their source file and line number. When a link's target is close to the name of a note that still exists, the tool suggests it as the likely rename target, saving you from hunting through folders by hand.
How it works
- 1Drop your vault folder onto the tool, or choose it with the folder picker. Nothing is uploaded; every file is read locally in your browser tab.
- 2The tool scans every .md and .markdown file for [[wikilinks]], embeds, and markdown-style [text](links).
- 3Each link's target is checked against every note actually present in the vault, case-insensitively, by full path or by basename.
- 4Links that resolve to nothing are listed with their source file, line number, and raw target text.
- 5For each broken link, the tool fuzzy-matches its target against your current note names and suggests the closest one, in case the note was renamed rather than deleted.
- 6Download the fix report as a markdown checklist and work through it while you edit your notes.
Worked example
A 3-note vault after a rename
One note links to [[Old Meeting Notes]], a note that was since renamed to Meeting Notes.md. Another links to [[Zzz Totally Unrelated Qqq]], which never existed. Scanning the vault's 3 notes turns up 5 links total. 2 are broken: the tool suggests Meeting Notes.md for the renamed link (its name is close enough to the old target to flag with confidence), and returns no suggestion for the second, since nothing in the vault is close enough to guess at.
Methodology & privacy
Wikilinks ([[target]], [[target|alias]]) and markdown links ([text](target)) are parsed from every note's raw text, one pass per file, tracking source file and line number. A link resolves if its target matches an existing note's full path or basename, case-insensitively; anything else is broken. Two categories never count as broken: a same-note heading or block reference like [[#Heading]] never named a note to begin with, and an embed or image target (![[x]] or ) points at an attachment, not a note, so it is out of scope for this check. For each broken link, the tool compares its target against every note's basename using Levenshtein edit distance and suggests the closest one, but only when the distance is small relative to the target's length; otherwise it reports no suggestion rather than guessing.
- Source: Obsidian Forum: Broken links - how to automate updates across the vault
- Source: Obsidian Forum: renaming a heavily-linked note breaks vault structure
- Source: GitHub: obsidian-broken-links-cleaner plugin
Your notes never leave your browser. The vault folder is read locally through the browser's file picker or drag-and-drop; nothing is uploaded to a server, and closing the tab clears everything.
FAQ
How do I find all broken links in my Obsidian vault?
+
Drop your vault folder into this tool. It scans every note for [[wikilinks]] and markdown links, checks each target against the notes that actually exist, and lists every one that resolves to nothing, along with the file and line it's on.
How do I fix broken links after renaming notes?
+
Obsidian does not retroactively update links typed as plain text or pasted from elsewhere, so a rename can leave old wikilinks pointing at a name that no longer exists. This tool flags each one and, when the old and new names are close enough, suggests the renamed note so you can fix the link manually.
Is there a tool to scan an Obsidian vault for broken wikilinks?
+
Yes. This scanner works on any folder of markdown files, including an Obsidian vault, without installing a plugin. It reads the folder locally in your browser and reports every broken wikilink with its source and line number.
How do I find dead internal links in markdown files?
+
Point this tool at the folder. It parses both [[wikilink]] and [text](link) syntax, resolves each target against the notes present in the folder, and lists any link whose target does not match an existing file.
Is there a free tool to check for broken links in Obsidian without installing a plugin?
+
Yes, this one. It runs entirely in the browser, so there is nothing to install and no plugin permissions to grant. It works the same way for Obsidian, Logseq, Foam, or any other plain-markdown note system.
Does this modify or fix my notes automatically?
+
No. The tool only reads your files to build a report; it never writes to them. The downloadable fix report lists each broken link with a suggested replacement so you can make the edit yourself.
Related tools
Duplicate & Conflicted-Copy Note Finder
Scan a notes folder for duplicate, near-duplicate, and sync-conflict copies. See side-by-side diffs and which file is newer. Runs entirely in your browser.
Vault Audit: Health Report for Your Notes
Drop a notes folder and get one health dashboard: orphan notes, stale notes, stub notes, unused attachments, and frontmatter issues, plus a shareable score.
Tag Cleaner: Audit & Merge Messy Tags
Scan a notes vault for messy tags: case collisions, plural splits, typos, and nesting issues, then copy a ready rename plan. Runs entirely in your browser.
Markdown Word Count & Reading Time
Count words and characters in markdown without frontmatter, code, or link syntax inflating the total, plus a per-heading breakdown and reading time.
This tool fixes one moment. recal handles the whole day.
recal is a private brain for your Mac. It watches how you work, on device, and starts doing your busywork itself. You approve every action.
Get early access