HTML naar Markdown omzetter
Zet HTML om naar schone Markdown in je browser — GFM-tabellen, takenlijsten en links. Kies ATX/Setext-koppen en inline- of referentielinks. Ideaal om webinhoud te migreren of LLM's te voeden. 100% privé, geen upload.
Aangepaste CSS
Wat is HTML naar Markdown-conversie?
HTML naar Markdown-conversie neemt een gerenderd HTML-document — de tags, attributen en nesting die een browser weergeeft — en herschrijft het als Markdown, het lichtgewicht platte-tekstformaat gebouwd voor schrijven en versiebeheer. Waar Markdown naar HTML compacte tekst uitvouwt tot opmaak voor weergave, is dit de omgekeerde en reductieve richting: je begint met rijke, breedsprakige HTML en distilleert het tot de kleine, leesbare set conventies die Markdown biedt.
Onder de motorkap parseert de omzetter je HTML in een DOM-boom — dezelfde knopenstructuur die een browser bouwt — en loopt vervolgens door die boom en geeft het Markdown-equivalent uit voor elke knoop die hij herkent. Een <h2> wordt ## , een <strong> wordt **tekst**, een <ul> wordt een opgesomde lijst, een wordt een link, een <table> wordt een GFM-pijptabel. Een echte DOM doorlopen, in plaats van reguliere expressies over de ruwe string te draaien, is wat het in staat stelt geneste lijsten, gemengde inline-opmaak en tabellen correct te verwerken in plaats van te breken op randgevallen.
Je grijpt naar deze conversie wanneer je uit HTML migreert, niet erin. Inhoud opgesloten in een CMS, een WYSIWYG-editor, een oude webpagina of een rijketekstveld is moeilijk te diffen, moeilijk te reviewen en moeilijk te verplaatsen. Het omzetten naar Markdown bevrijdt het naar een formaat dat gelukkig leeft in een Git-repo, een statische-sitegenerator of een notitie-app — en, in toenemende mate, naar een formaat dat grote taalmodellen efficiënt lezen. Het addertje, dat eerlijke tools onomwonden vermelden, is dat de conversie verliesgevend is: HTML kan dingen uitdrukken die Markdown niet kan, dus wat structuur en elk stylingdetail worden bewust weggegooid in ruil voor schone, overdraagbare tekst.
De omgekeerde bewerking — Markdown terug naar HTML, voor wanneer je klaar bent om te publiceren of te bekijken — is even nuttig. Schakel naar het tabblad Markdown → HTML of open de speciale Markdown naar HTML omzetter.
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. --> Belangrijkste functies
GFM-bewuste uitvoer
Richt zich op GitHub Flavored Markdown, niet alleen gewoon CommonMark: HTML-tabellen worden pijptabellen, checkbox-<li>'s worden takenlijsten (`- [x]`), en <del>/<s> worden ~~doorhalingen~~. De Markdown valt rechtstreeks in een README, een GitHub-issue of een docs-site en rendert op dezelfde manier.
ATX- of Setext-koppen
Kies hekje-voorafgaande ATX-koppen (# H1) of onderstreepte Setext-koppen (=== voor H1, --- voor H2). Setext dekt alleen de bovenste twee niveaus, dus de omzetter valt automatisch terug op ATX voor H3 en dieper — je krijgt nooit een ongeldige kop.
Inline- of referentielinks
Schakel tussen inline-links — [tekst](url) naast het proza — en referentielinks, die elke URL in een genummerde lijst onderaan het document verzamelen. Referentiestijl houdt linkrijke alinea's leesbaar en laat je een URL per label hergebruiken.
Fenced code blocks
Een <pre><code>-blok wordt een fenced code block met drie backticks, en een language-klasse op het <code>-element draagt door als de infostring van de fence. Inline <code> wordt backtick-spans, zodat fragmenten de reis intact overleven.
Verwerkt geneste lijsten en tabellen
Loopt door de echte DOM, dus geneste <ul>/<ol>-structuren worden correct ingesprongen Markdown-lijsten en geordende lijsten hernummeren vanaf 1. Eenvoudige tabellen plat af tot pijptabellen; echt complexe vallen terug op ruwe HTML in plaats van data te verliezen.
100% privé, in de browser
Elke conversie verloopt lokaal met JavaScript — je HTML en de resulterende Markdown verlaten je apparaat nooit, raken nooit een server en werken offline nadat de pagina is geladen. Veilig voor interne CMS-exports, klantinhoud en ongepubliceerde pagina's.
Voorbeelden
Web-<table> naar een GFM-pijptabel
<table>
<thead><tr><th>Regio</th><th>Verkoop</th></tr></thead>
<tbody>
<tr><td>EMEA</td><td>1.204</td></tr>
<tr><td>APAC</td><td>980</td></tr>
</tbody>
</table> | Regio | Verkoop | | ----- | ------- | | EMEA | 1.204 | | APAC | 980 |
Een gescrapete of gekopieerde HTML-<table> klapt samen tot een GitHub Flavored Markdown-pijptabel. De <thead>-rij wordt de kop, de gestreepte scheidingsrij wordt voor je gegenereerd, en elke <tr> wordt één pijpgescheiden regel — klaar om in een README of een docs-pagina te plaatsen.
Links: inline- versus referentiestijl
<p>Lees de <a href="https://example.com/guide">installatiegids</a> en de <a href="https://example.com/api">API-referentie</a>.</p>
Inline: Lees de [installatiegids](https://example.com/guide) en de [API-referentie](https://example.com/api). Referentie: Lees de [installatiegids][1] en de [API-referentie][2]. [1]: https://example.com/guide [2]: https://example.com/api
Dezelfde ankers renderen op twee manieren. Inline houdt de URL naast de tekst; referentiestijl verplaatst elke URL naar een genummerde lijst onderaan, wat lange alinea's leesbaar houdt wanneer een zin meerdere links draagt. Kies de stijl met de Links-radioknop.
Geneste <ul>/<ol> naar ingesprongen Markdown-lijsten
<ul>
<li>Bouwen
<ol>
<li>Compileren</li>
<li>Bundelen</li>
</ol>
</li>
<li>Verzenden</li>
</ul> - Bouwen 1. Compileren 2. Bundelen - Verzenden
Nesting blijft behouden door inspringing: de binnenste <ol> staat twee spaties onder zijn bovenliggende <li> en schakelt van een `-`-opsommingsteken naar `1.`-nummering. Markdown hernummert geordende lijsten automatisch, zodat de bron schoon blijft, zelfs als de HTML expliciete value-attributen gebruikte.
Een stuk webpagina-HTML naar schone Markdown
<article> <h1>Changelog</h1> <p>We brachten <strong>donkere modus</strong> uit en repareerden <code>parseDate()</code>.</p> <blockquote><p>Dank aan iedereen die het meldde.</p></blockquote> </article>
# Changelog We brachten **donkere modus** uit en repareerden `parseDate()`. > Dank aan iedereen die het meldde.
Plak een stukje van een echte pagina — de <article>-wrapper wordt weggelaten (Markdown heeft geen containerelement), de <h1> wordt `#`, <strong> wordt `**`, inline <code> wordt backticks, en de <blockquote> wordt een `>`-regel. Structurele wrappers zonder Markdown-equivalent vallen simpelweg weg.
HTML naar Markdown omzetten
- 1
Plak je HTML
Zet een gekopieerde webpagina, een CMS- of WYSIWYG-export, of een gescrapet HTML-fragment erin. De DOM wordt geparseerd en geserialiseerd naar Markdown in je browser terwijl je plakt — geen upload, geen groottelimiet buiten het geheugen van je browser.
- 2
Kies kop- en linkstijlen
Kies ATX- (#) of Setext- (===) koppen en inline- of referentielinks. De Markdown rendert live opnieuw, zodat je stijlen direct kunt vergelijken. De uitvoer richt zich op GitHub Flavored Markdown — tabellen, takenlijsten en doorhalingen inbegrepen.
- 3
Kopieer of download
Klik op Kopiëren om de Markdown te pakken, of op Downloaden om een .md-bestand te bewaren. Om de andere kant op te gaan, schakel je naar het tabblad Markdown → HTML en plak je je Markdown om gerenderde HTML terug te krijgen.
Veelvoorkomende valkuilen
Verwachten dat <div>/<span>-structuur overleeft
Generieke containers dragen geen Markdown-equivalent, dus ze worden uitgepakt — hun inhoud blijft maar de tag, en elke klasse of stijl erop, verdwijnt. Als je lay-out afhing van een omhullende <div> of een gestylede <span>, is die styling weg in de Markdown. Dit is verwacht, geen bug; Markdown heeft simpelweg geen manier om het uit te drukken.
<div class="callout warning"><span style="color:red">Heads up!</span></div> <!-- expecting the callout box and red colour to survive -->
Heads up! <!-- container and styles dropped; only the text remains in Markdown -->
Verloren <br>-regeleinden binnen alinea's
Een <br> binnen een alinea is een zachte regelafbreking, die Markdown weergeeft met twee afsluitende spaties vóór de nieuwe regel (of een backslash). HTML plakken en verwachten dat zichtbare regeleinden overleven kan je verrassen wanneer aangrenzende regels samenvloeien tot één. De omzetter geeft de harde-afbrekingsvorm uit, maar als je achteraf met de hand bewerkt, verwijder dan de afsluitende spaties niet.
Line one<br>Line two <!-- if the break form is removed, these merge into one line -->
Line one Line two <!-- two trailing spaces preserve the <br> as a hard break -->
Diep geneste tabellen die degraderen
GFM-pijptabellen kunnen niet nesten of blokinhoud bevatten. Een oude lay-out die een tabel (of een lijst, of meerdere alinea's) in een tabelcel plaatst kan geen schone pijptabel worden — de omzetter plat af wat hij kan en laat de rest als ruwe HTML staan zodat er niets verloren gaat. De oplossing is de bron vereenvoudigen, niet de uitvoer.
<table><tr><td><table><tr><td>inner</td></tr></table></td></tr></table> <!-- nested table can't become a flat pipe table -->
<!-- Flatten to a single-level table first: --> <table><tr><td>inner</td></tr></table> → | inner | | ----- |
Verwachten dat <script> of stijlen overleven
<script>, <style> en head-niveau-elementen zijn code en presentatie, geen documentinhoud, dus worden ze volledig verwijderd — niet omgezet, niet behouden als ruwe HTML. Een hele pagina plakken en verwachten dat gedrag of CSS in de Markdown doorkomt zal teleurstellen. Markdown is een inhoudsformaat; als je de code of styling nodig hebt, houd dan de HTML.
<style>.x{color:blue}</style>
<script>track()</script>
<p>Body</p>
<!-- expecting the style and script to come through --> Body <!-- only the content survives; <script>/<style> are dropped -->
Veelvoorkomende toepassingen
- Web- of CMS-inhoud migreren naar Notion, Obsidian of een statische site
- Haal pagina's uit een CMS, een WordPress-export of een oude HTML-site en zet ze om naar Markdown die rechtstreeks in Notion, Obsidian, Hugo of Jekyll valt. Je ruilt breedsprakige opmaak voor overdraagbare tekst die schoon leeft in een Git-repo en zinvol dift bij review.
- Exporteren uit een WYSIWYG-editor
- Rijketeksteditors geven dichte, attribuutrijke HTML uit. Plak die uitvoer hier om de schone Markdown eronder terug te halen — koppen, lijsten, links en nadruk — zodat de inhoud naar een docs-pipeline of een op Markdown gebaseerde kennisbank kan verhuizen in plaats van opgesloten te blijven in de editor.
- HTML opschonen naar Markdown om LLM's en RAG-pipelines te voeden
- Ruwe HTML verbrandt tokens aan tags, scripts en styling die een model nooit nodig heeft. Een gescrapete pagina naar Markdown omzetten verwijdert die ruis terwijl de structuur behouden blijft die een LLM goed leest, zodat je meer echte inhoud in het contextvenster past en schonere embeddings voor retrieval krijgt.
- Een rijketekst-plak omzetten naar Markdown
- Kopieer opgemaakte tekst van een webpagina, een e-mail of een document en het arriveert als HTML op het klembord. Plak het hier om die rijke tekst om te zetten naar Markdown die je kunt committen, in een pull request kunt sturen of in je notities kunt schrijven — opmaak behouden, rommel weg.
- Een pagina archiveren als Markdown
- Bewaar de betekenisvolle inhoud van een webpagina als een klein, toekomstbestendig .md-bestand in plaats van een zware HTML-momentopname vol scripts en tracking. Markdown blijft over decennia leesbaar in elke teksteditor en neemt een fractie van de ruimte in.
- Oude HTML-documenten omzetten naar Markdown
- Oude documentatie geschreven als handgecodeerde HTML is pijnlijk om te onderhouden. Zet het om naar Markdown om het in een moderne docs-als-code-workflow te brengen — waar het gelint kan worden, in pull requests gereviewd en gerenderd door een statische-sitegenerator.
Technische details
- CommonMark- versus GitHub Flavored Markdown-uitvoer
- De omzetter kan zich richten op gewoon CommonMark of, standaard, de GitHub Flavored Markdown-superset. CommonMark definieert koppen, nadruk, lijsten, links, afbeeldingen, code en blockquotes precies. GFM voegt vier constructies toe die direct vanuit gangbare HTML toewijzen: <table> → pijptabel, checkbox-lijstitems → takenlijsten, <del>/<s> → doorhalingen, en kale URL's → autolinks. Omdat de meeste webinhoud tabellen en dergelijke gebruikt, is GFM-uitvoer de praktische standaard; kies CommonMark alleen wanneer de doelrenderer de GFM-uitbreidingen niet begrijpt, in welk geval tabellen terugvallen op ruwe HTML.
- Verliesgevende, onomkeerbare conversie — onomwonden gesteld
- HTML is strikt expressiever dan Markdown, dus de conversie kan niet verliesvrij zijn, en het is de moeite waard daar open over te zijn. Markdown heeft geen syntaxis voor <div>, <span> of andere generieke containers; geen manier om klassenamen, id, inline style, colspan/rowspan of willekeurige data-*-attributen te dragen; en geen weergave voor de meeste semantische of lay-outelementen. Die worden uitgepakt (inhoud behouden, tag weggelaten), weggegooid (attributen), of — wanneer weglaten betekenis zou verliezen — behouden als ruwe inline-HTML. Een heen-en-terugreis HTML → Markdown → HTML reproduceert het origineel niet. Dit is een bewuste afweging: Markdown bestaat om schoon, diff-baar en door mensen bewerkbaar te zijn, niet om HTML te spiegelen. De meeste concurrenten gaan hieraan voorbij; dit vermelden laat je met open ogen beslissen of Markdown het juiste doel is.
- Stijlafwegingen: ATX/Setext, inline/referentie, fenced/ingesprongen
- Drie uitvoerkeuzes hebben echte afwegingen. ATX-koppen (#) dekken alle zes niveaus en greppen schoon; Setext (onderstreept) bestaat alleen voor H1/H2, dus de tool geeft het uit voor de bovenste twee niveaus en valt eronder terug op ATX. Inline-links houden de URL naast de tekst — het best voor schaarse links; referentielinks trekken URL's naar de documentvoet — het best voor linkdicht proza en hergebruik per label. Voor code dragen fenced blocks (drie backticks) een taal-infostring en nesten veilig, terwijl ingesprongen (vier-spaties) code blocks geen taal kunnen uitdrukken en breken binnen lijsten — dus deze omzetter geeft altijd fenced blocks uit vanuit <pre><code>.
Aanbevolen werkwijzen
- Formatteer de HTML vóór je omzet
- Geminificeerde of diep verwarde HTML — vooral geneste lay-outtabellen en losse inline-elementen — zet schoner om wanneer het eerst goed gevormd is. Haal rommelige bron door onze HTML Formatter om het netjes af te drukken en te normaliseren, en zet dan om. Schone invoer levert schone Markdown op met minder ruwe-HTML-terugval.
- Verwacht en review de verliesgevende weglatingen
- Behandel de conversie als opzettelijk verliesgevend. Klassen, inline-stijlen, <div>/<span>-wrappers en exotische attributen zijn weg in de uitvoer, en dat is meestal wat je wilt voor overdraagbare Markdown — maar scan het resultaat op iets semantisch belangrijks dat alleen in een attribuut leefde (een aria-label, een colspan-samengevoegde cel) en voeg het met de hand terug toe als het ertoe doet.
- Kies de linkstijl voor de dichtheid van het document
- Gebruik inline-links voor proza met hier en daar een link — de URL blijft naast zijn tekst en de bron leest natuurlijk. Schakel naar referentielinks wanneer een sectie linkrijk is of dezelfde URL's hergebruikt: ze naar een genummerde lijst onderaan trekken houdt alinea's scanbaar en vermijdt het herhalen van lange URL's.
- Zet om naar Markdown vóór je pagina's naar een LLM stuurt
- Wanneer je webinhoud aan een model voedt — voor een prompt, een embedding of een RAG-opslag — zet de HTML eerst om naar Markdown. Je verwijdert tags, scripts en styling die tokens verspillen en ruis toevoegen, behoudt de structuur die het model daadwerkelijk gebruikt, en past aanzienlijk meer echte inhoud in het contextvenster.
- Verifieer complexe tabellen na conversie
- GFM-pijptabellen zijn plat — geen geneste tabellen, geen blokinhoud in cellen, geen samengevoegde cellen. Controleer na het omzetten van een datadichte of lay-outtabel de Markdown: eenvoudige rasters zetten perfect om, maar alles met colspans of geneste blokken degradeert en kan als ruwe HTML verschijnen. Vereenvoudig de brontabel eerst als een schone pijptabel belangrijk is.
Veelgestelde vragen
Hoe worden inline- versus referentielinks afgehandeld?
ATX- versus Setext-koppen — welke moet ik gebruiken?
Wat gebeurt er met HTML die Markdown niet kan weergeven, zoals <div> en <span>?
Verwijdert het <script> en stijlen?
Hoe worden geneste tabellen en lijsten afgehandeld?
Is HTML naar Markdown verliesvrij?
Kan ik de Markdown aan een LLM of ChatGPT voeren?
Worden mijn bestanden naar een server geüpload?
Werkt het offline?
Kan ik Markdown terug omzetten naar HTML?
Gerelateerde tools
Alle tools bekijken →Base64 decoderen en encoderen online
Encodering en formattering
Base64 decoderen en encoderen direct in je browser. Realtime conversie met volledige UTF-8- en emoji-ondersteuning. 100% privé — geen account nodig.
Base64 naar afbeelding converter
Encodering en formattering
Decodeer een Base64-string of data-URI terug naar een afbeelding in je browser. Bekijk voorbeeld, lees afmetingen & MIME, download als PNG, JPG, GIF, SVG. Geen upload.
CSV naar JSON omzetter
Encodering en formattering
Zet CSV om naar JSON in uw browser. RFC 4180, type-afleiding, headerregel, big-int veilig. 100% privé, geen upload.
Afbeelding naar Base64 converter
Encodering en formattering
Zet afbeeldingen om naar Base64 data-URI's in je browser — PNG, JPG, GIF, WebP, SVG, ICO. Kopieer HTML-, CSS-, Markdown- en JSON-uitvoer. 100% privé, zonder uploaden.
JSON Diff (Vergelijken)
Encodering en formattering
Vergelijk twee JSON-bestanden direct in je browser. Zij-aan-zij markering, RFC 6902 JSON Patch-uitvoer, negeer storende velden zoals tijdstempels en ID's. 100% privé, geen upload.
Online JSON-formatter & validator
Encodering en formattering
Formatteer en valideer JSON direct in je browser. Gratis online tool met syntaxvalidatie, foutdetectie, minificeren en kopiëren met één klik. 100% privé.