Markdown to HTML Converter

Turn any Markdown document into ready-to-paste HTML in one click.

Markdown to HTML Converter

This tool reads your Markdown and rewrites it as HTML code.
It works with a whole document or a single snippet.
Enter your Markdown in the "Input" box and the HTML appears in the "Output" box instantly in live mode.


Load an example

Tip: A heading like ## Routes becomes <h2>Routes</h2>, a pipe table becomes an HTML <table>, and - [x] becomes a checked checkbox.

Convert your Markdown to HTML: paste Markdown, upload a file, or load it from a URL.


Overview

The Markdown to HTML Converter takes a Markdown document – CommonMark or GitHub Flavored Markdown – and produces a clean HTML fragment you can paste into a page, a CMS, an email or a chat message. Everything runs in your browser, so your writing never leaves your device.

It understands headings, emphasis, lists, blockquotes, fenced code blocks with language tags, links and images, horizontal rules, GFM tables, task lists and more. The output is valid, readable HTML with no wrapping <html> or <body> boilerplate, built on the mature marked.js parser so it is dependable enough to publish directly.


What Converts to What

Here is exactly how each Markdown construct maps to HTML:

#: a level-1 heading becomes <h1>. Example: # Routes<h1>Routes</h1>.

##: a level-2 heading becomes <h2>. Example: ## Routes<h2>Routes</h2>.

###: a level-3 heading becomes <h3>. Example: ### Routes<h3>Routes</h3>.

####: a level-4 heading becomes <h4>. Example: #### Routes<h4>Routes</h4>.

#####: a level-5 heading becomes <h5>. Example: ##### Routes<h5>Routes</h5>.

######: a level-6 heading becomes <h6>. Example: ###### Routes<h6>Routes</h6>.

Plain lines and blank lines: paragraphs become <p> blocks, and two or more spaces at the end of a line produce a <br> line break.

**bold**, *italic* and ~~strike~~: become <strong>, <em> and <del>. Combining them nests the tags, so ***both*** becomes <em><strong>both</strong></em>.

[text](url), bare URLs and images: links become <a href="..."> (with an alt populated from [text] for accessibility), bare URLs are turned into links automatically, and ![alt](image.png) becomes <img alt="..." src="...">.

- and 1. lists: bullet lists become <ul> and numbered lists become <ol>, with nested items indented into their own <ul> or <ol>.

- [x] and - [ ]: task list items become list items containing a disabled checkbox, checked or unchecked as you wrote it.

> quotations: quoted lines become a <blockquote> element, and a nested >> produces a quote inside the quote.

