HTML-zu-Markdown-Konverter
HTML im Browser in sauberes Markdown umwandeln — GFM-Tabellen, Aufgabenlisten und Links. ATX-/Setext-Überschriften und Inline- oder Referenzlinks wählen. Ideal für Webinhalte oder das Füttern von LLMs. 100 % privat, kein Upload.
Eigenes CSS
Was ist die HTML-zu-Markdown-Konvertierung?
Die HTML-zu-Markdown-Konvertierung nimmt ein gerendertes HTML-Dokument — die Tags, Attribute und Verschachtelung, die ein Browser anzeigt — und schreibt es als Markdown um, das leichtgewichtige Klartextformat, das fürs Schreiben und für die Versionskontrolle gebaut wurde. Wo Markdown zu HTML kompakten Text zu Markup für die Anzeige expandiert, ist dies die umgekehrte und reduzierende Richtung: Sie beginnen mit reichem, weitschweifigem HTML und destillieren es auf den kleinen, lesbaren Satz an Konventionen herunter, den Markdown bietet.
Im Inneren parst der Konverter Ihr HTML in einen DOM-Baum — dieselbe Knotenstruktur, die ein Browser aufbaut — und durchläuft dann diesen Baum und gibt für jeden erkannten Knoten die Markdown-Entsprechung aus. Ein <h2> wird zu ## , ein <strong> wird zu **Text**, ein <ul> wird zu einer Aufzählungsliste, ein wird zu einem Link, eine <table> wird zu einer GFM-Pipe-Tabelle. Ein echtes DOM zu durchlaufen, statt reguläre Ausdrücke über die rohe Zeichenkette laufen zu lassen, ist das, was es ihm erlaubt, verschachtelte Listen, gemischte Inline-Formatierung und Tabellen korrekt zu behandeln, statt an Sonderfällen zu scheitern.
Sie greifen zu dieser Konvertierung, wenn Sie aus HTML heraus migrieren, nicht hinein. Inhalt, der in einem CMS, einem WYSIWYG-Editor, einer alten Webseite oder einem Rich-Text-Feld gefangen ist, lässt sich schwer diffen, schwer reviewen und schwer verschieben. Ihn in Markdown zu konvertieren befreit ihn in ein Format, das glücklich in einem Git-Repo, einem Static-Site-Generator oder einer Notiz-App lebt — und, zunehmend, in ein Format, das große Sprachmodelle effizient lesen. Der Haken, den ehrliche Tools klar benennen, ist, dass die Konvertierung verlustbehaftet ist: HTML kann Dinge ausdrücken, die Markdown nicht kann, sodass etwas Struktur und jedes Styling-Detail im Tausch gegen sauberen, portablen Text bewusst verworfen werden.
Der umgekehrte Vorgang — Markdown zurück nach HTML, für den Moment, in dem Sie zum Veröffentlichen oder für die Vorschau bereit sind — ist ebenso nützlich. Wechseln Sie zum Tab Markdown → HTML oder öffnen Sie den eigenständigen Markdown-zu-HTML-Konverter.
HTML in:
<h2>Pricing</h2>
<p>Plans start at <strong>$9/mo</strong>. See the <a href="https://example.com/pricing">details</a>.</p>
<table>
<thead><tr><th>Plan</th><th>Price</th></tr></thead>
<tbody><tr><td>Pro</td><td>$9</td></tr></tbody>
</table>
Markdown out:
## Pricing
Plans start at **$9/mo**. See the [details](https://example.com/pricing).
| Plan | Price |
| ---- | ----- |
| Pro | $9 |
<!-- <div>, classes, and inline styles in the source are dropped — Markdown can't represent them. --> Hauptfunktionen
GFM-bewusste Ausgabe
Zielt auf GitHub Flavored Markdown, nicht nur auf reines CommonMark: HTML-Tabellen werden zu Pipe-Tabellen, Checkbox-<li>s zu Aufgabenlisten (`- [x]`) und <del>/<s> zu ~~Durchstreichen~~. Das Markdown lässt sich direkt in eine README, ein GitHub-Issue oder eine Docs-Site einfügen und rendert gleich.
ATX- oder Setext-Überschriften
Wählen Sie rauten-präfigierte ATX-Überschriften (# H1) oder unterstrichene Setext-Überschriften (=== für H1, --- für H2). Setext deckt nur die obersten zwei Ebenen ab, sodass der Konverter für H3 und tiefer automatisch auf ATX zurückfällt — Sie erhalten nie eine ungültige Überschrift.
Inline- oder Referenzlinks
Wechseln Sie zwischen Inline-Links — [Text](url) neben dem Fließtext — und Referenzlinks, die jede URL in eine nummerierte Liste am Fuß des Dokuments sammeln. Der Referenzstil hält linkreiche Absätze lesbar und erlaubt, eine URL per Label wiederzuverwenden.
Code-Blöcke mit Fences
Ein <pre><code>-Block wird zu einem Code-Block mit drei Backticks, und eine language--Klasse am <code>-Element überträgt sich als Info-String des Fences. Inline-<code> wird zu Backtick-Spans, sodass Snippets die Reise unversehrt überstehen.
Behandelt verschachtelte Listen und Tabellen
Durchläuft das echte DOM, sodass verschachtelte <ul>/<ol>-Strukturen zu korrekt eingerückten Markdown-Listen werden und geordnete Listen ab 1 neu nummerieren. Einfache Tabellen flachen zu Pipe-Tabellen ab; wirklich komplexe fallen auf rohes HTML zurück, statt Daten zu verlieren.
100 % privat, im Browser
Jede Konvertierung läuft lokal mit JavaScript — Ihr HTML und das resultierende Markdown verlassen niemals Ihr Gerät, treffen nie auf einen Server und funktionieren nach dem Laden der Seite offline. Sicher für interne CMS-Exporte, Kundeninhalte und unveröffentlichte Seiten.
Beispiele
Web-<table> zu einer GFM-Pipe-Tabelle
<table>
<thead><tr><th>Region</th><th>Umsatz</th></tr></thead>
<tbody>
<tr><td>EMEA</td><td>1.204</td></tr>
<tr><td>APAC</td><td>980</td></tr>
</tbody>
</table> | Region | Umsatz | | ------ | ------ | | EMEA | 1.204 | | APAC | 980 |
Eine gescrapte oder kopierte HTML-<table> bricht zu einer GitHub-Flavored-Markdown-Pipe-Tabelle zusammen. Die <thead>-Zeile wird zur Kopfzeile, die gestrichelte Trennzeile wird für Sie erzeugt, und jedes <tr> wird zu einer pipe-getrennten Zeile — bereit für eine README oder eine Docs-Seite.
Links: Inline- vs. Referenzstil
<p>Lesen Sie die <a href="https://example.com/guide">Einrichtungsanleitung</a> und die <a href="https://example.com/api">API-Referenz</a>.</p>
Inline: Lesen Sie die [Einrichtungsanleitung](https://example.com/guide) und die [API-Referenz](https://example.com/api). Referenz: Lesen Sie die [Einrichtungsanleitung][1] und die [API-Referenz][2]. [1]: https://example.com/guide [2]: https://example.com/api
Dieselben Anker rendern auf zwei Arten. Inline hält die URL neben dem Text; der Referenzstil verschiebt jede URL in eine nummerierte Liste am Ende, was lange Absätze lesbar hält, wenn ein Satz mehrere Links trägt. Wählen Sie den Stil mit dem Links-Radio.
Verschachtelte <ul>/<ol> zu eingerückten Markdown-Listen
<ul>
<li>Build
<ol>
<li>Compile</li>
<li>Bundle</li>
</ol>
</li>
<li>Ship</li>
</ul> - Build 1. Compile 2. Bundle - Ship
Die Verschachtelung bleibt durch Einrückung erhalten: Die innere <ol> sitzt zwei Leerzeichen unter ihrem übergeordneten <li> und wechselt von einem `-`-Aufzählungszeichen zur `1.`-Nummerierung. Markdown nummeriert geordnete Listen automatisch neu, sodass die Quelle sauber bleibt, selbst wenn das HTML explizite value-Attribute verwendete.
Ein Stück Webseiten-HTML zu sauberem Markdown
<article> <h1>Changelog</h1> <p>Wir haben <strong>Dark Mode</strong> ausgeliefert und <code>parseDate()</code> behoben.</p> <blockquote><p>Danke an alle, die es gemeldet haben.</p></blockquote> </article>
# Changelog Wir haben **Dark Mode** ausgeliefert und `parseDate()` behoben. > Danke an alle, die es gemeldet haben.
Fügen Sie ein Stück einer echten Seite ein — der <article>-Wrapper entfällt (Markdown hat kein Container-Element), das <h1> wird zu `#`, <strong> wird zu `**`, Inline-<code> wird zu Backticks und das <blockquote> wird zu einer `>`-Zeile. Strukturelle Wrapper ohne Markdown-Entsprechung fallen einfach weg.
So wandeln Sie HTML in Markdown um
- 1
HTML einfügen
Werfen Sie eine kopierte Webseite, einen CMS- oder WYSIWYG-Export oder ein gescraptes HTML-Snippet hinein. Das DOM wird in Ihrem Browser beim Einfügen geparst und zu Markdown serialisiert — kein Upload, keine Größenobergrenze jenseits des Browser-Speichers.
- 2
Überschriften- und Linkstile wählen
Wählen Sie ATX-(#)- oder Setext-(===)-Überschriften und Inline- oder Referenzlinks. Das Markdown rendert live neu, sodass Sie Stile sofort vergleichen können. Die Ausgabe zielt auf GitHub Flavored Markdown — Tabellen, Aufgabenlisten und Durchstreichen inklusive.
- 3
Kopieren oder herunterladen
Klicken Sie auf Kopieren, um das Markdown zu übernehmen, oder auf Herunterladen, um eine .md-Datei zu speichern. Für die Gegenrichtung wechseln Sie zum Tab Markdown → HTML und fügen Ihr Markdown ein, um gerendertes HTML zurückzuerhalten.
Häufige Stolperfallen
Erwarten, dass <div>/<span>-Struktur überlebt
Generische Container tragen keine Markdown-Entsprechung, sodass sie ausgepackt werden — ihr Inhalt bleibt, aber das Tag und jede Klasse oder jeder Stil darauf verschwinden. Wenn Ihr Layout von einem umschließenden <div> oder einem gestylten <span> abhing, ist dieses Styling im Markdown weg. Das ist erwartet, kein Bug; Markdown hat schlicht keine Möglichkeit, es auszudrücken.
<div class="callout warning"><span style="color:red">Achtung!</span></div> <!-- erwartet, dass die Callout-Box und die rote Farbe überleben -->
Achtung! <!-- Container und Stile verworfen; nur der Text bleibt im Markdown -->
Verlorene <br>-Zeilenumbrüche innerhalb von Absätzen
Ein <br> innerhalb eines Absatzes ist ein weicher Zeilenumbruch, den Markdown mit zwei nachgestellten Leerzeichen vor dem Zeilenumbruch (oder einem Backslash) darstellt. HTML einzufügen und zu erwarten, dass sichtbare Zeilenumbrüche überleben, kann überraschen, wenn benachbarte Zeilen zu einer zusammenfließen. Der Konverter gibt die Form des harten Umbruchs aus, aber wenn Sie danach von Hand bearbeiten, entfernen Sie nicht die nachgestellten Leerzeichen.
Zeile eins<br>Zeile zwei <!-- wird die Umbruchform entfernt, verschmelzen diese zu einer Zeile -->
Zeile eins Zeile zwei <!-- zwei nachgestellte Leerzeichen erhalten das <br> als harten Umbruch -->
Tief verschachtelte Tabellen verschlechtern sich
GFM-Pipe-Tabellen können nicht verschachteln oder Block-Inhalt halten. Ein Altlayout, das eine Tabelle (oder eine Liste oder mehrere Absätze) in eine Tabellenzelle setzt, kann keine saubere Pipe-Tabelle werden — der Konverter flacht ab, was er kann, und belässt den Rest als rohes HTML, damit nichts verloren geht. Die Lösung ist, die Quelle zu vereinfachen, nicht die Ausgabe.
<table><tr><td><table><tr><td>innen</td></tr></table></td></tr></table> <!-- verschachtelte Tabelle kann keine flache Pipe-Tabelle werden -->
<!-- Zuerst auf eine einzige Ebene abflachen: --> <table><tr><td>innen</td></tr></table> → | innen | | ----- |
Erwarten, dass <script> oder Stile überleben
<script>, <style> und head-Level-Elemente sind Code und Präsentation, kein Dokumentinhalt, sodass sie vollständig entfernt werden — nicht konvertiert, nicht als rohes HTML erhalten. Eine ganze Seite einzufügen und zu erwarten, dass Verhalten oder CSS ins Markdown übergehen, wird enttäuschen. Markdown ist ein Inhaltsformat; wenn Sie den Code oder das Styling brauchen, behalten Sie das HTML.
<style>.x{color:blue}</style>
<script>track()</script>
<p>Body</p>
<!-- erwartet, dass der Stil und das Skript durchkommen --> Body <!-- nur der Inhalt überlebt; <script>/<style> werden verworfen -->
Häufige Anwendungsfälle
- Web- oder CMS-Inhalte nach Notion, Obsidian oder eine Static Site migrieren
- Ziehen Sie Seiten aus einem CMS, einem WordPress-Export oder einer alten HTML-Site und konvertieren Sie sie in Markdown, das direkt in Notion, Obsidian, Hugo oder Jekyll passt. Sie tauschen weitschweifiges Markup gegen portablen Text, der sauber in einem Git-Repo lebt und im Review sinnvoll diffbar ist.
- Aus einem WYSIWYG-Editor exportieren
- Rich-Text-Editoren geben dichtes, attributlastiges HTML aus. Fügen Sie diese Ausgabe hier ein, um das saubere Markdown darunter wiederzugewinnen — Überschriften, Listen, Links und Hervorhebung —, damit der Inhalt in eine Docs-Pipeline oder eine Markdown-basierte Wissensdatenbank wandern kann, statt im Editor eingesperrt zu bleiben.
- HTML zu Markdown bereinigen, um LLMs und RAG-Pipelines zu füttern
- Rohes HTML verbrennt Tokens auf Tags, Skripte und Styling, das ein Modell nie braucht. Das Konvertieren einer gescrapten Seite in Markdown entfernt dieses Rauschen und behält dabei die Struktur, die ein LLM gut liest, sodass Sie mehr echten Inhalt in das Kontextfenster bekommen und sauberere Embeddings fürs Retrieval erhalten.
- Einen Rich-Text-Einfügevorgang in Markdown umwandeln
- Kopieren Sie formatierten Text von einer Webseite, einer E-Mail oder einem Dokument, und er landet als HTML in der Zwischenablage. Fügen Sie ihn hier ein, um diesen Rich Text in Markdown zu verwandeln, das Sie committen, in einem Pull Request senden oder in Ihre Notizen schreiben können — Formatierung erhalten, Ballast weg.
- Eine Seite als Markdown archivieren
- Speichern Sie den bedeutsamen Inhalt einer Webseite als kleine, zukunftssichere .md-Datei statt als schweren HTML-Schnappschuss voller Skripte und Tracking. Markdown bleibt in jedem Texteditor noch in Jahrzehnten lesbar und nimmt einen Bruchteil des Platzes ein.
- Alte HTML-Docs in Markdown verwandeln
- Alte, als handcodiertes HTML geschriebene Dokumentation ist mühsam zu pflegen. Konvertieren Sie sie in Markdown, um sie in einen modernen Docs-as-Code-Workflow zu überführen — wo sie gelinted, in Pull Requests reviewt und von einem Static-Site-Generator gerendert werden kann.
Technische Details
- CommonMark- vs. GitHub-Flavored-Markdown-Ausgabe
- Der Konverter kann auf reines CommonMark oder, standardmäßig, auf das GitHub-Flavored-Markdown-Superset zielen. CommonMark definiert Überschriften, Hervorhebung, Listen, Links, Bilder, Code und Blockquotes präzise. GFM fügt vier Konstrukte hinzu, die direkt aus gängigem HTML abbilden: <table> → Pipe-Tabelle, Checkbox-Listenelemente → Aufgabenlisten, <del>/<s> → Durchstreichen und nackte URLs → Autolinks. Da die meisten Webinhalte Tabellen und Ähnliches verwenden, ist GFM-Ausgabe der praktische Standard; wählen Sie CommonMark nur, wenn der Ziel-Renderer GFM-Erweiterungen nicht versteht, in welchem Fall Tabellen auf rohes HTML zurückfallen.
- Verlustbehaftete, irreversible Konvertierung — klar benannt
- HTML ist strikt ausdrucksstärker als Markdown, sodass die Konvertierung nicht verlustfrei sein kann, und es lohnt sich, dabei offen zu sein. Markdown hat keine Syntax für <div>, <span> oder andere generische Container; keine Möglichkeit, Klassennamen, id, Inline-style, colspan/rowspan oder beliebige data-*-Attribute zu tragen; und keine Darstellung für die meisten semantischen oder Layout-Elemente. Diese werden ausgepackt (Inhalt erhalten, Tag verworfen), verworfen (Attribute) oder — wenn ihr Wegfall Bedeutung kosten würde — als rohes Inline-HTML erhalten. Ein Roundtrip HTML → Markdown → HTML reproduziert das Original nicht. Das ist ein bewusster Kompromiss: Markdown existiert, um sauber, diffbar und von Menschen editierbar zu sein, nicht um HTML zu spiegeln. Die meisten Konkurrenten übergehen das; es zu benennen lässt Sie mit offenen Augen entscheiden, ob Markdown das richtige Ziel ist.
- Stil-Kompromisse: ATX/Setext, Inline/Referenz, Fences/Eingerückt
- Drei Ausgabeentscheidungen haben echte Kompromisse. ATX-Überschriften (#) decken alle sechs Ebenen ab und lassen sich sauber grep-pen; Setext (unterstrichen) existiert nur für H1/H2, sodass das Tool es für die obersten zwei Ebenen ausgibt und darunter auf ATX zurückfällt. Inline-Links halten die URL neben dem Text — am besten für spärliche Links; Referenzlinks ziehen URLs an den Fuß des Dokuments — am besten für linkdichten Fließtext und Wiederverwendung per Label. Für Code tragen Code-Blöcke mit Fences (drei Backticks) einen Sprach-Info-String und verschachteln sicher, während eingerückte (Vier-Leerzeichen-)Code-Blöcke keine Sprache ausdrücken können und innerhalb von Listen brechen — daher gibt dieser Konverter aus <pre><code> stets Blöcke mit Fences aus.
Best Practices
- Das HTML vor der Konvertierung formatieren
- Minifiziertes oder tief verworrenes HTML — besonders verschachtelte Layout-Tabellen und verirrte Inline-Elemente — konvertiert sauberer, wenn es zuerst wohlgeformt ist. Lassen Sie unordentliche Quelle durch unseren HTML-Formatierer laufen, um sie übersichtlich zu formatieren und zu normalisieren, und konvertieren Sie dann. Saubere Eingabe ergibt sauberes Markdown mit weniger Roh-HTML-Rückfällen.
- Die verlustbehafteten Auslassungen erwarten und prüfen
- Behandeln Sie die Konvertierung als bewusst verlustbehaftet. Klassen, Inline-Stile, <div>/<span>-Wrapper und exotische Attribute sind in der Ausgabe verschwunden, und das ist meist genau das, was Sie für portables Markdown wollen — aber überfliegen Sie das Ergebnis auf alles semantisch Wichtige, das nur in einem Attribut lebte (ein aria-label, eine colspan-verbundene Zelle), und fügen Sie es von Hand wieder hinzu, falls es darauf ankommt.
- Den Linkstil zur Dichte des Dokuments wählen
- Verwenden Sie Inline-Links für Fließtext mit einem Link hier und da — die URL bleibt neben ihrem Text und die Quelle liest sich natürlich. Wechseln Sie zu Referenzlinks, wenn ein Abschnitt linkreich ist oder dieselben URLs wiederverwendet: Sie an eine nummerierte Liste am Fuß zu ziehen hält Absätze scanbar und vermeidet das Wiederholen langer URLs.
- Vor dem Senden von Seiten an ein LLM in Markdown konvertieren
- Wenn Sie Webinhalte an ein Modell füttern — für einen Prompt, ein Embedding oder einen RAG-Speicher —, konvertieren Sie das HTML zuerst in Markdown. Sie entfernen Tags, Skripte und Styling, die Tokens verschwenden und Rauschen hinzufügen, behalten die Struktur, die das Modell tatsächlich nutzt, und passen wesentlich mehr echten Inhalt in das Kontextfenster.
- Komplexe Tabellen nach der Konvertierung prüfen
- GFM-Pipe-Tabellen sind flach — keine verschachtelten Tabellen, kein Block-Inhalt in Zellen, keine verbundenen Zellen. Prüfen Sie nach dem Konvertieren einer datenreichen oder Layout-Tabelle das Markdown: Einfache Raster konvertieren perfekt, aber alles mit colspans oder verschachtelten Blöcken verschlechtert sich und kann als rohes HTML erscheinen. Vereinfachen Sie zuerst die Quelltabelle, wenn eine saubere Pipe-Tabelle wichtig ist.
Häufig gestellte Fragen
Wie werden Inline- vs. Referenzlinks behandelt?
ATX- vs. Setext-Überschriften — welche sollte ich verwenden?
Was passiert mit HTML, das Markdown nicht darstellen kann, wie <div> und <span>?
Entfernt es <script> und Stile?
Wie werden verschachtelte Tabellen und Listen behandelt?
Ist HTML zu Markdown verlustfrei?
Kann ich das Markdown an ein LLM oder ChatGPT füttern?
Werden meine Dateien auf einen Server hochgeladen?
Funktioniert es offline?
Kann ich Markdown zurück in HTML umwandeln?
Verwandte Werkzeuge
Alle Werkzeuge anzeigen →Base64-Dekodierer & -Kodierer
Kodierung & Formatierung
Base64 online kostenlos dekodieren und kodieren. Echtzeitkonvertierung mit voller UTF-8- und Emoji-Unterstützung. 100 % privat — läuft in Ihrem Browser. Keine Anmeldung nötig.
Base64-in-Bild-Konverter
Kodierung & Formatierung
Eine Base64-Zeichenkette oder einen Data-URI im Browser zurück in ein Bild dekodieren. Vorschau, Abmessungen & MIME ablesen, dann als PNG, JPG, GIF, SVG herunterladen. Kein Upload.
CSV-zu-JSON-Konverter
Kodierung & Formatierung
CSV im Browser nach JSON konvertieren. RFC 4180, Typinferenz, Kopfzeile, Big-Int-sicher. 100 % privat, kein Upload.
Bild-in-Base64-Konverter
Kodierung & Formatierung
Bilder im Browser in Base64-Data-URIs umwandeln — PNG, JPG, GIF, WebP, SVG, ICO. HTML-, CSS-, Markdown- und JSON-Ausgabe kopieren. 100 % privat, kein Upload.
JSON Diff Vergleich
Kodierung & Formatierung
Zwei JSON-Dateien direkt im Browser vergleichen. Nebeneinander-Hervorhebung, RFC 6902 JSON Patch-Ausgabe, störende Felder wie Zeitstempel und IDs ignorieren. 100 % privat, kein Upload.
JSON-Formatierer & Validator
Kodierung & Formatierung
JSON sofort im Browser formatieren, validieren und verschönern. Kostenloses Online-Tool mit Syntaxprüfung, Fehlererkennung, Minifizierung und Ein-Klick-Kopie. 100 % privat.