How to check links in a Markdown document
Catch broken anchors, empty links, and duplicates in your Markdown before you publish — what a browser-based checker can verify, and what it cannot.
Broken links are the most common rot in any document. The Markdown Link Checker scans your Markdown and flags link problems before your readers find them.
What it checks
Running entirely in your browser, it inspects the document itself:
- Internal anchors — a link to
#installationis verified against your actual headings, so a renamed section that orphaned its link gets caught. - Empty or malformed links —
[text]()with no URL, or broken[text](urlsyntax. - Duplicate links — the same URL linked many times, which is sometimes intentional and sometimes a copy-paste slip.
- Missing link text — links with no readable label, which hurt accessibility.
These are exactly the errors you can't easily eyeball in a long document.
What it cannot check (and why)
A page running in your browser can't freely request other websites — the web's CORS security model blocks it. So a browser-based checker can't reliably confirm that an external https://… link is still alive (returns 200 vs 404). That check needs a server or a dedicated link-checking service that makes the requests itself. This tool is honest about that line: it verifies everything internal to your document with certainty, and leaves live external-URL probing to tools built for it.
A pre-publish habit
Run the checker as the last step before committing docs, the way you'd run a spell-check. It takes seconds and prevents the "click → 404" experience that makes documentation feel neglected.
Related tools
To find broken anchors specifically, the Broken Link Finder focuses there; to pull every link out for review, Link Extractor lists them; and Duplicate Link Finder isolates repeats.
Privacy
The scan is local — your document, including internal URLs, never leaves the browser.
Check before you publish, and keep every link landing where it should.