HTML-zu-Markdown-Konvertierung wandelt HTML-Markup in Markdown um — eine leichtgewichtige Klartextformatierungssyntax, die John Gruber im Jahr 2004 entwickelt hat. Markdown wurde konzipiert, um ohne Rendering lesbar zu sein. Während HTML öffnende und schließende Tags wie <strong> und <a href=""> erfordert, verwendet Markdown Kurzzeichen: **Fettdruck**, [Links](url) und # Überschriften. Die Konvertierung von HTML in Markdown erzeugt Dateien, die sich einfacher lesen, bearbeiten und in Versionskontrollsystemen verwalten lassen als rohes HTML.
Der Konvertierungsprozess ordnet HTML-Elemente ihren Markdown-Entsprechungen zu. Ein <h2> wird zu ##, ein <ul><li> wird zu - Element, und ein <a>-Tag wird zu [Text](url). Einige HTML-Elemente haben keine direkte Markdown-Entsprechung, etwa <div>, <span> oder benutzerdefinierte Datenattribute. Konverter entfernen diese Tags in der Regel oder geben sie als rohes HTML durch — je nach Konfiguration.
Markdown hat sich als Standardschreibformat für Entwicklerdokumentation (GitHub, GitLab, Bitbucket), statische Site-Generatoren (Hugo, Jekyll, Astro), Notiz-Apps (Obsidian, Notion) und technische Blogs etabliert. Die Konvertierung bestehender HTML-Inhalte in Markdown ist ein häufiger Schritt beim Migrieren von Websites, beim Importieren von CMS-Inhalten oder beim Archivieren von Webseiten in einem portablen Format. Im Gegensatz zu HTML erzeugen Markdown-Dateien saubere Diffs in der Versionskontrolle, was Code-Reviews von Dokumentationsänderungen praktikabel macht.
Warum einen HTML-zu-Markdown-Konverter verwenden?
HTML manuell als Markdown umzuschreiben ist langsam und fehleranfällig — besonders bei Seiten mit verschachtelten Listen, Tabellen oder Dutzenden von Links. Ein automatisierter Konverter übernimmt die strukturelle Zuordnung sofort und konsistent.
⚡
Sofortige Konvertierung im Browser
HTML einfügen und die Markdown-Ausgabe in Millisekunden erhalten. Kein Server-Roundtrip, kein Warten auf Verarbeitungswarteschlangen. Die Konvertierung läuft vollständig im Browser per JavaScript.
🔒
Daten bleiben privat
Das HTML verlässt das Gerät nicht. Die gesamte Verarbeitung erfolgt clientseitig — kein Upload, kein Logging, kein Drittanbieter-Zugriff auf die Inhalte.
📝
Dokumentstruktur erhalten
Überschriften, Listen, Links, Bilder, Code-Blöcke und Tabellen werden ihren korrekten Markdown-Entsprechungen zugeordnet. Verschachtelte Strukturen und Inline-Formatierungen werden rekursiv verarbeitet.
🔀
Kein Konto, keine Installation
Tool öffnen und direkt konvertieren. Nichts zu installieren, kein API-Key zu konfigurieren, kein Anmeldeformular. Funktioniert auf jedem Gerät mit einem modernen Browser.
Anwendungsfälle für HTML to Markdown
Frontend-Entwickler: CMS-Migration
Blog-Beiträge oder Seiten aus WordPress, Drupal oder einem Headless CMS als HTML exportieren, dann in Markdown konvertieren für statische Site-Generatoren wie Next.js, Astro oder Hugo.
Backend-Entwickler: API-Dokumentation
Automatisch generierte HTML-API-Docs in Markdown-Dateien umwandeln, die direkt neben dem Quellcode liegen. Markdown-Dokumentation lässt sich mit GitHub-Rendering integrieren und gemeinsam mit dem Code versionieren.
DevOps: Runbook-Konvertierung
Interne Wiki-Seiten (Confluence, SharePoint), die als HTML exportiert wurden, in Markdown-Runbooks umwandeln und im Git-Repository neben dem Infrastruktur-Code speichern.
QA-Ingenieur: Testfalldokumentation
HTML-Testberichte oder manuelle Testpläne aus webbasierten Tools in Markdown-Dateien konvertieren, die in Pull Requests gemeinsam mit den geprüften Code-Änderungen reviewt werden können.
Data Engineer: Web-Scraping-Bereinigung
HTML-Boilerplate aus gescrapten Webseiten entfernen und sauberen Markdown-Text erzeugen. Dabei werden Navigation, Werbung und Layout-Markup entfernt, während Artikelinhalt und -struktur erhalten bleiben.
Studenten: Recherche-Notizen
Inhalte von Webressourcen kopieren und das HTML in Markdown konvertieren, um es in Obsidian, Notion oder ein anderes Markdown-basiertes Notizsystem zu importieren. Überschriften, Links und Formatierungen bleiben erhalten.
HTML-zu-Markdown-Elementreferenz
Die folgende Tabelle zeigt, wie gängige HTML-Elemente auf ihre Markdown-Entsprechungen abgebildet werden. Diese Zuordnung folgt den GitHub Flavored Markdown (GFM)-Konventionen, die die CommonMark-Spezifikation um Tabellen, Durchstreichung und Aufgabenlisten erweitern. Nicht aufgeführte Elemente (wie <div>, <form> oder benutzerdefinierte Web-Komponenten) haben keine Markdown-Entsprechung und werden entweder entfernt oder als rohes HTML durchgereicht.
HTML-Element
Markdown-Syntax
Hinweise
<h1>...<h6>
# ... ######
ATX headings, level matches tag number
<p>
Blank line separation
Double newline between paragraphs
<strong>, <b>
**text**
Bold / strong emphasis
<em>, <i>
*text*
Italic / emphasis
<a href="url">
[text](url)
Inline link with optional title
<img src="url">

