Markdown Validator
Paste or type Markdown to instantly validate for common errors and bad syntax — with line numbers and a live preview.
Paste some Markdown to start validating.
❌ Errors Detected
- × Unclosed code fence — a
```block was opened but never closed. - × Broken link syntax —
[text](urlis missing the closing).
⚠️ Warnings & ℹ️ Info
- ! Heading missing space —
##Titleshould be## Title. - ! Empty link text —
[](url)has no descriptive text. - ! Image missing alt text —
reduces accessibility. - ! Duplicate headings — two headings with identical text can confuse navigation.
- ! Mixed list markers — using both
-and*in the same list. - i Trailing whitespace, tab indentation, lines >120 chars.
Frequently Asked Questions
What does this validator check?
It checks for 10 common Markdown issues: unclosed code fences, broken link syntax, heading formatting, empty links, missing image alt text, duplicate headings, trailing whitespace, mixed list markers, tab indentation, and lines over 120 characters.
Why is two trailing spaces not flagged?
Two trailing spaces are valid Markdown — they create a hard line break (<br>). Only three or more trailing spaces are flagged as unintentional whitespace.
Is my content sent anywhere?
No — all validation and preview rendering happens entirely in your browser. Nothing is sent to any server.
What Markdown flavour is used for the preview?
The preview uses marked with GFM (GitHub Flavored Markdown) enabled — the same renderer used by GitHub READMEs.
About Markdown Validator
The Markdown Validator is a free online linter that checks your Markdown files for syntax errors, accessibility issues, and style problems in real time — complete with a live rendered preview powered by GitHub Flavored Markdown.
- Detects 10 categories of issues: errors, warnings, and info-level hints
- Pinpoints problems with exact line numbers for fast navigation
- Live preview renders your Markdown exactly as GitHub would
- Validates unclosed code fences, broken links, missing alt text, and more
- Shows word count and line count at a glance
- 100% client-side — your content never leaves your browser
How to Use the Markdown Validator
- 1
Paste or type your Markdown
Paste your
.mdcontent into the left editor, or click "Sample Markdown" to load an example with intentional errors. - 2
Review the Issues panel
The Issues tab lists all detected problems grouped by severity (Errors, Warnings, Info) with the line number shown for each.
- 3
Fix errors in the editor
Edit the Markdown directly in the left panel. The validator re-runs automatically after a short pause so you see issues clear as you fix them.
- 4
Check the Preview tab
Switch to Preview to see how your Markdown renders as HTML — identical to how GitHub displays README files.
- 5
Copy the validated content
Click "Copy Input" to copy your clean Markdown back to the clipboard, ready to paste into your project.
Tip: Load the sample document first to see all issue types in action before pasting your own content.
Common Use Cases
GitHub README Files
- • Catch broken link syntax before pushing
- • Ensure images have alt text for accessibility
- • Verify all code fences are properly closed
Documentation Sites
- • Lint MkDocs, Docusaurus, or VitePress pages
- • Detect duplicate headings that break anchor links
- • Keep line lengths readable across devices
Blog & Content Writing
- • Validate Ghost, Jekyll, and Hugo post front matter
- • Check heading hierarchy before publishing
- • Spot trailing whitespace that causes unexpected line breaks
Pull Request Descriptions
- • Preview how PR descriptions will look on GitHub
- • Ensure checklists and code blocks render correctly
- • Catch empty link text in change log entries
Technical Writing
- • Validate API reference and tutorial docs
- • Ensure mixed list markers are consistent
- • Verify tab indentation is replaced with spaces
Learning Markdown
- • Experiment with syntax and see instant feedback
- • Understand the difference between errors and warnings
- • Use the preview to compare source vs rendered output
More Questions About Markdown Validation
What is Markdown linting?
Markdown linting is the process of analysing Markdown source files for style inconsistencies, syntax errors, and accessibility issues. It helps keep documents consistent and prevents rendering problems across different Markdown parsers.
What is the difference between an error, a warning, and an info notice?
Errors indicate broken syntax that will cause rendering failures (e.g., an unclosed code fence). Warnings flag issues that are technically valid but harmful to quality or accessibility (e.g., missing alt text). Info notices highlight stylistic issues that are best practice to fix but do not affect rendering.
Does this tool support CommonMark or only GitHub Flavored Markdown?
The live preview uses GFM (GitHub Flavored Markdown) via the marked library, which is a superset of CommonMark. The syntax linting rules apply to any Markdown flavour since they target universal formatting conventions.
How do I lint Markdown files automatically in my project?
Use markdownlint-cli (Node.js) or markdownlint as a VS Code extension for automated checking in CI pipelines or pre-commit hooks. This online tool is best for quick manual checks.
Why should images always have alt text?
Alt text is read by screen readers for visually impaired users and displayed when an image fails to load. Search engines also use alt text to understand image content. Writing  instead of  improves both accessibility and SEO.
Is there a file size limit for validation?
There is no enforced limit. Since all processing runs in your browser, very large documents (hundreds of KB) may feel slightly slower, but typical README and documentation files validate instantly.
Is my Markdown content safe to paste here?
Yes. All validation and preview rendering happens entirely client-side using the marked library. Nothing is transmitted to any server, logged, or stored. You can safely paste private documentation or internal notes.