Skip to content
Run here 100% in your browser, no upload, no login

Markdown Linter

Check Markdown for heading jumps, broken links, missing alt text and eight more rules.

Line Severity Rule Message

Paste Markdown and press Lint.

The rules are written for CommonMark-ish documents. A linter reports patterns worth reviewing, not defects you must fix.

How to use it

  1. Paste Markdown into the editor. Results update as you type.
  2. Press Lint to force a fresh pass, or use the Show filter to narrow the list to errors, warnings or info items.
  3. Read the report: each row gives the line number, severity, rule name and what was found.
  4. Click a row to select that line in the editor so you can fix it in place.
  5. Load the Sample to see what a document with several issues looks like.

Common use cases

Why it stays private

The document is checked in your browser's memory. Nothing is uploaded, so drafts, internal runbooks and unreleased documentation stay on your device.

FAQ

Q: Which rules does it check? A: Heading level jumps, duplicate heading text, fenced code blocks without a language, empty and unclosed links, empty link text, images with no alt text, trailing whitespace, repeated blank lines and inconsistent list indentation.

Q: Why is there a warning but no error on my document? A: Errors are for things that break the intent of the markup, such as a link that points nowhere. Warnings are for things worth reviewing, such as a code fence without a language, which still renders correctly.

Q: Does it check CommonMark or GFM? A: It recognises the CommonMark shapes these rules target, including ATX headings and fenced code blocks with backticks or tildes. It is not a full parser, so it reports patterns rather than a parse tree.

Q: Why does an issue point at a line inside a code block? A: It should not. Content inside a fenced code block is skipped, and only the fence line itself is reported, when the opening fence has no language.

Q: Will it rewrite my Markdown? A: No. It only reports line numbers and rule names. Fixing the text stays your decision, which matters because some findings are intentional.

Your data stays on this device

Markdown Linter runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.

Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.