Fenced code blocks: code wrapped in ``` (or ~~~) becomes <pre><code>, keeping the language name as a class="language-..." attribute for syntax highlighting.

Pipe tables: GFM tables become proper <table> elements with <thead>, <tbody>, <th> and <td>, honouring the :---: alignment markers.

---, entities and raw HTML: three dashes or more become <hr>, entities such as &copy; survive into the output, and any raw HTML you wrote is passed through untouched.


How to Use

1. Enter your Markdown: Type or paste it into the Input box, click "Load an example", upload a .md, .markdown or .txt file, or load a whole document from a URL.

2. Read your result: In Live mode the Output updates as you type; otherwise press "Convert to HTML" to convert manually.

3. Load from a URL: Type a raw file address in the "Load Markdown from a URL" box and click "Load URL". It fetches the document through our proxy so you can convert a .md file without downloading it first.

4. Check the preview: The "Show live preview" toggle renders the generated HTML below the Output, so you can confirm headings, tables and checkboxes look right before publishing.

5. Save it: Use the Copy or Download icons just below the Output area to keep the result as an .html file.


Examples

Each example below shows the Markdown that goes into the Input box on the left and the HTML that appears in the Output box on the right. Press "Try it" to load the example into the tool.

Input (Markdown)
# What I Read in June

This month I finished three books.

1. The Silent Harbour
2. A Field Guide to Tides
3. Maps for Lost Roads

My favourite was *A Field Guide to Tides* - the chapter on spring tides is **superb**.
Output (HTML)
<h1>What I Read in June</h1>
<p>This month I finished three books.</p>
<ol>
<li>The Silent Harbour</li>
<li>A Field Guide to Tides</li>
<li>Maps for Lost Roads</li>
</ol>
<p>My favourite was <em>A Field Guide to Tides</em> - the chapter on spring tides is <strong>superb</strong>.</p>
Input (Markdown)
> "Bring a pen, not a phone."
>
> the sign above the counter

Check the [stationer's page](https://www.example.com/stationery) for opening hours.

```javascript
const greeting = "hello";
console.log(greeting);
```
Output (HTML)
<blockquote>
<p>&quot;Bring a pen, not a phone.&quot;</p>
<p>the sign above the counter</p>
</blockquote>
<p>Check the <a href="https://www.example.com/stationery">stationer&#39;s page</a> for opening hours.</p>
<pre><code class="language-javascript">const greeting = &quot;hello&quot;;
console.log(greeting);
</code></pre>
Input (Markdown)
## Camp Setup Checklist

| Item      | Status    |
| --------- | --------- |
| Tent      | packed    |
| Stove     | packed    |
| Firewatch | to check  |

- [x] Reserve the campsite
- [x] Charge the headlamp
- [ ] Top up the water jug
Output (HTML)
<h2>Camp Setup Checklist</h2>
<table>
<thead>
<tr>
<th>Item</th>
<th>Status</th>
</tr>
</thead>
<tbody><tr>
<td>Tent</td>
<td>packed</td>
</tr>
<tr>
<td>Stove</td>
<td>packed</td>
</tr>
<tr>
<td>Firewatch</td>
<td>to check</td>
</tr>
</tbody></table>
<ul>
<li><input checked="" disabled="" type="checkbox"> Reserve the campsite</li>
<li><input checked="" disabled="" type="checkbox"> Charge the headlamp</li>
<li><input disabled="" type="checkbox"> Top up the water jug</li>
</ul>

FAQs

FAQ 1: Is Markdown to HTML conversion done on my device?
Answer: Yes. The Markdown you paste or upload is parsed and converted entirely in your browser with JavaScript, and nothing you type is stored or sent to any server. The one exception is the optional Load URL feature, which sends the URL you enter to our proxy so it can fetch that file (this avoids browser cross-origin restrictions).

FAQ 2: What Markdown features are supported?
Answer: Headings, paragraphs, line breaks, bold, italic and strikethrough text, links, bare-URL autolinks, images, ordered and unordered lists with nesting, task lists, blockquotes, inline code and fenced code blocks with language tags, horizontal rules, GFM tables and raw HTML passthrough.

FAQ 3: Does it support tables and task lists?
Answer: Yes. GitHub Flavored Markdown tables become <table> elements with proper <th>/<td> cells and alignment, and - [x]/- [ ] items become list items with disabled checkboxes, exactly like GitHub renders them.

FAQ 4: What does the live preview show?
Answer: The "Show live preview" toggle renders the generated HTML inside a preview box below the Output textarea, using this page's own stylesheet. It is the fastest way to confirm that headings, quotes, tables and checkboxes came out looking right before you publish.

FAQ 5: Is the output a full HTML document?
Answer: No. The converter returns a ready-to-paste fragment – the inner content with no <html>, <head> or <body> wrapper – so you can drop it straight into an existing template, CMS editor or email builder. If you need a standalone page, wrap the output in your own document skeleton.

FAQ 6: How do I save the result?
Answer: Use the Copy icon to put the HTML on your clipboard, or the Download icon to save it as a converted.html file. Both links sit just below the Output area.

TextToolz

The Ultimate Text Tools

TextToolz works seamlessly to let you convert and design your text. It is fast, reliable and secure. Trusted by thousands of users.