Convertisseur HTML vers Markdown
Convertissez du HTML en Markdown propre dans le navigateur — tables GFM, listes de tâches, liens. Titres ATX/Setext et liens inline ou par référence. Idéal pour migrer du contenu web ou alimenter des LLM. 100 % privé.
CSS personnalisé
Qu'est-ce que la conversion HTML vers Markdown ?
La conversion HTML vers Markdown prend un document HTML rendu — les balises, les attributs et l'imbrication qu'un navigateur affiche — et le réécrit en Markdown, le format texte léger conçu pour l'écriture et le contrôle de version. Là où la conversion Markdown vers HTML développe du texte compact en balisage pour l'affichage, ceci est la direction inverse et réductrice : vous partez d'un HTML riche et verbeux et le distillez jusqu'au petit ensemble lisible de conventions qu'offre le Markdown.
En coulisses, le convertisseur analyse votre HTML en un arbre DOM — la même structure de nœuds qu'un navigateur construit — puis parcourt cet arbre et émet l'équivalent Markdown pour chaque nœud qu'il reconnaît. Un <h2> devient ## , un <strong> devient **texte**, un <ul> devient une liste à puces, un devient un lien, un <table> devient une table à barres verticales GFM. Parcourir un vrai DOM, plutôt que d'exécuter des expressions régulières sur la chaîne brute, est ce qui lui permet de gérer correctement les listes imbriquées, la mise en forme inline mixte et les tables au lieu de casser sur les cas limites.
Vous recourez à cette conversion quand vous migrez hors du HTML, pas vers lui. Du contenu piégé dans un CMS, un éditeur WYSIWYG, une vieille page web ou un champ de texte enrichi est difficile à comparer, difficile à relire et difficile à déplacer. Le convertir en Markdown le libère dans un format qui vit heureux dans un dépôt Git, un générateur de site statique ou une application de notes — et, de plus en plus, dans un format que les grands modèles de langage lisent efficacement. Le hic, que les outils honnêtes énoncent clairement, c'est que la conversion est avec perte : le HTML peut exprimer des choses que le Markdown ne peut pas, donc une partie de la structure et chaque détail de style sont délibérément écartés en échange d'un texte propre et portable.
L'opération inverse — du Markdown vers le HTML, pour quand vous êtes prêt à publier ou prévisualiser — est tout aussi utile. Basculez sur l'onglet Markdown → HTML ou ouvrez le convertisseur Markdown vers HTML dédié.
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. --> Fonctionnalités clés
Sortie consciente du GFM
Cible le GitHub Flavored Markdown, pas seulement le CommonMark simple : les tables HTML deviennent des tables à barres verticales, les <li> à cases à cocher deviennent des listes de tâches (`- [x]`), et <del>/<s> deviennent du ~~texte barré~~. Le Markdown se dépose directement dans un README, un ticket GitHub ou un site de docs et se rend de la même façon.
Titres ATX ou Setext
Choisissez les titres ATX préfixés de dièses (# H1) ou les titres Setext soulignés (=== pour H1, --- pour H2). Le Setext ne couvre que les deux niveaux supérieurs, donc le convertisseur retombe automatiquement sur l'ATX pour H3 et au-delà — vous n'obtenez jamais de titre invalide.
Liens inline ou par référence
Basculez entre les liens inline — [texte](url) à côté du texte — et les liens par référence, qui rassemblent chaque URL dans une liste numérotée au pied du document. Le style référence garde lisibles les paragraphes à nombreux liens et vous permet de réutiliser une URL par étiquette.
Blocs de code délimités
Un bloc <pre><code> devient un bloc de code délimité avec triples barres obliques inverses, et une classe language- sur l'élément <code> est reportée comme chaîne d'information de la délimitation. Le <code> inline devient des spans de barres obliques inverses, donc les extraits survivent au trajet intacts.
Gère les listes et tables imbriquées
Parcourt le vrai DOM, donc les structures <ul>/<ol> imbriquées se convertissent en listes Markdown correctement indentées et les listes ordonnées renumérotent à partir de 1. Les tables simples s'aplatissent en tables à barres verticales ; les tables vraiment complexes retombent en HTML brut plutôt que de perdre des données.
100 % privé, dans le navigateur
Chaque conversion s'exécute localement avec JavaScript — votre HTML et le Markdown résultant ne quittent jamais votre appareil, n'atteignent jamais un serveur et fonctionnent hors ligne après le chargement de la page. Sûr pour les exports CMS internes, le contenu client et les pages non publiées.
Exemples
Un <table> web vers une table GFM à barres verticales
<table>
<thead><tr><th>Région</th><th>Ventes</th></tr></thead>
<tbody>
<tr><td>EMEA</td><td>1 204</td></tr>
<tr><td>APAC</td><td>980</td></tr>
</tbody>
</table> | Région | Ventes | | ------ | ------ | | EMEA | 1 204 | | APAC | 980 |
Un <table> HTML récupéré ou copié s'effondre en une table à barres verticales du GitHub Flavored Markdown. La ligne <thead> devient l'en-tête, la ligne de délimitation à tirets est générée pour vous, et chaque <tr> devient une ligne délimitée par des barres — prête à déposer dans un README ou une page de docs.
Liens : style inline vs référence
<p>Lisez le <a href="https://example.com/guide">guide d'installation</a> et la <a href="https://example.com/api">référence d'API</a>.</p>
Inline: Lisez le [guide d'installation](https://example.com/guide) et la [référence d'API](https://example.com/api). Reference: Lisez le [guide d'installation][1] et la [référence d'API][2]. [1]: https://example.com/guide [2]: https://example.com/api
Les mêmes ancres se rendent de deux façons. Inline garde l'URL à côté du texte ; le style référence déplace chaque URL vers une liste numérotée en bas, ce qui garde lisibles les longs paragraphes quand une phrase porte plusieurs liens. Choisissez le style avec le bouton radio Liens.
<ul>/<ol> imbriqués vers des listes Markdown indentées
<ul>
<li>Build
<ol>
<li>Compile</li>
<li>Bundle</li>
</ol>
</li>
<li>Ship</li>
</ul> - Build 1. Compile 2. Bundle - Ship
L'imbrication est préservée par l'indentation : le <ol> interne se place deux espaces sous son <li> parent et passe d'une puce `-` à une numérotation `1.`. Le Markdown renumérote automatiquement les listes ordonnées, donc la source reste propre même si le HTML utilisait des attributs value explicites.
Un morceau de HTML de page web vers du Markdown propre
<article> <h1>Changelog</h1> <p>We shipped <strong>dark mode</strong> and fixed <code>parseDate()</code>.</p> <blockquote><p>Thanks to everyone who reported it.</p></blockquote> </article>
# Changelog We shipped **dark mode** and fixed `parseDate()`. > Thanks to everyone who reported it.
Collez une tranche d'une vraie page — l'enveloppe <article> est abandonnée (le Markdown n'a pas d'élément conteneur), le <h1> devient `#`, <strong> devient `**`, le <code> inline devient des barres obliques inverses, et le <blockquote> devient une ligne `>`. Les enveloppes structurelles sans équivalent Markdown disparaissent simplement.
Comment convertir du HTML en Markdown
- 1
Collez votre HTML
Déposez une page web copiée, un export de CMS ou WYSIWYG, ou un extrait HTML récupéré. Le DOM est analysé et sérialisé en Markdown dans votre navigateur au fil du collage — sans envoi, sans plafond de taille au-delà de la mémoire de votre navigateur.
- 2
Choisissez les styles de titre et de lien
Choisissez les titres ATX (#) ou Setext (===) et les liens inline ou par référence. Le Markdown se rerend en direct, donc vous pouvez comparer les styles instantanément. La sortie cible le GitHub Flavored Markdown — tables, listes de tâches et texte barré inclus.
- 3
Copiez ou téléchargez
Cliquez sur Copier pour récupérer le Markdown, ou sur Télécharger pour enregistrer un fichier .md. Pour aller dans l'autre sens, basculez sur l'onglet Markdown → HTML et collez votre Markdown pour récupérer du HTML rendu.
Pièges courants
S'attendre à ce que la structure <div>/<span> survive
Les conteneurs génériques ne portent aucun équivalent Markdown, donc ils sont déballés — leur contenu reste mais la balise, et toute classe ou style dessus, disparaît. Si votre mise en page dépendait d'un <div> enveloppant ou d'un <span> stylé, ce style a disparu dans le Markdown. C'est attendu, pas un bug ; le Markdown n'a simplement aucun moyen de l'exprimer.
<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 -->
Sauts de ligne <br> perdus dans les paragraphes
Un <br> dans un paragraphe est un saut de ligne léger, que le Markdown représente avec deux espaces de fin avant le retour à la ligne (ou une barre oblique inverse). Coller du HTML en s'attendant à ce que les sauts de ligne visibles survivent peut vous surprendre quand des lignes adjacentes se reflux en une seule. Le convertisseur émet la forme de saut dur, mais si vous éditez à la main ensuite, ne supprimez pas les espaces de fin.
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 -->
Tables profondément imbriquées qui se dégradent
Les tables à barres verticales GFM ne peuvent ni s'imbriquer ni contenir de contenu de bloc. Une mise en page héritée qui place une table (ou une liste, ou plusieurs paragraphes) dans une cellule de table ne peut pas devenir une table à barres verticales propre — le convertisseur aplatit ce qu'il peut et laisse le reste comme HTML brut pour que rien ne soit perdu. Le correctif est de simplifier la source, pas la sortie.
<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 | | ----- |
S'attendre à ce que les <script> ou styles survivent
<script>, <style> et les éléments de niveau en-tête sont du code et de la présentation, pas du contenu de document, donc ils sont entièrement supprimés — pas convertis, pas préservés comme HTML brut. Coller une page entière en s'attendant à ce que le comportement ou le CSS soit reporté dans le Markdown vous décevra. Le Markdown est un format de contenu ; si vous avez besoin du code ou du style, gardez le 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 -->
Cas d'utilisation courants
- Migrer du contenu web ou CMS vers Notion, Obsidian ou un site statique
- Sortez des pages d'un CMS, d'un export WordPress ou d'un vieux site HTML et convertissez-les en Markdown qui se dépose directement dans Notion, Obsidian, Hugo ou Jekyll. Vous échangez du balisage verbeux contre un texte portable qui vit proprement dans un dépôt Git et se compare sensément en revue.
- Exporter depuis un éditeur WYSIWYG
- Les éditeurs de texte enrichi émettent un HTML dense et chargé d'attributs. Collez cette sortie ici pour récupérer le Markdown propre en dessous — titres, listes, liens et emphase — pour que le contenu puisse migrer vers un pipeline de docs ou une base de connaissances basée sur Markdown au lieu de rester enfermé dans l'éditeur.
- Nettoyer du HTML en Markdown pour alimenter des LLM et des pipelines RAG
- Le HTML brut brûle des jetons sur des balises, scripts et styles dont un modèle n'a jamais besoin. Convertir une page récupérée en Markdown supprime ce bruit tout en conservant la structure qu'un LLM lit bien, donc vous faites tenir plus de contenu réel dans la fenêtre de contexte et obtenez des embeddings plus propres pour la récupération.
- Convertir un collage de texte enrichi en Markdown
- Copiez du texte mis en forme depuis une page web, un e-mail ou un document et il arrive comme HTML dans le presse-papiers. Collez-le ici pour transformer ce texte enrichi en Markdown que vous pouvez committer, envoyer dans une pull request ou écrire dans vos notes — mise en forme préservée, fouillis disparu.
- Archiver une page comme Markdown
- Enregistrez le contenu significatif d'une page web comme un petit fichier .md pérenne au lieu d'un lourd instantané HTML plein de scripts et de pistage. Le Markdown reste lisible dans n'importe quel éditeur de texte des décennies plus tard et prend une fraction de l'espace.
- Transformer des docs HTML héritées en Markdown
- L'ancienne documentation écrite en HTML codé à la main est pénible à maintenir. Convertissez-la en Markdown pour l'intégrer dans un flux moderne docs-as-code — où elle peut être analysée par un linter, relue dans des pull requests et rendue par un générateur de site statique.
Détails techniques
- Sortie CommonMark vs GitHub Flavored Markdown
- Le convertisseur peut cibler le CommonMark simple ou, par défaut, le surensemble GitHub Flavored Markdown. CommonMark définit précisément les titres, l'emphase, les listes, les liens, les images, le code et les citations. Le GFM ajoute quatre constructions qui se mappent directement depuis du HTML courant : <table> → table à barres verticales, éléments de liste à cases à cocher → listes de tâches, <del>/<s> → texte barré, et URL nues → liens automatiques. Comme la plupart du contenu web utilise des tables et autres, la sortie GFM est le défaut pratique ; ne choisissez CommonMark que lorsque le moteur de rendu de destination ne comprend pas les extensions GFM, auquel cas les tables retombent en HTML brut.
- Conversion avec perte et irréversible — énoncée clairement
- Le HTML est strictement plus expressif que le Markdown, donc la conversion ne peut pas être sans perte, et il vaut la peine d'être franc à ce sujet. Le Markdown n'a pas de syntaxe pour <div>, <span> ou autres conteneurs génériques ; aucun moyen de porter les noms de classe, id, style inline, colspan/rowspan ou attributs data-* arbitraires ; et aucune représentation pour la plupart des éléments sémantiques ou de mise en page. Ceux-ci sont déballés (contenu conservé, balise abandonnée), écartés (attributs), ou — quand les abandonner ferait perdre du sens — préservés comme HTML inline brut. Un aller-retour HTML → Markdown → HTML ne reproduira pas l'original. C'est un compromis délibéré : le Markdown existe pour être propre, comparable et modifiable par un humain, pas pour refléter le HTML. La plupart des concurrents passent cela sous silence ; l'énoncer vous laisse décider en connaissance de cause si le Markdown est la bonne cible.
- Compromis de style : ATX/Setext, inline/référence, délimité/indenté
- Trois choix de sortie ont de vrais compromis. Les titres ATX (#) couvrent les six niveaux et se recherchent proprement avec grep ; le Setext (souligné) n'existe que pour H1/H2, donc l'outil l'émet pour les deux niveaux supérieurs et retombe sur l'ATX en dessous. Les liens inline gardent l'URL à côté du texte — idéal pour des liens épars ; les liens par référence tirent les URL au pied du document — idéal pour un texte dense en liens et leur réutilisation par étiquette. Pour le code, les blocs délimités (triples barres obliques inverses) portent une chaîne d'information de langage et s'imbriquent en sécurité, tandis que les blocs de code indentés (quatre espaces) ne peuvent pas exprimer de langage et cassent à l'intérieur des listes — donc ce convertisseur émet toujours des blocs délimités à partir de <pre><code>.
Bonnes pratiques
- Formatez le HTML avant de convertir
- Un HTML minifié ou profondément emmêlé — surtout des tables de mise en page imbriquées et des éléments inline parasites — se convertit plus proprement quand il est d'abord bien formé. Passez la source désordonnée par notre Formateur HTML pour l'embellir et la normaliser, puis convertissez. Une entrée propre donne un Markdown propre avec moins de retombées en HTML brut.
- Attendez-vous aux pertes et relisez-les
- Traitez la conversion comme avec perte par conception. Classes, styles inline, enveloppes <div>/<span> et attributs exotiques disparaissent de la sortie, et c'est généralement ce que vous voulez pour du Markdown portable — mais parcourez le résultat pour tout ce qui est sémantiquement important et ne vivait que dans un attribut (un aria-label, une cellule fusionnée par colspan) et rajoutez-le à la main si cela compte.
- Choisissez le style de lien selon la densité du document
- Utilisez les liens inline pour du texte avec un lien par-ci par-là — l'URL reste à côté de son texte et la source se lit naturellement. Passez aux liens par référence quand une section est dense en liens ou réutilise les mêmes URL : les tirer vers une liste numérotée au pied garde les paragraphes lisibles et évite de répéter de longues URL.
- Convertissez en Markdown avant d'envoyer des pages à un LLM
- Quand vous alimentez un modèle avec du contenu web — pour un prompt, un embedding ou un magasin RAG — convertissez d'abord le HTML en Markdown. Vous supprimez balises, scripts et styles qui gaspillent des jetons et ajoutent du bruit, conservez la structure que le modèle utilise réellement, et faites tenir nettement plus de contenu réel dans la fenêtre de contexte.
- Vérifiez les tables complexes après conversion
- Les tables à barres verticales GFM sont plates — pas de tables imbriquées, pas de contenu de bloc dans les cellules, pas de cellules fusionnées. Après avoir converti une table riche en données ou de mise en page, vérifiez le Markdown : les grilles simples se convertissent parfaitement, mais tout ce qui a des colspans ou des blocs imbriqués se dégrade et peut apparaître comme HTML brut. Simplifiez d'abord la table source si une table à barres verticales propre compte.
Questions fréquentes
Comment les liens inline vs référence sont-ils gérés ?
Titres ATX vs Setext — lesquels utiliser ?
Qu'arrive-t-il au HTML que le Markdown ne peut pas représenter, comme <div> et <span> ?
Supprime-t-il les <script> et les styles ?
Comment les tables et listes imbriquées sont-elles gérées ?
La conversion HTML vers Markdown est-elle sans perte ?
Puis-je alimenter un LLM ou ChatGPT avec le Markdown ?
Mes fichiers sont-ils envoyés à un serveur ?
Fonctionne-t-il hors ligne ?
Puis-je reconvertir du Markdown en HTML ?
Outils connexes
Voir tous les outils →Décodeur et Encodeur Base64
Encodage et formatage
Décodez et encodez en Base64 en ligne gratuitement. Conversion en temps réel, support UTF-8 et émojis. 100 % privé, dans votre navigateur.
Convertisseur Base64 en Image
Encodage et formatage
Décodez une chaîne Base64 ou un URI de données en image dans votre navigateur. Aperçu, dimensions et MIME, puis téléchargement en PNG, JPG, GIF, SVG. Sans envoi.
Convertisseur CSV vers JSON
Encodage et formatage
Convertissez du CSV en JSON dans le navigateur. RFC 4180, inférence de types, ligne d'en-tête, sûr pour grands entiers. 100 % privé, sans envoi.
Convertisseur d'Image en Base64
Encodage et formatage
Convertissez des images en URI de données Base64 dans votre navigateur — PNG, JPG, GIF, WebP, SVG, ICO. Copiez la sortie HTML, CSS, Markdown et JSON. 100 % privé.
JSON Diff (Comparateur)
Encodage et formatage
Comparez deux fichiers JSON instantanément dans votre navigateur. Vue côte à côte, sortie JSON Patch RFC 6902, ignorer les champs bruyants comme les horodatages et les ID. 100% privé, aucun envoi.
Formateur et Validateur JSON
Encodage et formatage
Formatez, validez et embellissez vos JSON dans le navigateur. Validation syntaxique, détection d'erreurs, minification et copie en un clic. 100 % privé.