HTML to Markdown Converter
Convert HTML snippets into Markdown for documentation, release notes, and content cleanup.
What is converting HTML to Markdown?
Converting HTML to Markdown turns web markup into a plain-text format that is easier to read, diff, store in documentation repositories, or paste into systems that accept Markdown. This tool is useful for quick drafts, release notes, documentation cleanup, content migration notes, and simple snippets copied from a web page or CMS.
The converter handles common content patterns such as headings, paragraphs, line breaks, simple lists, emphasis, and links. Complex pages may still need manual review after conversion: tables, nested layout markup, images, code blocks, custom elements, malformed HTML, and interactive content may not translate cleanly. Review the generated Markdown before publishing, especially when the source came from an untrusted page or contains links that readers may follow.
Useful Resources
Code Samples
Below are some code samples to convert HTML to Markdown in a number of popular programming languages
CSharp
Convert HTML to Markdown in C# code sample
Based on: mysticmind/reversemarkdown-net
Below is a code sample of how to convert HTML into Markdown in Microsoft's C# programming language.
var config = new ReverseMarkdown.Config
{
UnknownTags = Config.UnknownTagsOption.PassThrough,
GithubFlavored = true,
RemoveComments = true,
SmartHrefHandling = true
};
var converter = new ReverseMarkdown.Converter(config);
string html = "This a sample <strong>paragraph</strong> from <a href="http://test.com">my site</a>";
string result = converter.Convert(html);Go
Convert HTML to Markdown in Go code sample
Based on: JohannesKaufmann/html-to-markdown
Below is a code sample of how to convert HTML to Markdown in Robert Griesemer, Rob Pike, and Ken Thompson's Go programming language.
import (
"fmt"
"log"
md "github.com/JohannesKaufmann/html-to-markdown"
)
converter := md.NewConverter("", true, nil)
html := `<strong>Important</strong>`
markdown, err := converter.ConvertString(html)
if err != nil {
log.Fatal(err)
}
fmt.Println("md ->", markdown)Java
Convert HTML to Markdown in Java code sample
Based on: furstenheim/copy-down
Below is a code sample of how to convert HTML to Markdown in James Gosling's Java programming language.
import io.github.furstenheim.CopyDown;
import io.github.furstenheim.Options;
import io.github.furstenheim.OptionsBuilder;
public class Main {
public static void main (String[] args) {
OptionsBuilder optionsBuilder = OptionsBuilder.anOptions();
Options options = optionsBuilder.withBr("-").build();
CopyDown converter = new CopyDown(options);
String myHtml = "<h1>Some title</h1><div>Some html<p>Another paragraph</p></div>";
String markdown = converter.convert(myHtml);
System.out.println(markdown);
}
}JavaScript
Convert HTML to Markdown in JavaScript code sample
Based on: mixmark-io/turndown
Below is a code sample of how to convert HTML to Markdown in Brendan Eich's JavaScript programming language.
var TurndownService = require('turndown');
var turndownService = new TurndownService();
var markdown = turndownService.turndown('<h1>Hello world!</h1>');Python
Convert HTML to Markdown in Python code sample
Based on: matthewwithanm/python-markdownify
Below is a code sample of how to convert HTML to Markdown in Guido van Rossum's Python programming language.
from markdownify import markdownify as md
md('<b>Yay</b> <a href="http://github.com">GitHub</a>')Scala
Convert HTML to Markdown in Scala code sample
Based on: tkqubo/scala-html-to-markdown
Below is a code sample of how to convert HTML into Markdown in Martin Odersky's Scala programming language.
import com.github.tkqubo.html2md.Html2Markdown
val html = "<h1>introduction</h1><p>this is a <b>converter</b>.</p>"
val markdown = Html2Markdown.toMarkdown(html)