Markdown-zu-HTML-Konverter
Markdown im Browser in HTML umwandeln — volles GitHub Flavored Markdown, Live-Vorschau, Syntaxhervorhebung. HTML-Fragment, vollständiges Dokument oder E-Mail-taugliches Inline-HTML exportieren. 100 % privat, kein Upload.
Eigenes CSS
Was ist die Markdown-zu-HTML-Konvertierung?
Die Markdown-zu-HTML-Konvertierung verwandelt ein in Markdown geschriebenes Klartext-Dokument — mit `#` für Überschriften, `**fett**`, `- ` für Listen und `[Text](url)` für Links — in das HTML, das Browser, Content-Management-Systeme und E-Mail-Clients tatsächlich anzeigen. Markdown ist darauf ausgelegt, im Rohzustand lesbar und leicht zu schreiben zu sein, aber ein Browser versteht `# Überschrift` nicht; er versteht <h1>Überschrift</h1>. Die Konvertierung überbrückt diese Lücke.
Im Inneren parst ein Markdown-Prozessor Ihre Quelle zunächst in einen abstrakten Syntaxbaum (AST) — eine strukturierte Darstellung, in der eine Überschrift, ein Absatz, eine Liste und ein Code-Block eigenständige Knoten mit ihrem Inhalt und ihren Attributen sind. Anschließend serialisiert er diesen Baum zu HTML und gibt die korrekten Tags und Verschachtelungen aus. Über einen AST zu arbeiten, statt Text mit regulären Ausdrücken zu ersetzen, ist das, was den Konverter verschachtelte Listen, Tabellen und eingebettetes HTML korrekt und vorhersehbar behandeln lässt. Die zwei anerkannten Grammatiken sind CommonMark, der präzise Standard, und GitHub Flavored Markdown (GFM), das es um Tabellen, Aufgabenlisten, Durchstreichen und Autolinks erweitert.
Der Grund, überhaupt zu konvertieren, ist, dass nahezu jedes Veröffentlichungsziel HTML will, nicht Markdown. Ein Static-Site-Generator, ein Rich-Text-Feld eines CMS, eine E-Mail-Vorlage und ein Browser-Tab rendern alle HTML. Der typische Workflow ist daher, in bequemem Markdown zu schreiben — eine README, Dokumentation, einen Blog-Entwurf, Notizen — und zum Zeitpunkt der Veröffentlichung in HTML zu konvertieren. Dieses Tool führt diese Konvertierung lokal aus und zeigt eine Live-Vorschau, sodass Sie das gerenderte Ergebnis sehen und das exakte HTML in der gewünschten Form kopieren können: ein Fragment, eine vollständige Seite oder E-Mail-fertiges, inline-gestyltes Markup.
Der umgekehrte Vorgang — HTML zurück nach Markdown — ist ebenso nützlich, wenn Sie bestehende Webinhalte in ein Markdown-basiertes System migrieren. Wechseln Sie dazu zum Tab HTML → Markdown oder öffnen Sie den eigenständigen HTML-zu-Markdown-Konverter.
Markdown in:
# Release Notes
We shipped **tables** and `code`:
| Feature | Status |
| ------- | ------ |
| GFM | Done |
- [x] Parse to an AST
- [ ] Profit
HTML out:
<h1>Release Notes</h1>
<p>We shipped <strong>tables</strong> and <code>code</code>:</p>
<table>
<thead><tr><th>Feature</th><th>Status</th></tr></thead>
<tbody><tr><td>GFM</td><td>Done</td></tr></tbody>
</table>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" checked disabled> Parse to an AST</li>
<li class="task-list-item"><input type="checkbox" disabled> Profit</li>
</ul> Hauptfunktionen
Live-Vorschau im geteilten Fenster
Tippen Sie Markdown links und sehen Sie es rechts in Echtzeit rendern, während die HTML-Ausgabe darunter beim Tippen aufgebaut wird. Die Vorschau rendert in einem sandboxed Iframe, sodass das, was Sie sehen, das ist, was ein Browser anzeigt — und eingefügte Skripte nicht laufen können.
Vollständiges GitHub Flavored Markdown
Nicht nur CommonMark — das vollständige GFM-Superset: Pipe-Tabellen, Aufgabenlisten (`- [x]`), Durchstreichen (`~~`), automatisch verlinkte URLs und Code-Blöcke mit Fences. Eine für GitHub geschriebene README oder ein Issue rendert hier genau wie dort.
Syntaxhervorhebung
Beschriften Sie einen Code-Block mit Fences mit seiner Sprache (```js, ```python, ```sql), und der Konverter hebt ihn hervor, indem er Tokens in Spans mit einer Sprachklasse am <code>-Element umschließt. Kombinieren Sie das mit einem Highlight-Stylesheet auf Ihrer Seite für Farbe.
Drei Ausgabeformate
Exportieren Sie ein HTML-Fragment (Body-Markup für eine Vorlage oder ein CMS), ein Vollständiges Dokument (eine eigenständige -Seite, die Sie als .html speichern können) oder E-Mail-Inline-HTML, bei dem die Stile auf jedes Element verschoben sind, damit Outlook und andere Clients es korrekt rendern.
Panel für eigenes CSS
Injizieren Sie Ihr eigenes CSS in die Live-Vorschau, um die Typografie einer Website nachzubilden oder GitHubs README-Stil zu imitieren. Tippen Sie Regeln wie h1 { color: #0969da; }, und die Vorschau aktualisiert sich sofort, ohne das saubere HTML zu berühren, das Sie herauskopieren.
GFM-Syntax-Spickzettel
Eine Schnellreferenz für die Syntax, die HTML erzeugt: `# H1` → Überschrift, `**fett**` → <strong>, `*kursiv*` → <em>, `- Element` → Liste, `1. Element` → geordnete Liste, `[Text](url)` → Link, `` `Code` `` → Inline-Code, ` ```lang ` → Code mit Fences, `> Zitat` → Blockquote, `| a | b |` → Tabelle, `- [ ]` → Aufgabenliste, `~~Text~~` → Durchstreichen.
100 % privat, im Browser
Jede Konvertierung läuft lokal mit JavaScript — Ihr Markdown und HTML verlassen niemals Ihr Gerät, treffen nie auf einen Server und funktionieren nach dem Laden der Seite offline. Sicher für unveröffentlichte Docs, interne READMEs und Release Notes unter Embargo.
Beispiele
GFM-Tabelle zu einem HTML-<table>
| Tool | Tempo | | ---- | ----- | | GFM | Schnell |
<table> <thead><tr><th>Tool</th><th>Tempo</th></tr></thead> <tbody><tr><td>GFM</td><td>Schnell</td></tr></tbody> </table>
GitHub-Flavored-Markdown-Pipe-Tabellen sind kein Teil des reinen CommonMark, aber dieser Konverter versteht sie und gibt eine korrekte semantische <table> mit <thead> und <tbody> aus — bereit zum Stylen oder Einfügen in ein CMS.
Aufgabenliste zu Checkbox-HTML
- [x] README schreiben - [ ] In HTML umwandeln
<ul class="contains-task-list"> <li class="task-list-item"><input type="checkbox" checked disabled> README schreiben</li> <li class="task-list-item"><input type="checkbox" disabled> In HTML umwandeln</li> </ul>
Die GFM-Aufgabenlisten-Syntax `- [x]` / `- [ ]` wird zu echten deaktivierten Checkbox-Inputs, genau so, wie GitHub eine Checkliste rendert — eine kopierte README sieht auf Ihrer eigenen Seite gleich aus.
Code-Block mit Fences zu hervorgehobenem <pre><code>
```js const html = md.render(src) ```
<pre><code class="language-js"><span class="hljs-keyword">const</span> html = md.render(src) </code></pre>
Geben Sie nach dem öffnenden Fence eine Sprache an, und der Konverter wendet Syntaxhervorhebung an und umschließt Tokens mit Spans, mit einer language-js-Klasse am <code>-Element. Kombinieren Sie das mit einem Highlight-Stylesheet, und der Code wird eingefärbt.
Eine README zu einem vollständigen HTML-Dokument
# Mein Projekt Eine kurze Beschreibung und ein [Link](https://example.com).
<!doctype html> <html lang="de"> <head><meta charset="utf-8"><title>Mein Projekt</title></head> <body> <h1>Mein Projekt</h1> <p>Eine kurze Beschreibung und ein <a href="https://example.com">Link</a>.</p> </body> </html>
Stellen Sie die Ausgabe auf Vollständiges Dokument, und der Konverter umschließt das gerenderte HTML mit einer kompletten -Seite samt <head> und Charset — eine eigenständige .html-Datei, die Sie in jedem Browser öffnen oder direkt herunterladen können.
So wandeln Sie Markdown in HTML um
- 1
Markdown tippen oder einfügen
Werfen Sie Ihr Markdown — eine README, Release Notes, einen Issue-Body — in das Eingabefeld. Vollständiges GitHub Flavored Markdown wird unterstützt: Tabellen, Aufgabenlisten, Durchstreichen, Autolinks und Code-Blöcke mit Fences. Die Live-Vorschau und die HTML-Ausgabe aktualisieren sich beim Tippen, alles in Ihrem Browser.
- 2
Ausgabeformat wählen
Wählen Sie HTML-Fragment zum Einfügen in eine Vorlage oder ein CMS, Vollständiges Dokument für eine eigenständige .html-Seite oder E-Mail inline für inline-gestyltes HTML, das Outlook übersteht. Fügen Sie Code-Fences Sprach-Tags für die Syntaxhervorhebung hinzu und nutzen Sie das Panel Eigenes CSS, um die Vorschau zu stylen.
- 3
Kopieren oder herunterladen
Klicken Sie auf Kopieren, um das HTML zu übernehmen, oder auf Herunterladen, um es als Datei zu speichern. Um die Konvertierung umzukehren, wechseln Sie zum Tab HTML → Markdown und fügen Ihr HTML ein, um sauberes Markdown zurückzuerhalten.
Häufige Stolperfallen
Nicht escaptes HTML im Fließtext verschluckt
Markdown reicht rohes HTML durch, sodass eine als Text gemeinte spitze Klammer — etwa beim Schreiben über eine <Component> oder ein generisches List<T> — als HTML-Tag geparst wird und aus der Ausgabe verschwindet. Escapen Sie die Klammer mit einem Backslash oder einer HTML-Entity oder umschließen Sie den Text mit einem Code-Span, damit er literal gerendert wird.
Verwenden Sie die <Header>-Komponente, um Seiten zu umschließen. <!-- <Header> wird als Tag geparst und verschwindet -->
Verwenden Sie die `<Header>`-Komponente, um Seiten zu umschließen. <!-- Backticks halten es literal: rendert <Header> -->
Falsch ausgerichtete oder fehlerhafte Tabellen-Pipes
Eine GFM-Tabelle braucht eine Kopfzeile, eine Trennzeile aus Bindestrichen und mindestens eine Pipe pro Zeile. Die Trennzeile zu vergessen oder eine andere Spaltenanzahl als die Kopfzeile zu haben, zerstört die Tabelle — sie fällt auf einen einfachen Absatz aus Pipes zurück. Die Zellen müssen optisch nicht ausgerichtet sein, aber jede Zeile muss dieselbe Spaltenanzahl haben.
| Name | Rolle | | Alice | Admin | <!-- keine |---|---|-Trennzeile: keine Tabelle -->
| Name | Rolle | | ---- | ---- | | Alice | Admin | <!-- Trennzeile vorhanden: rendert eine Tabelle -->
Code-Fence ohne Sprache
Ein Code-Block mit Fences ohne Sprach-Info-String rendert als <pre><code>-Block ohne Sprachklasse und erhält daher keine Syntaxhervorhebung. Der Code erscheint trotzdem, nur einfarbig. Fügen Sie die Sprache unmittelbar nach den öffnenden Backticks hinzu, um die Hervorhebung zu aktivieren; ein Leerzeichen zwischen den Backticks und dem Namen deaktiviert sie.
``` const x = 1 ``` <!-- keine Sprache → keine Hervorhebung -->
```js const x = 1 ``` <!-- language-js → hervorgehoben -->
Ein Fragment verwenden, wo ein vollständiges Dokument nötig ist
Die HTML-Fragment-Ausgabe zu kopieren und direkt als .html-Datei zu speichern, erzeugt eine Seite ohne Doctype, ohne Charset und ohne <html>/<head>/<body>. Browser rendern sie oft trotzdem, aber der Quirks-Modus und ein fehlendes Charset können akzentuierte Zeichen und das Layout zerstören. Wenn das HTML eigenständig sein muss, wechseln Sie zum Format Vollständiges Dokument.
<h1>Titel</h1> <p>Als page.html gespeichert — kein Doctype, kein Charset.</p>
<!doctype html> <html lang="de"><head><meta charset="utf-8"><title>Titel</title></head> <body><h1>Titel</h1><p>Vollständige, eigenständige Seite.</p></body></html>
Häufige Anwendungsfälle
- In eine Static Site oder ein CMS veröffentlichen
- Schreiben Sie Ihren Inhalt in Markdown, konvertieren Sie ihn in ein HTML-Fragment und fügen Sie es in eine Static-Site-Vorlage oder ein Rich-Text-Feld eines CMS ein. Sie erhalten sauberes semantisches Markup — Überschriften, Listen, Tabellen — ohne dass der Seitenrahmen im Weg ist.
- Eine README vor dem Push prüfen
- Fügen Sie Ihre README.md ein und sehen Sie zu, wie die Live-Vorschau sie mit vollem GFM rendert — Tabellen, Aufgabenlisten, Code mit Fences —, sodass Sie eine kaputte Tabelle oder einen fehlenden Code-Fence vor dem Commit erwischen, nicht erst, nachdem GitHub sie der Welt zeigt.
- Notizen in eine teilbare Webseite verwandeln
- Besprechungsnotizen, ein Design-Dokument oder ein in Markdown geschriebener Entwurf wird mit einem Klick zu einer vollständigen HTML-Seite. Wählen Sie Vollständiges Dokument, laden Sie die .html-Datei herunter, und Sie haben etwas, das Sie in jedem Browser öffnen oder überall hosten können.
- E-Mail-taugliches Inline-HTML erstellen
- E-Mail-Clients entfernen <style>-Blöcke, also schreiben Sie Ihre Nachricht in Markdown und exportieren Sie das Format E-Mail inline, das CSS als style-Attribut auf jedes Element verschiebt. Das Ergebnis rendert korrekt in Outlook und anderen Clients, die Stile auf Dokumentebene ignorieren.
- Eine .md-Datei in ein herunterladbares .html umwandeln
- Brauchen Sie eine offline, in sich geschlossene HTML-Version eines Markdown-Dokuments? Fügen Sie es ein, wählen Sie Vollständiges Dokument und klicken Sie auf Herunterladen — Sie erhalten eine eigenständige .html-Datei mit korrektem Doctype und Charset, ohne Build-Tool oder Kommandozeile.
- Gerenderte Docs in eine App einbetten
- Erzeugen Sie Dokumentation, Changelogs oder Hilfeinhalte aus in Ihrem Repo gespeichertem Markdown? Nutzen Sie dieses Tool, um genau zu sehen, welches HTML eine bestimmte Markdown-Quelle erzeugt, sodass Sie den Renderer Ihrer App abgleichen und die Ausgabe passend stylen können.
Technische Details
- CommonMark vs. GitHub Flavored Markdown
- CommonMark ist die strikte, eindeutige Markdown-Spezifikation, die exakt definiert, wie Überschriften, Hervorhebung, Listen, Links und Code-Blöcke geparst werden. GitHub Flavored Markdown (GFM) ist ein striktes Superset: Es behält alles bei, was CommonMark definiert, und fügt vier Erweiterungen hinzu — Pipe-Tabellen, Aufgabenlisten-Elemente (`- [x]`), Durchstreichen (`~~Text~~`) und automatisch verlinkte nackte URLs. Weil GFM nur Funktionen hinzufügt, ist jedes gültige CommonMark-Dokument auch gültiges GFM. Dieser Konverter implementiert das GFM-Superset, sodass für beide Grammatiken geschriebene Dokumente korrekt rendern.
- XSS-sicheres sandboxed Rendering
- Markdown erlaubt bewusst eingebettetes rohes HTML, was bedeutet, dass ein Markdown-Dokument ein <script>-Tag oder einen Event-Handler wie onerror enthalten kann. Die Live-Vorschau wehrt das ab, indem sie in einem <iframe sandbox=""> mit deaktiviertem Scripting rendert, sodass aktiver Inhalt in Ihrer Eingabe während der Vorschau nicht ausgeführt werden kann — wichtig, wenn Sie Markdown aus einer nicht vertrauenswürdigen Quelle konvertieren. Das vom Tool ausgegebene serialisierte HTML ist die getreue Wiedergabe Ihrer Eingabe; wenn Sie aus nicht vertrauenswürdigem Markdown abgeleitetes HTML veröffentlichen wollen, lassen Sie es vor der Auslieferung durch einen Sanitizer wie DOMPurify auf Ihrem Server laufen.
- E-Mail-HTML-Kompatibilität
- HTML-E-Mail wird von einem Flickenteppich an Engines mit notorisch begrenzter CSS-Unterstützung gerendert. Outlook unter Windows verwendet die Rendering-Engine von Word und ignoriert <style>-Blöcke im Dokument-Head, sodass jegliches klassenbasiertes Styling stillschweigend verschwindet; der verlässliche Ansatz sind Inline-style-Attribute auf jedem Element, genau das, was die Ausgabe E-Mail inline erzeugt. Bilder sind eine weitere Falle: Viele Clients blockieren entfernte Bilder, bis der Empfänger zustimmt, sodass kleine, als Data-URIs eingebettete Bilder sofort rendern, während große entfernte Bilder eventuell gar nicht erscheinen. Halten Sie das Markup einfach und testen Sie über Ihre Zielclients hinweg.
- Synchrone In-Browser-Hervorhebung
- Wenn ein Code-Block mit Fences einen Sprach-Info-String trägt (```js), lässt der Konverter einen synchronen Highlighter über dessen Inhalt laufen, tokenisiert die Quelle und umschließt jedes Token in einem <span> mit einer Klasse wie hljs-keyword oder hljs-string, plus einer language-js-Klasse am <code>-Element. Die Hervorhebung ist rein strukturell — sie fügt Klassen hinzu, keine Farben —, sodass die Zielseite ein passendes Highlight-Stylesheet benötigt, um die Palette zu rendern. Da sie synchron im Browser läuft, erscheint das hervorgehobene HTML im selben Moment, in dem Sie tippen, ohne Netzwerkaufruf.
Best Practices
- Das Ausgabeformat zum Ziel passend wählen
- Passen Sie das Format dem Ziel an, an das das HTML geht. Ein CMS-Feld oder eine Vorlage hat bereits einen Seitenrahmen, also fügen Sie ein HTML-Fragment ein. Eine Datei, die Sie direkt im Browser öffnen wollen, braucht ein Vollständiges Dokument mit Doctype und Charset. Eine E-Mail braucht E-Mail inline, damit die Stile Clients überstehen, die <style>-Blöcke entfernen. Die falsche Form einzufügen ist der häufigste vermeidbare Fehler.
- Code-Fences immer mit einer Sprache versehen
- Schreiben Sie die Sprache direkt nach den öffnenden Backticks — ```js, ```python, ```sql — ohne Leerzeichen, damit der Konverter den Block hervorheben und die richtige Sprachklasse hinzufügen kann. Ein nackter Fence erzeugt ungestylten, nicht hervorgehobenen Code. Verwenden Sie eine Sprache, die der Highlighter erkennt; ein unbekannter oder falsch geschriebener Name fällt auf Klartext zurück.
- Nicht vertrauenswürdiges Markdown vor dem Veröffentlichen bereinigen
- Die Vorschau ist sandboxed, aber das vom Tool ausgegebene HTML ist eine getreue Wiedergabe — einschließlich jedes rohen HTML oder <script> in der Eingabe. Wenn dieses Markdown von Nutzern oder einer anderen nicht vertrauenswürdigen Quelle stammt und Sie das Ergebnis anderen Personen ausliefern wollen, lassen Sie das HTML zuerst durch einen Sanitizer wie DOMPurify auf Ihrem Server laufen. Die Sandbox schützt Sie beim Konvertieren, nicht Ihre Besucher nach dem Veröffentlichen.
- E-Mail-HTML einfach und inline halten
- Bevorzugen Sie für E-Mail das Format E-Mail inline, halten Sie Ihr Layout einfach und vermeiden Sie CSS-Funktionen, die Outlook und andere Clients verwerfen. Betten Sie kleine Bilder als Data-URIs ein, damit sie auch dann rendern, wenn entfernte Bilder blockiert sind, und senden Sie sich vor einem breiteren Versand immer einen Test — E-Mail-Rendering ist das unnachgiebigste Ziel, das HTML hat.
- Literale HTML-Zeichen im Text escapen
- Wenn ein literales < oder & als Text erscheinen soll, statt als Tag oder Entity interpretiert zu werden, escapen Sie es mit einem Backslash (\<) oder einer HTML-Entity (<). Markdown reicht rohes HTML durch, sodass ein nicht escaptes <example> im Fließtext als unbekanntes Tag verschluckt werden und aus der gerenderten Ausgabe verschwinden kann.
Häufig gestellte Fragen
Unterstützt es GitHub Flavored Markdown (GFM)?
Wie erhalte ich E-Mail-taugliches Inline-HTML?
Was ist der Unterschied zwischen einem HTML-Fragment und einem vollständigen Dokument?
Ist das gerenderte HTML XSS-sicher für die Vorschau?
Kann ich eigenes CSS zur Vorschau hinzufügen?
Werden meine Dateien oder mein Text auf einen Server hochgeladen?
Funktioniert es offline?
Wie wandle ich eine Markdown-Datei (.md) in eine HTML-Datei um?
Warum wird mein Code-Block nicht hervorgehoben?
Kann ich HTML zurück in Markdown 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.
HTML-zu-Markdown-Konverter
Kodierung & Formatierung
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.
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.