Markdown to HTML Converter

Convert Markdown snippets into HTML fragments or complete documents locally in your browser.



Question

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.



Code

Code Samples

Below are some code samples to Convert Markdown to HTML in a number of popular programming languages

C#

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

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

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

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

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

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!*"));
}