Markdown to HTML Converter
Convert Markdown snippets into HTML fragments or complete documents locally in your browser.
How it works
Converting Markdown to HTML turns plain-text Markdown notation into the HTML elements browsers understand. This tool is designed for quick, local snippets: headings written with #, ##, and ### become heading tags, **bold** and *italic* become emphasis tags, and Markdown links become anchor elements.
The options add a small set of common conveniences. Auto-link detects plain http and https URLs, task lists convert - [ ] and - [x] lines into disabled checkbox inputs, emojis currently expand :smile: and :heart:, and links can be opened in a new window with rel="noopener noreferrer". The complete document option wraps the generated fragment in a basic <!DOCTYPE html> page.
This is not a full CommonMark or GitHub Flavored Markdown renderer. It does not cover nested blocks, tables, fenced code blocks, full list handling, or every edge case from the Markdown specifications. Raw HTML characters are escaped as text, but you should still review generated HTML before publishing and rely on your own site or CMS rules for untrusted content.
References
Code Samples
Below are some code samples to Convert Markdown to HTML in a number of popular programming languages
CSharp
Convert Markdown to HTML in C# code sample
Based on: xoofx/markdig
Below is a code sample of how to convert Markdown into HTML in Microsoft's C# programming language.
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
var result = Markdown.ToHtml("This is a text with some *emphasis*", pipeline);Go
Convert Markdown to HTML in Go code sample
Based on: gomarkdown/markdown
Below is a code sample of how to convert Markdown into HTML in Robert Griesemer, Rob Pike, and Ken Thompson's Go programming language.
package main
import (
"os"
"github.com/gomarkdown/markdown"
"github.com/gomarkdown/markdown/ast"
"github.com/gomarkdown/markdown/html"
"github.com/gomarkdown/markdown/parser"
"fmt"
)
var mds = `# header
Sample text.
[link](http://example.com)
`
func mdToHTML(md []byte) []byte {
// create markdown parser with extensions
extensions := parser.CommonExtensions | parser.AutoHeadingIDs | parser.NoEmptyLineBeforeBlock
p := parser.NewWithExtensions(extensions)
doc := p.Parse(md)
// create HTML renderer with extensions
htmlFlags := html.CommonFlags | html.HrefTargetBlank
opts := html.RendererOptions{Flags: htmlFlags}
renderer := html.NewRenderer(opts)
return markdown.Render(doc, renderer)
}
func main() {
md := []byte(mds)
html := mdToHTML(md)
fmt.Printf("--- Markdown:\n%s\n\n--- HTML:\n%s\n", md, html)
}Java
Convert Markdown to HTML in Java code sample
Based on: vsch/flexmark-java
Below is a code sample of how to convert Markdown into HTML in James Gosling's Java programming language.
package com.vladsch.flexmark.samples;
import com.vladsch.flexmark.util.ast.Node;
import com.vladsch.flexmark.html.HtmlRenderer;
import com.vladsch.flexmark.parser.Parser;
import com.vladsch.flexmark.util.data.MutableDataSet;
public class BasicSample {
public static void main(String[] args) {
MutableDataSet options = new MutableDataSet();
// uncomment to set optional extensions
//options.set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create(), StrikethroughExtension.create()));
// uncomment to convert soft-breaks to hard breaks
//options.set(HtmlRenderer.SOFT_BREAK, "<br />\n");
Parser parser = Parser.builder(options).build();
HtmlRenderer renderer = HtmlRenderer.builder(options).build();
// You can re-use parser and renderer instances
Node document = parser.parse("This is *Sparta*");
String html = renderer.render(document); // "<p>This is <em>Sparta</em></p>\n"
System.out.println(html);
}
}JavaScript
Convert Markdown to HTML in JavaScript code sample
Based on: showdownjs/showdown
Below is a code sample of how to convert Markdown into HTML in Brendan Eich's JavaScript programming language.
var converter = new showdown.Converter(),
text = '# hello, markdown!',
html = converter.makeHtml(text);Python
Convert Markdown to HTML in Python code sample
Based on: trentm/python-markdown2
Below is a code sample of how to convert Markdown into HTML in Guido van Rossum's Python programming language.
import markdown2
markdown2.markdown("*boo!*")
'<p><em>boo!</em></p>\n'
from markdown2 import Markdown
markdowner = Markdown()
markdowner.convert("*boo!*")
'<p><em>boo!</em></p>\n'
markdowner.convert("**boom!**")
'<p><strong>boom!</strong></p>\n'Rust
Convert Markdown to HTML in Rust code sample
Based on: wooorm/markdown-rs
Below is a code sample of how to convert Markdown into HTML in the Rust programming language.
fn main() {
println!("{}", markdown::to_html("## Hello, *world!*"));
}