In short: what is a Markdown preview?
A Markdown preview renders the plain-text Markdown you write — headings with #, emphasis with *, lists with - — into the formatted, browser-ready HTML it represents, and shows it live as you type. This Markdown previewer and editor follows the CommonMark specification and layers GitHub Flavored Markdown on top, so tables, task lists, strikethrough, autolinks, fenced code and footnotes preview exactly the way they appear on GitHub. Write on one side and a themed, multi-device split-screen preview updates beside it. It also generates a table of contents, analyzes word count, reading time and readability, scores your document for structure, SEO and accessibility, and exports clean, minified, beautified, standalone-HTML, PDF, plain-text or JSON — all 100% in your browser, XSS-safe, with nothing ever uploaded.
Live split-screen preview
Type CommonMark & GFM on one side and watch a themed preview repaint instantly beside it, with editor-only, preview-only and raw-HTML views.
Multi-device & themed rendering
Preview at desktop, tablet and mobile widths in GitHub, dark, Notion or sepia themes, with scroll sync and a jump-to-heading contents panel.
Table-of-contents generator
Builds a nested TOC with anchor links from your headings, exportable as Markdown or ready-to-paste HTML.
Content & readability analyzer
Word, character, sentence and paragraph counts, reading time and a Flesch readability score with a plain-language label.
Structure, SEO & accessibility scores
Grades your document against best practices and runs a WCAG 2.2 audit, flagging heading, link and alt-text issues live.
Multi-format export hub
Export clean, minified, beautified or standalone HTML, a print-ready PDF, plain text, Markdown or a structured JSON document.
What is a Markdown preview?
A Markdown preview is the rendered view of a Markdown document: it takes the raw, plain-text markup you type and shows you the headings, bold text, lists, links, tables and code blocks as they will actually appear once a browser, a documentation site or a code host displays them. Markdown itself was created in 2004 by John Gruber, with significant input from Aaron Swartz, as a way to write formatted text using only the characters you would type anyway. The previewer closes the loop on that idea — you keep the speed and readability of plain text while seeing, in real time, the polished output it produces.
The defining feature of a modern Markdown previewer is live, two-way feedback. As you write a heading, a bullet or a fenced code block, the preview repaints instantly, so there is no compile step, no "save and refresh" cycle and no guessing about whether a table's pipes line up. That immediacy turns Markdown from a format you have to imagine into one you can see, which is why live preview is the single most-used capability in editors like StackEdit, Dillinger, HackMD, Typora and the GitHub comment box. A good preview is faithful: it matches the destination platform's rendering closely enough that what you approve in the editor is what your readers receive.
This tool goes further than a plain side-by-side renderer. It offers four view modes — split, editor-only, preview-only and a raw-HTML view — so you can focus on writing, on reviewing, or on inspecting the exact markup that will be emitted. It previews your document at desktop, tablet and mobile widths so you can confirm your README or docs page reads well everywhere, and it ships several preview themes — GitHub, dark, Notion and sepia — that approximate how popular platforms style the same content. Scroll synchronization keeps the source and the preview aligned, a contents panel jumps you to any heading, and every rendered code block gets a one-click copy button.
Crucially, everything happens locally in your browser. The Markdown is parsed, rendered, analyzed and exported on your own machine using a dependency-free engine — nothing is uploaded to a server, logged or stored, and the core features keep working offline once the page has loaded. That makes the previewer safe for confidential runbooks, internal documentation and unpublished drafts, and it means the preview is fast even on large files because there is no network round-trip between keystroke and render.
Beyond rendering, the previewer doubles as a lightweight writing and documentation studio. It counts words and estimates reading time, builds a table of contents from your headings, scores the document's structure, SEO and accessibility against established best practices, and exports to the format you need next. In other words, a Markdown preview answers two questions at once: "does this look right?" and "is this document actually good?" — the first visually, the second analytically.
Markdown vs HTML
Markdown and HTML are not rivals so much as two ends of the same pipeline: Markdown is what you write, HTML is what the browser reads, and a previewer is the bridge between them. HTML is the native language of the web — a tree of elements like <h1>, <p>, <ul> and <a> that browsers know how to lay out and style. It is precise and fully expressive, but it is verbose to author by hand: every element needs an opening and closing tag, and a single forgotten </div> can quietly break a page.
Markdown trades a little of that raw power for enormous gains in authoring speed and readability. A heading is one# instead of a pair of <h1> tags; a link is [text](url)instead of an anchor element with an attribute. Because the source stays readable as plain text, a Markdown file is legible in any editor, diffs cleanly in Git so reviewers see exactly which words changed, and never traps your content in a proprietary binary format. The previewer's raw-HTML view makes the relationship explicit: type Markdown on one side and watch the semantic HTML it compiles to appear on the other.
You do not have to choose between them. Markdown is a superset-friendly format: where it lacks a construct you need — a specific attribute, an embedded widget, a complex layout — you can drop raw HTML straight into the document, and a CommonMark-compliant renderer will pass it through. That escape hatch is why Markdown scales from a two-line note to a full documentation site without ever becoming a straitjacket. The practical rule of thumb is to write everything in Markdown for the readability and version-control benefits, and reach for inline HTML only for the rare element Markdown cannot express.
Security is the one place the two genuinely diverge, and it matters for any tool that renders untrusted input. Raw HTML can carry <script> tags, event-handler attributes and javascript: URLs that execute code — the classic cross-site-scripting (XSS) vector. A responsible previewer therefore sanitizes as it renders: this engine escapes raw HTML it cannot safely emit and strips dangerous URL schemes, so pasting a malicious README never runs anything in your browser. You get the convenience of HTML pass-through where it is safe, and a hard safety floor everywhere else.
Markdown syntax guide
The whole point of Markdown is that the syntax is small enough to memorize in an afternoon, yet expressive enough for real documents. Headings use one to six # characters — # Title is an H1, ## Section is an H2 — and they double as the anchors a table of contents links to, so a clean heading hierarchy is worth getting right. Paragraphsare simply blocks of text separated by a blank line, and a hard line break can be forced with two trailing spaces or, in this tool, by enabling the "line breaks" option.
Emphasis wraps text in punctuation: *italic* or _italic_, **bold**, and ~~strikethrough~~ in GitHub Flavored Markdown. Lists come in two kinds — unordered lists start each line with -, * or +, while ordered lists start with 1., 2. and so on — and you create nested lists by indenting child items by two spaces. Task lists, a GFM extension, turn - [ ] and - [x] into rendered checkboxes, which is why issue and pull-request checklists work the way they do.
Links are written [label](https://example.com), optionally with a hover title, and bare URLs autolink under GFM. Images use the same pattern with a leading bang: , where the alt text is not decoration but the accessibility label screen readers announce and search engines index. Blockquotes prefix lines with > and nest by stacking the markers, making them ideal for callouts, quoted replies and admonitions.
Code is where Markdown earns its keep for developers. Wrap a snippet in single backticks for inline code, or fence a block between triple backticks with an optional language hint — ```js — that drives syntax-highlighting downstream and is preserved faithfully in the preview and every export. Tables are built from pipes and dashes, with a colon in the divider row controlling column alignment, and footnotes ([^1]) link to definitions collected at the foot of the document with automatic back-references.
Two more constructs round out a real document. A horizontal rule — three or more dashes on their own line — separates sections, and YAML frontmatter, a block of key: value metadata fenced by --- at the very top of the file, carries the title, date, tags and other fields that static-site generators and content systems consume. This previewer detects and separates frontmatter automatically, surfaces the title in its export and PDF output, and renders the body cleanly beneath it. The built-in cheat sheet and starter templates let you try every one of these constructs in the live editor without leaving the page.
GitHub Flavored Markdown (GFM)
GitHub Flavored Markdownis the dialect most developers actually mean when they say "Markdown." It is a strict superset of CommonMark — everything valid in CommonMark is valid in GFM — that adds the handful of pragmatic extensions teams kept reaching for: tables, task lists, strikethrough, autolinks for bare URLs, and fenced code blocks with language hints. Because GitHub renders billions of README files, issues and pull requests with it, GFM became the de-facto standard that GitLab, Gitea, many static-site generators and chat tools now emulate.
This previewer targets CommonMark plus GFM by default, and you can toggle GFM on or off to see exactly how a stricter CommonMark renderer would treat the same source. Turn it on and - [ ] becomes a checkbox, ~~text~~ renders with a line through it, pipe tables align, and a naked https:// link becomes clickable. Turn it off and those constructs fall back to literal text — a fast way to diagnose why a document looks different on a platform that only supports the CommonMark core.
Tables are the GFM feature people reach for most and get wrong most often, because a misaligned pipe silently breaks the whole table. The live preview is the cure: you see the table render — or fail to — the instant you type it, and the alignment colons in the divider row (:---, :---:, ---:) take visible effect immediately. Task listsbehave the same way, giving you the checkbox UI that powers GitHub's issue checklists and project tracking.
GFM also formalizes fenced code with language identifiers, which is what makes syntax highlighting portable. Labelling a block ```python or ```ts tells the renderer how to colourize it; this tool preserves that label faithfully so your highlighting survives every export to GitHub, a static site or a blog. A few GFM niceties — @mentions, issue references and emoji shortcodes such as :rocket: — are platform-specific; the previewer renders the emoji you would expect and preserves mentions and references as text so your exported document stays faithful to wherever it is ultimately published.
MDX explained
MDX is Markdown with a superpower: it lets you write JSX — the component syntax of React — directly inside a Markdown document. In an .mdx file you can import a component and drop it into the prose like any other element, so a documentation page can interleave ordinary headings and paragraphs with interactive charts, live code playgrounds, callout components and tabs. It is the content format behind Docusaurus, Next.js docs, Astroand many modern documentation frameworks precisely because it unifies "writing" and "building" in a single file.
The trade-off is that MDX is no longer pure content — it is code that must be compiled and executed by a JavaScript toolchain that knows about your specific components. A standalone, in-browser previewer cannot safely run arbitrary imported React components from an untrusted document, and pretending otherwise would be both a security risk and a source of confusing rendering differences. So this tool takes the honest, useful approach: it previews the Markdown layer of your MDX faithfully — all the headings, lists, tables, code and GFM extensions render exactly as they will — while preserving your JSX and import statements as clearly-marked source rather than guessing at how your component library would render them.
That means you can use this previewer as the writing surface for MDX content: draft the narrative, get the structure and readability right, check headings and the table of contents, and audit accessibility — then take the file into your Docusaurus, Astro or Next.js project where its real component runtime renders the interactive pieces. You keep the fast, private, dependency-free preview for everything that is genuinely Markdown, and you avoid the trap of a preview that disagrees with your production build.
If your goal is portable content rather than embedded components, plain GFM is almost always the better choice. MDX shines when a page truly needs interactivity — a pricing calculator, a runnable example, a live API explorer — and is overkill for a README, changelog or a standard documentation article. A practical pattern is to write the bulk of your documentation in CommonMark + GFM, which this tool previews completely, and promote only the handful of pages that need live components to MDX.
Documentation best practices
Great documentation is less about prose polish and more about structure a reader can navigate. Start with exactly one H1 that names the document, then use H2s for major sections and H3s for their subsections, never skipping a level — jumping from an H2 to an H4 confuses both screen readers and the automatically generated table of contents. This previewer's outline view and structure score surface hierarchy problems instantly, so a malformed heading tree is caught while you write rather than after you publish.
Lead with the answer. Readers arrive at documentation with a task, so the most effective pages open with a short summary or quick-startthat gets someone productive in the first screen, then layer detail beneath it for those who need more. Keep paragraphs short, prefer lists and tables for anything enumerable, and use fenced code blocks with language hints for every command and snippet so they are both highlighted and copy-pasteable. The reading-time and readability metrics in the analyzer are a useful gut-check: if a "getting started" page reports a fifteen-minute read and a college-level grade, it probably needs trimming.
Write descriptive link text and meaningful alt text. A link that says "the configuration guide" is far more useful — to sighted readers, screen-reader users and search engines alike — than one that says "click here," and every image should carry alt text that conveys its purpose rather than being left blank. The accessibility audit in this tool flags empty alt attributes, vague link text and other WCAG issues, turning best practices that are easy to forget into a checklist you can actually act on.
Treat documentation as code that lives beside the code it describes. Because Markdown is plain text, it belongs in version control next to your source, travels through the same pull-request review, and shows clean diffs so reviewers can comment on wording as precisely as they comment on logic. Keep a changelog, date your release notes, and revisit pages when the behaviour they describe changes. Consistency compounds: a predictable heading style, a standard frontmatter block and a shared vocabulary make a documentation set feel authored by one careful hand even when dozens of people contribute to it.
Markdown for developers
For developers, Markdown is the connective tissue of a project. The READMEis a repository's front door — often the first and only thing a potential user reads — and a strong one states what the project does, how to install it, a minimal usage example and where to get help, all in scannable Markdown. CONTRIBUTING guides, issue and pull-request templates, architecture decision records, changelogs and inline documentation all live in Markdown because it sits naturally in the same repository and review flow as the code itself.
The reason Markdown won the developer world is diff-ability. A plain-text document produces a meaningful line-by-line diff in Git, so a reviewer sees exactly which sentence changed and can comment on documentation with the same precision they bring to code. Binary document formats hide those changes; Markdown exposes them. That transparency, combined with the fact that Markdown renders beautifully on every code host without any build step, is why it became the default for technical writing inside engineering teams.
This previewer fits a developer's workflow directly. You can paste a README, fetch a raw file from a URL, or upload a .md / .markdown / .mdx file, preview it exactly as a code host would render it, and confirm that your tables align, your task lists check, your fenced code highlights and your relative links read correctly — before you push. Keyboard shortcuts, a draft that auto-saves locally, and copy-to-clipboard on every code block keep the loop tight, and because the whole tool runs client-side it is safe to use on private, internal repositories.
It is also a useful output stage. When you need HTML rather than Markdown — to embed release notes in an email, drop documentation into a CMS, or ship a self-contained page — the export hub produces clean, minified, beautified or fully standalone HTML, plus plain text and a structured JSON representation that includes the parsed headings, frontmatter and analytics. That makes the previewer not just a viewer but a small, dependency-free build step you can run by hand whenever you need to turn Markdown into something else.
Markdown for technical writers
Technical writers were among the biggest winners of the docs-as-code movement, and Markdown is the format that made it possible. Writing in plain text removes the formatting fiddliness of a word processor and lets a writer focus on words and structure, while the same file slots into the engineering team's repository, review process and publishing pipeline. The result is documentation that ships on the same cadence as the product, reviewed by the people who built the feature, with a full history of who changed what and why.
A writer's daily questions are "is this clear?" and "is this complete?", and this previewer answers both. The readability analysis reports word and sentence counts, estimated reading time and a Flesch reading-ease score with a plain-language label, so you can tune a passage to its audience — a quick-start should read easily, a deep reference can run denser. The structure and SEO scores check that your headings form a sensible hierarchy, that the document has an obvious title, and that it is long and well-organized enough to be genuinely useful, all updating live as you edit.
Accessibility is part of good writing, not an afterthought, and the built-in WCAG 2.2 auditmakes it concrete. It flags missing image alt text, vague link phrasing such as "click here," skipped heading levels and other issues that quietly exclude readers who rely on assistive technology. Fixing them usually improves the document for everyone — clearer link text and a clean heading tree help sighted readers and search engines just as much as screen-reader users.
When a draft is ready, the writer needs to hand it off in whatever shape the destination expects. The multi-device preview confirms the page reads well on a phone as well as a monitor; the preview themes approximate how it will look on GitHub, Notion or a documentation site; and the export hub produces clean or standalone HTML, a print-ready PDF, plain text or Markdown. Starter templates for a README, a changelog, an API reference and more give a consistent, professional skeleton to write into, which is exactly the kind of repeatable structure that keeps a large documentation set coherent.
Static site generators
A static site generator turns a folder of Markdown files into a fast, secure, fully static website — no database, no server rendering at request time, just pre-built HTML served from a CDN. Markdown is the content layer for essentially all of them, which is why previewing your Markdown accurately matters: the file you check here is the same file the generator will build. The major generators each add their own conventions on top of the CommonMark + GFM core this tool renders.
Hugo, written in Go, is prized for its raw build speed and uses YAML, TOML or JSON frontmatter plus its own shortcodes for reusable snippets. Jekyll, the engine behind GitHub Pages, pairs Markdown with Liquid templating and made the frontmatter-plus-content pattern mainstream. Docusaurus, from Meta, is built for documentation sites and leans on MDX so pages can embed React components, tabs and admonitions. Astro renders Markdown and MDX into a component-based site while shipping almost no JavaScript by default, and modern Next.js projects consume Markdown and MDX for blogs, docs and marketing content.
What every one of these shares is the frontmatter-plus-body model: a block of metadata at the top of the file — title, date, description, tags, layout — followed by the Markdown content. This previewer detects and separates that frontmatter automatically, renders the body cleanly, and surfaces the title in its export and PDF output, so you can author generator-bound content here and see the part that becomes the rendered page without the frontmatter leaking into the preview.
The practical workflow is to write and review here, then build there. Draft your post or docs page in the live editor, confirm the headings, tables, code blocks and links render correctly, run the readability and accessibility checks, and generate a table of contents — then drop the finished .md or .mdx file into your Hugo, Jekyll, Docusaurus, Astro or Next.js project. Because the previewer targets the shared CommonMark + GFM foundation and preserves anything platform-specific it does not render, what you approve here translates cleanly into what each generator ultimately publishes.
Markdown SEO & GEO guide
Search engines do not read Markdown — they read the HTML it compiles to — so good Markdown is really good semantic HTML in disguise, and that is exactly what earns rankings. A clean heading hierarchy becomes the <h1>–<h6> outline crawlers use to understand a page; descriptive link text becomes meaningful anchor signals; image alt text becomes indexable context; and well-structured lists and tables become the kind of scannable content that wins featured snippets. Writing thoughtful Markdown is, in practice, on-page SEO.
The SEO analysis in this tool turns those principles into a live score. It checks that your document has exactly one H1 and a logical heading structure, that there is a title it can treat as the page heading, that the content has enough depth to be useful, and that headings, links and images are doing their semantic job. It even renders a search-snippet preview from your title and a derived meta description, so you can see roughly how the page might appear on a results page and tune the wording while you write rather than after you publish.
The newer frontier is GEO — Generative Engine Optimization — writing content that large language models like ChatGPT, Claude, Gemini and Perplexity can quote accurately when they answer questions. The techniques overlap with classic SEO but emphasise clarity and self-contained answers: lead each section with a direct, unambiguous statement; structure content under descriptive headings that mirror the questions people ask; define entities and terms explicitly rather than assuming context; and keep facts concrete and checkable. Markdown's clean structure is ideal for this, because the same headings and lists that help a crawler also help a model segment and cite your content.
Put together, the playbook is straightforward: one clear H1, a logical heading tree, descriptive links, alt text on every image, a strong opening summary, and enough well-organized depth to fully answer the topic.Use the structure, SEO and readability scores here as a fast feedback loop, generate a table of contents to expose the document's shape, and export clean semantic HTML when you publish. Content built this way reads well for humans, ranks well in search engines, and is far more likely to be surfaced and quoted by AI answer engines.
Frequently asked questions
A Markdown preview renders your Markdown source as formatted, styled output in real time, so you can see exactly how headings, lists, tables, code blocks and links will look before you publish. This studio shows the source and the live preview side by side, updating on every keystroke, entirely in your browser.
Markdown is a lightweight markup language created by John Gruber in 2004. It lets you format plain text using simple, readable symbols — a hash for a heading, asterisks for emphasis, dashes for a list — which then convert to HTML. Its goal is to be easy to write and easy to read in raw form, which is why it powers README files, documentation, static sites, forums and note-taking apps.
A Markdown engine parses your text line by line, recognising block constructs (headings, lists, code fences, blockquotes, tables) and inline constructs (bold, italic, links, code spans), then emits the equivalent HTML. This previewer uses a dependency-free CommonMark and GitHub Flavored Markdown parser that runs locally, escaping raw HTML and sanitising link URLs so the output is safe from cross-site scripting.
Yes. GitHub Flavored Markdown extends CommonMark with tables, task lists (checkboxes), strikethrough, automatic URL linking and fenced code blocks with language hints. All of these render in the preview. You can toggle GFM on or off in the toolbar to compare strict CommonMark behaviour with GitHub-style rendering.
HTML is the full markup language browsers render; Markdown is a concise shorthand that compiles down to HTML. Markdown trades HTML’s power and verbosity for readability and speed — you can write a formatted document in Markdown far faster than in raw HTML, and it stays legible as plain text. For anything Markdown cannot express, most engines let you drop in raw HTML.
CommonMark is a strict, unambiguous specification of Markdown. Because the original Markdown description left many edge cases undefined, different tools rendered the same input differently. CommonMark fixes that with a precise grammar and an extensive test suite, so a CommonMark document renders identically everywhere. This previewer follows CommonMark as its base, with GFM extensions on top.
You can write Mermaid diagram code in a fenced code block labelled “mermaid”, and the previewer shows it as a clearly-marked diagram source block. To keep the tool fast, dependency-free and CLS-safe, it does not bundle the heavy Mermaid runtime by default — the source is preserved so it renders on GitHub, GitLab and any Mermaid-enabled platform you export to.
Math written with dollar-sign delimiters (inline) or double dollar signs (block) is preserved in the source and passes through to platforms that support KaTeX or MathJax, such as GitHub and many static-site generators. The previewer keeps the tool lightweight by not bundling a math typesetting engine, so equations are exported faithfully rather than rendered inline.
MDX lets you embed JSX and React components inside Markdown. Because executing arbitrary JSX safely in the browser requires a full compiler and sandbox, this tool focuses on standard Markdown and GFM rather than running live MDX components. You can still write and edit MDX text, and the Markdown portions preview correctly; the JSX is preserved for your build pipeline.
Use pipes to separate columns and a row of dashes to separate the header from the body. For example, a header row, then a line like | --- | --- |, then your data rows. Add colons to the dashes to control alignment: :--- is left, :---: is centre and ---: is right. Enable GFM in the toolbar and the preview renders it as a styled table.
Wrap your code in a fence of three backticks, and optionally add a language name after the opening fence for syntax labelling — for example, three backticks followed by “javascript”. Close with another three backticks. For a short inline snippet, wrap it in single backticks. The previewer styles code blocks with a dark theme and adds a copy button to each one.
In GitHub Flavored Markdown, a task list is a normal list where each item starts with a checkbox: a dash, a space, then square brackets. Empty brackets are unchecked and brackets containing an x are checked. The preview renders real, disabled checkboxes, which is how GitHub shows progress in issues and pull requests.
Use an exclamation mark, square brackets for the alt text, and parentheses for the image URL — for example, an exclamation mark, then [a description] then (image-url). Always write meaningful alt text: it is read aloud by screen readers and used by image search. The accessibility audit in this tool flags any image whose alt text is empty.
Wrap the link text in square brackets and the URL in parentheses immediately after, optionally adding a title in quotes inside the parentheses. You can also create reference-style links and, with GFM, bare URLs autolink automatically. Use descriptive link text rather than “click here” — the accessibility audit checks for this.
Frontmatter is a block of metadata at the very top of a Markdown file, fenced by three dashes above and below, usually written in YAML. Static-site generators like Hugo, Jekyll, Astro and Next.js read it for the title, description, date, tags and other fields. This previewer detects frontmatter, separates it from the body and uses the title and description in its SEO analysis.
Yes. Open the preview, then use the Export panel’s Print / Save as PDF action, which opens your browser’s print dialog with the styled preview — choose “Save as PDF” as the destination. This approach is dependency-free and produces a clean, paginated document without uploading your content anywhere.
The Export hub produces clean HTML, minified HTML, beautified HTML and a complete standalone HTML document with embedded styles you can open directly in a browser. You can copy any of these to the clipboard or download them as a file. Everything is generated locally in your browser.
Completely. All parsing, rendering, analysis and export run locally in your browser — your content is never uploaded, logged or stored on a server. That makes it safe for confidential documentation, internal runbooks and unpublished drafts. The tool also works offline once the page has loaded.
Yes. Raw HTML embedded in the Markdown source is escaped rather than executed, and link and image URLs are sanitised so dangerous schemes like javascript: are neutralised. This means you can safely paste untrusted Markdown into the preview without risking a cross-site scripting attack.
The analyzer strips Markdown syntax to approximate the plain-text content, then counts words and estimates reading time at about 200 words per minute — a common average for adult silent reading. Code blocks are excluded from the word count so technical documents are not over-counted. The numbers update live as you type.
The tool computes the Flesch Reading Ease score (0–100, where higher is easier) and the Flesch–Kincaid grade level from sentence length and syllable counts. A score above 60 is comfortable for most readers; below 30 is academic or technical. Use it to gauge whether your documentation matches its intended audience.
The SEO analyzer scores your document as a publishable page: it checks for a good title, a well-sized meta description (or opening paragraph), sufficient content depth, a scannable heading hierarchy, image alt text, links and readability. Each finding is explained so you can fix the specific issue rather than chase an opaque number.
The audit applies common WCAG 2.2 content criteria: images must have alt text, headings must not skip levels, there should be exactly one H1, link text must be descriptive rather than “click here” or a bare URL, and the reading level should be reasonable. Each finding cites the relevant WCAG success criterion so you can document compliance.
The Outline panel reads every heading in your document and produces a nested table of contents in both Markdown and HTML, with anchor links to each section. Paste the Markdown TOC near the top of your document, or use the HTML version directly. The slugs match GitHub’s anchor format so the links work on GitHub too.
This Markdown Preview is a writing studio: a live split-screen editor with theme and device previews, an outline, and structure, SEO and accessibility analysis built for drafting and refining documents. The Markdown to HTML tool is conversion-focused, optimised for turning finished Markdown into production HTML and back again. They share the same rendering engine, so output is identical.
Yes. The preview offers several themes — GitHub light, a dark theme, a Notion-style theme and a sepia reading theme — so you can see how your document will look in different environments. Switching themes only changes the preview styling; your Markdown source is never modified.
The preview includes desktop, tablet and mobile device modes that constrain the rendering width, letting you check how your document reflows on narrow screens. This is useful for documentation that will be read on phones or embedded in responsive sites.
Yes. In split view, the preview scrolls in proportion to the editor so the section you are editing stays visible in the rendered output. You can toggle scroll sync off if you prefer to scroll the two panes independently.
Yes. Use the URL import and paste a raw GitHub file URL (the raw.githubusercontent.com address of a README or Markdown file). The tool fetches it client-side and loads it into the editor. The remote server must allow cross-origin requests; most raw GitHub content does.
You can upload .md, .markdown, .mdx and .txt files, either with the Upload button or by dragging and dropping them onto the editor. Files are read locally in your browser and never leave your device. There is a generous size limit so even large documentation files load instantly.
Indent a list item by two spaces (or a tab) under its parent item to nest it. You can mix ordered and unordered lists at different levels, and nest task lists too. The preview renders the nesting visually; if a nested item is not indenting correctly, check that you used consistent spacing.
Start a line with a greater-than sign and a space. Continue the sign on each line to extend the quote, and nest quotes by adding more signs. Blockquotes are commonly used for callouts, citations and notes; this previewer styles them with a coloured left border.
Footnotes let you attach a reference marker in the text to a note at the bottom of the document. Place a marker like a caret and an identifier in square brackets where you want the reference, then define it elsewhere with the same identifier followed by a colon and the note text. The preview renders clickable footnote links and a footnotes section.
Common emoji shortcodes written between colons — such as :rocket:, :tada: or :warning: — are converted to the matching emoji in the preview, the same way GitHub renders them. This is handy for friendly READMEs and changelogs.
Type three or more dashes, asterisks or underscores on their own line to create a horizontal rule (a thematic break). It renders as a thin divider line, useful for separating major sections of a long document.
Wrap text in single asterisks or underscores for italic, double for bold, and triple for bold italic. With GFM, wrap text in double tildes for strikethrough. The preview applies the styling instantly so you can confirm the emphasis is where you intended.
Platforms layer their own extensions and CSS on top of Markdown. GitHub adds task lists, mentions, issue references and its own typography; other tools add admonitions or wiki links. This previewer targets CommonMark plus GFM, which covers the vast majority of cases, and preserves anything it does not render so your export stays faithful to the destination platform.
Most of them: Hugo, Jekyll, Eleventy, Gatsby, Docusaurus, Astro, VitePress, MkDocs and Next.js all build pages from Markdown (or MDX). They typically read YAML frontmatter for metadata and apply a theme. Write and refine your content here, then drop the Markdown into your generator’s content directory.
Start with a single descriptive H1, use H2/H3 to break content into scannable sections, keep paragraphs short, prefer descriptive link text, add alt text to every image, and include code examples in fenced blocks with language hints. The structure, SEO and accessibility analyzers in this tool grade your document against exactly these best practices.
Yes. The editor supports native undo and redo with the usual keyboard shortcuts (Ctrl/Cmd + Z and Ctrl/Cmd + Y or Shift + Z). The tool also auto-saves a draft to your browser’s local storage, so if you close the tab by accident you can restore your work next time.
Yes. As you type, your document is periodically saved to your browser’s local storage on your own device. If you reload or reopen the page, a prompt offers to restore the draft. Nothing is sent to a server — the autosave is entirely local and private.
Switch the preview to HTML view, or open the Export hub, and use the Copy button to put the generated HTML on your clipboard. You can choose clean, minified or beautified HTML depending on whether you want readable source or the smallest possible output.
The previewer handles large documents — tens of thousands of words — smoothly, because rendering is incremental and runs locally. Extremely large files may slow live preview slightly on low-end devices; if so, switch to editor-only view while writing and check the preview periodically.
Standard Markdown links always render. Obsidian-style double-bracket wiki links and tags are platform-specific extensions; this previewer focuses on portable CommonMark and GFM, and preserves non-standard syntax in the source so it still works inside Obsidian or your wiki.
Yes. Because all rendering and analysis happen client-side, the core features keep working after the page has loaded even without an internet connection. You can write, preview, analyze and export Markdown anywhere.
Completely free, with no sign-up, no usage limits and no watermarks. Write, preview, analyze and export as many documents as you like. An optional Pro tier removes ads and adds conveniences like saved templates, but every core feature is free forever.
Put a backslash before a character to render it literally instead of as Markdown syntax. For example, a backslash before an asterisk shows a literal asterisk rather than starting emphasis. This is useful when you need to show Markdown symbols, file globs or currency in your text.
Block elements — headings, paragraphs, lists, blockquotes, tables, code fences — occupy their own vertical space and structure the document. Inline elements — bold, italic, links, code spans, images — format text within a block. Understanding the distinction helps explain why, for example, a code fence must be on its own lines while a code span sits inside a sentence.
In many Markdown flavours you can mix raw HTML with Markdown. For safety, this previewer escapes raw HTML so it displays as text rather than executing — preventing cross-site scripting from untrusted input. If you need raw HTML in your final output, your publishing platform or the Markdown to HTML tool can be configured to allow it.
It evaluates your heading hierarchy: whether there is exactly one H1, whether levels are nested without skips, whether sections carry enough content, and whether nesting is too deep. It returns a 0–100 score with a letter grade and specific, actionable findings — a quick health check for any document’s organisation.
Your work stays on your device for privacy, so there is no automatic public link. You can export the document (as Markdown, HTML or a standalone file) and share that file, or paste the content into a platform that hosts it. A future Pro feature adds shareable links for collaboration.
Common actions are bound: Ctrl/Cmd + B copies the rendered HTML, Ctrl/Cmd + K clears the editor, Ctrl/Cmd + / opens the shortcuts panel, and native undo/redo work inside the editor. Tab inserts indentation and brackets auto-close, so writing nested lists and code is quick.
The best editor is the one that previews accurately, stays out of your way and protects your privacy. This studio combines a fast, distraction-free editor with an accurate CommonMark/GFM live preview, multiple themes, device widths, an outline, and structure, SEO and accessibility analysis — all running locally in your browser at no cost.
Related Tools
Explore More Tools
Go ad-free & unlock power features
- Zero ads, faster focused workflow
- Upload 50MB+ files & batch process
- Priority AI type & schema generation