Image with alt text
<ul><li>
- item
Unordered list with dash or asterisk
<ol><li>
1. item
Ordered list, numbers restart per block
<blockquote>
> text
Block quote, nestable with >>
<code>
`code`
Inline code span
<pre><code>
```lang\ncode\n```
Fenced code block with optional language
<hr>
---
Horizontal rule (three dashes)
<table>
| col | col |
GFM table syntax with alignment
<del>, <s>
~~text~~
Strikethrough (GFM extension)
Markdown-Varianten: GFM vs. CommonMark vs. Original
Nicht jedes Markdown ist gleich. Das Ausgabeformat ist entscheidend, da verschiedene Plattformen Markdown unterschiedlich parsen. Die drei gängigsten Varianten sind GitHub Flavored Markdown (GFM), CommonMark und Grubers ursprüngliches Markdown.
GitHub Flavored Markdown (GFM)
Die am weitesten verbreitete Variante. Ergänzt Tabellen (Pipe-Syntax), Durchstreichung (~~Text~~), Aufgabenlisten (- [x]) und automatisch verlinkte URLs. Wird von GitHub, GitLab und den meisten Entwickler-Tools verwendet. Dieser Konverter gibt standardmäßig GFM-kompatibles Markdown aus.
CommonMark
Eine strenge Spezifikation, die Mehrdeutigkeiten der ursprünglichen Markdown-Syntax auflöst. Definiert exakte Regeln für Listenfortsetzung, Betonung und Block-Level-Verschachtelung. Dient als Grundlage für GFM und viele statische Site-Generatoren.
Ursprüngliches Markdown
John Grubers Spezifikation von 2004. Unterstützt keine Tabellen, umrandeten Code-Blöcke oder Durchstreichung. Die meisten modernen Tools behandeln es als Teilmenge von CommonMark. Wird heute kaum noch als Zielformat verwendet.
Code-Beispiele
Praktische Beispiele in JavaScript (Turndown), Python (markdownify und html2text), Go und Pandoc auf der Kommandozeile.
JavaScript (Turndown)
import TurndownService from 'turndown'
const turndown = new TurndownService({ headingStyle: 'atx' })
const html = '<h1>Title</h1><p>A <strong>bold</strong> paragraph.</p>'
const md = turndown.turndown(html)
console.log(md)
// → "# Title\n\nA **bold** paragraph."
Python (markdownify)
from markdownify import markdownify
html = '<h2>Section</h2><ul><li>First</li><li>Second</li></ul>'
md = markdownify(html, heading_style='ATX')
print(md)
# → "## Section\n\n- First\n- Second"
Python (html2text)
import html2text
converter = html2text.HTML2Text()
converter.body_width = 0 # disable line wrapping
html = '<p>Visit <a href="https://example.com">Example</a> for details.</p>'
md = converter.handle(html)
print(md)
# → "Visit [Example](https://example.com) for details."
# Convert an HTML file to Markdown
pandoc input.html -f html -t markdown -o output.md
# Pipe HTML from stdin
echo '<p>Hello <em>world</em></p>' | pandoc -f html -t markdown
# → Hello *world*
# Use GitHub-Flavored Markdown output
pandoc input.html -f html -t gfm -o output.md
Häufig gestellte Fragen
Welche HTML-Elemente können nicht in Markdown konvertiert werden?
Markdown hat keine Entsprechung für <div>, <span>, <form>, <input>, <iframe> oder Elemente mit benutzerdefinierten CSS-Klassen und Styles. Die meisten Konverter entfernen diese Tags und behalten nur den Textinhalt. Einige Konverter können nicht unterstütztes HTML unverändert durchreichen — das ist zulässig, da die Markdown-Spezifikation Inline-HTML ausdrücklich erlaubt. Wer diese Elemente erhalten möchte, sollte den Konverter so konfigurieren, dass rohes HTML beibehalten statt entfernt wird.
Wie werden HTML-Tabellen in Markdown konvertiert?
HTML-Tabellen werden in GFM-Pipe-Tabellensyntax umgewandelt: | Kopfzeile | Kopfzeile | mit einer Trennzeile | --- | --- |. GFM-Tabellen unterstützen kein colspan, rowspan oder zellenspezifisches Styling. Komplexe Tabellen mit zusammengeführten Zellen werden vereinfacht, wobei strukturelle Informationen verloren gehen können. Bei einfachen Datentabellen ist die Konvertierung verlustfrei.
Ist die Konvertierung von HTML in Markdown verlustfrei?
Nein. Markdown ist eine Teilmenge von HTML, daher gehen bei der Konvertierung immer einige Informationen verloren. CSS-Klassen, Inline-Styles, Datenattribute, Formularelemente und semantische Tags wie <article> oder <section> haben keine Markdown-Entsprechung. Textinhalt und Grundstruktur (Überschriften, Listen, Links, Betonungen) werden korrekt erhalten. Bei den meisten Dokumentations- und Content-Migrationsworkflows sind die erhaltenen Elemente die relevanten.
Was ist der Unterschied zwischen HTML-zu-Markdown und HTML-zu-Klartext?
HTML-zu-Klartext entfernt alle Formatierungen und erzeugt reinen Text ohne Struktur. HTML-zu-Markdown behält die Dokumentstruktur: Überschriften bleiben Überschriften, Links behalten ihre URLs, Listen bleiben Listen und Betonungen werden übernommen. Die Markdown-Ausgabe kann zurück in HTML gerendert werden und behält dabei dieselbe logische Struktur.
Kann ich Markdown zurück in HTML konvertieren?
Ja. Jeder Markdown-Prozessor (marked, markdown-it, Python-Markdown, goldmark) konvertiert Markdown in HTML. Dieser Roundtrip ist ein Grund für die Beliebtheit von Markdown: In einem lesbaren Format schreiben und für das Web in HTML rendern. Der Roundtrip ist nicht vollständig symmetrisch, da bei der HTML-zu-Markdown-Konvertierung nicht unterstützte Elemente wegfallen.
Wie geht der Konverter mit HTML mit Inline-CSS oder JavaScript um?
Inline-CSS (style-Attribute) und <style>-Blöcke werden bei der Konvertierung entfernt, da Markdown keine Styling-Syntax hat. JavaScript (<script>-Tags und Event-Handler wie onclick) wird ebenfalls entfernt. Der Konverter extrahiert nur den Dokumentinhalt und die -struktur. Damit ist die HTML-zu-Markdown-Konvertierung ein nützlicher Bereinigungsschritt beim Import von nicht vertrauenswürdigem HTML-Inhalt in die eigene Dokumentation.
Welche Markdown-Variante sollte ich für mein Projekt verwenden?
GitHub Flavored Markdown (GFM) empfiehlt sich, wenn die Inhalte auf GitHub, GitLab oder den meisten Dokumentationsplattformen angezeigt werden sollen. CommonMark eignet sich, wenn strikte Spezifikationskonformität und vorhersehbares Parsing über verschiedene Renderer hinweg benötigt wird. Ursprüngliches Markdown ist nur für Legacy-Systeme relevant. GFM ist für die meisten Projekte der sicherste Standard.