Markdown Internal Link Checker
CodeCheck a Markdown document's #anchor links against its own heading slugs and flag broken ones
Paste a Markdown document and it computes the GitHub-style anchor slug for every ATX heading, the same algorithm the Table of Contents Generator uses, then checks every inline `[text](#slug)` link in the document against them. A link pointing at a slug with no matching heading is flagged as broken, which catches the common docs-authoring mistake of a heading getting renamed or removed after links to it were already written. It only checks inline anchor links, not reference-style links or links into other files, and headings or links inside fenced code blocks are ignored so a hash in a code sample is never mistaken for either.
How to use Markdown Internal Link Checker
- 1.Paste a Markdown document, or try one of the sample snippets to see the output shape.
- 2.Review each internal link's valid/broken status alongside the line it was found on.
- 3.Expand the heading list to see the exact slug GitHub would generate for each heading, including the -1/-2 suffixes duplicate headings get.
Frequently asked questions
Use via API, SDK, or MCP
cURL# Free: 1,000 req/day · Pro: 10,000 req/day
curl -X POST https://api.utilix.tech/v1/tools/markdown-internal-link-checker \
-H "Authorization: Bearer utx_live_..." \
-H "Content-Type: application/json" \
-d '{"markdown":"# Title\n\nSee [Setup](#setup) below.\n\n## Install\n"}'Get an API key from your dashboard · Full API docs →