📝 linted locally — nothing sent anywhere

Markdown Linter

Catch common Markdown mistakes before you publish - unclosed code fences, skipped heading levels, reference-style links that point nowhere. Entirely client-side.

How it works

Linting runs three independent checks over the raw text with regular expressions: counting ``` fence lines and flagging an odd total as an unclosed code fence, walking heading lines to flag any jump of more than one level (like H1 straight to H3), and collecting every [text][ref]-style reference link alongside every [ref]: url definition to flag references that are used but never defined — it's pattern matching against the raw text, not a full Markdown parser or AST.

FAQ

Why didn't it catch a broken inline link like this?
Inline links in the form [text](url) aren't checked at all — only the reference-style [text][ref] form that depends on a separate [ref]: url definition elsewhere in the document, since that's the pattern that actually breaks silently when the definition is missing or misspelled.
Can a Markdown file with zero issues here still render incorrectly?
Yes — this only checks for the three specific problems described (fences, heading skips, undefined references), not full CommonMark validity, so other mistakes like malformed tables or mismatched emphasis markers won't be flagged.

Free, unlimited, no account. If this saved you a paid tool, a small thanks is appreciated.

Say thanks — $3