Markdown Link Checker

Pure Frontend · Broken Link Detection · Anchor Validation · Duplicate Marking · Reference Check

Zero Dependencies · Works Offline
📝 Markdown Input
📂 Drag .md file here
🔒Markdown parsing runs locally. External links are checked directly from the browser.

What Can the Markdown Link Checker Do?

The Markdown Link Checker is a pure frontend online tool for extracting and validating all links in Markdown documents. It supports inline links, reference links, image links, auto-links, and heading anchor detection. It automatically validates internal anchors against headings, detects duplicate links and unused reference definitions, and checks external link reachability via browser requests. All parsing is done locally in your browser—no content is ever uploaded to any server.

Core Features

How to Use

Step 1: Paste Markdown content in the input box, drag-and-drop a .md file, or click "Load Example".

Step 2: Click "Check Links" or press Ctrl+Enter to automatically extract and validate all links.

Step 3: View results—green for OK, red for issues (broken/missing anchor), yellow for duplicates.

Step 4: Click "Copy Report" or "Download Report" to save results. Ctrl+Shift+C copies instantly.

Use Cases

Documentation Maintenance

Regularly check project READMEs, wikis, and docs for broken links and ensure all external links are still valid and internal anchors are correct.

Pre-Publish Blog Check

Verify all reference links before publishing a blog post to avoid readers hitting 404 pages.

Open Source Contributions

Check documentation links before submitting a PR to avoid CI/CD failures from broken link checks.

Knowledge Base Cleanup

Batch-check knowledge base documents for broken links and clean up stale references.

Technical Background

Markdown link syntax: inline [text](url), reference [text][id] followed by [id]: url, image ![alt](url). GitHub anchor ID generation: lowercase, remove non-alphanumeric chars (keep hyphens and spaces), spaces to hyphens, merge consecutive hyphens. For example, "Hello World!" generates anchor #hello-world. CORS (Cross-Origin Resource Sharing) limits direct browser requests to other domains, so some external links may not be checkable.

FAQ

Which link types can be checked?

Supports inline links [text](url), reference links [text][ref], auto-links , image links ![alt](url), and heading anchors #heading.

Can it detect external broken links?

External links are checked via fetch requests (subject to CORS limitations). Internal anchors are precisely validated by parsing heading IDs.

Is data uploaded to a server?

No. All Markdown parsing and link extraction is done locally in your browser. External link checks are made directly from the browser.

Does it support drag-and-drop .md files?

Yes. Drag a .md file directly into the input area to load and analyze it.

Can it detect duplicate links?

Yes. The tool flags duplicate links pointing to the same URL and reference link definitions that are defined but never used.

How are anchors validated?

Automatically extracts all headings and generates anchor IDs (following GitHub rules: lowercase, remove special chars, spaces to -), then verifies each #anchor link has a matching heading.

Markdown Link Checker | No Signup, Client-Side · No Server Uploads

Feedback: dexshuang@google.com