Tools Nimbus

Tool 024 / text / free / runs locally

Markdown Previewer

Type or paste Markdown on the left and see it rendered as HTML on the right as you type. Headings, bold and italic text, links, lists, blockquotes, and code blocks are supported. Everything renders locally in your browser, so README drafts and private notes never leave your device.

Project Title

A short description of the project.

Features

  • Fast
  • Bold claims backed by italic caveats
  • Runs entirely client-side
Note: this preview never sends your text anywhere.

Visit Tools Nimbus for more tools.

npm install
npm run build

How it works

Type Markdown on the left and see rendered HTML on the right as you type. It covers the parts of Markdown people actually use in a README or a note: headings from one to six hashes, bulleted and numbered lists, blockquotes, horizontal rules, fenced code blocks, and inline bold, italic, code, and links.

The renderer is deliberately escape-first. Every character of your input is HTML-escaped before any Markdown rule is applied, so the Markdown syntax is layered on top of text that is already inert. Raw HTML pasted into the editor is therefore displayed as visible text rather than executed, and a script tag in the input cannot reach the DOM. Links get rel="noopener noreferrer", and a link target that is not http, https, mailto, a relative path, or an anchor is prefixed with https:// rather than trusted as written.

Nothing is transmitted. Draft release notes, an unpublished post, or an internal runbook can be pasted here without leaving the tab.

How to use it

  1. Type or paste Markdown into the left-hand editor.
  2. Read the rendered result in the preview pane on the right, which updates as you type.
  3. Use Copy HTML to take the generated markup into a CMS, an email template, or a static page.

Worked examples

Input: ## Features - **Fast** and *small* - Runs [locally](toolsnimbus.com)

Output: <h2>Features</h2> <ul> <li><strong>Fast</strong> and <em>small</em></li> <li>Runs <a href="https://toolsnimbus.com" rel="noopener noreferrer">locally</a></li> </ul>

A link target with no scheme is given https:// rather than being emitted as a relative path.

Input: <script>alert(1)</script>

Output: <p>&lt;script&gt;alert(1)&lt;/script&gt;</p>

Input is escaped before rendering, so pasted HTML is shown as text and never executed.

Edge cases and limits

  • This is a practical subset of CommonMark, not a full implementation. Tables, task lists, strikethrough, and footnotes are not rendered.
  • Nested lists are flattened. Indenting a bullet under another bullet produces a sibling item, not a child list.
  • Images are not rendered. An image written with the exclamation mark syntax comes out as the link form.
  • Reference-style links and setext headings, the ones underlined with equals signs or hyphens, are not supported. A line of three or more hyphens is read as a horizontal rule.
  • Consecutive lines in a paragraph are joined with a space, which is standard Markdown behaviour but surprises people expecting a line break per line.
  • Code fences are rendered without syntax highlighting, and a language tag after the opening backticks is ignored.
  • Raw HTML in the source is escaped by design. This previewer cannot pass HTML through.

Common mistakes

  • Expecting GitHub Flavored Markdown. Tables and task lists are GFM extensions and are not part of the subset rendered here.
  • Indenting sub-bullets and expecting a nested list.
  • Writing a single newline between two lines and expecting a line break. Leave a blank line to start a new paragraph.
  • Pasting HTML into the editor and expecting it to render. It is escaped on purpose, which is what keeps the preview safe.

Frequently asked questions

Which Markdown syntax does the previewer support?+

Headings (# through ######), bold (**text**), italic (*text*), inline code (`code`), fenced code blocks (```), links ([text](url)), blockquotes (>), horizontal rules (---), and both ordered and unordered lists. It targets the common subset used in READMEs and notes rather than every GitHub Flavored Markdown extension.

Is it safe to preview Markdown that contains HTML tags?+

Yes. Any raw HTML typed into the input is escaped before rendering, so angle brackets show up as literal text rather than being executed as markup. This keeps the preview safe even if you paste content from an untrusted source.

Can I use this to write a GitHub README?+

Yes, for checking headings, lists, links, and code blocks render as expected before you commit. GitHub's renderer adds a few extras (task list checkboxes, tables, emoji shortcodes) that this preview does not attempt to replicate exactly, so always do a final check on GitHub itself for pixel-perfect formatting.

Is it safe to paste Markdown that contains HTML into this previewer?+

Yes. Every character is HTML-escaped before Markdown rules run, so a script tag or an event-handler attribute in your input is rendered as visible text and never becomes live markup. That is a deliberate trade: the previewer will not pass raw HTML through.

Can I copy the generated HTML out?+

Yes. The Copy HTML button puts the rendered markup on your clipboard, ready to paste into a CMS, an email template, or a static page.

More Text tools that run entirely in your browser.