Convertir du HTML en Markdown — HTML de page web ou d'e-mail pour un README
Collez du HTML de page web, d'e-mail ou d'un document exporté et obtenez du Markdown : tableaux GFM, listes de tâches à cases, blocs de code avec langage, listes imbriquées et citations. Les styles et classes inline sont supprimés, les URL d'images conservées, script et style disparaissent, le HTML sale est corrigé, et rien n'est récupéré ni téléversé.
Ce que cette conversion HTML vers Markdown garde — et ce qu'elle jette
Tableaux GFM, listes de tâches et langages de code survivent
<table> devient un tableau à barres, les cases dans <li> deviennent - [x] / - [ ], et <code class="language-js"> garde son langage sous forme de bloc ```js. Une case hors élément de liste ne donne que le texte échappé \[x].
Styles et classes supprimés, URL d'images conservées
style, class, id et autres attributs de présentation ne sont pas repris, seule la structure et la sémantique restent. <img> devient  avec l'URL distante d'origine ; rien n'est téléchargé ni réhébergé.
Script, style et intégrations sont retirés
<script> et <style> disparaissent avec leur contenu, <iframe> se réduit à un lien vide []() et <video> est supprimé. Les commentaires HTML survivent en <!-- --> dans le Markdown.
Listes imbriquées et citations conservées
Les <ul>/<ol> imbriqués gardent leur hiérarchie avec deux espaces d'indentation, les <blockquote> imbriqués deviennent > >, et une étape dédiée retire les <p> dans les <li> pour éviter des lignes vides.
Le HTML sale passe, tout reste local
parse5 corrige automatiquement les balises non fermées, donc un fragment ou un document <html> complet se colle sans nettoyage préalable ; les éléments head comme <title> sont ignorés. Aucun accès URL, aucun téléversement, aucun serveur — le résultat s'affiche dans une zone de texte en lecture seule à copier.
FAQ sur la conversion HTML vers Markdown
Quelle bibliothèque de conversion est utilisée ?
Une pipeline unified 11 : rehype-parse 9 (parse5) analyse le HTML, un petit visiteur maison retire les <p> dans les <li>, rehype-remark 10 (hast-util-to-mdast) produit l'arbre Markdown, et remark-stringify 11 avec remark-gfm 4 le sérialise.
Tableaux, listes de tâches et langages de code sont-ils restaurés ?
Oui pour les tableaux (tableaux à barres avec séparateur d'en-tête), les listes de tâches (les cases dans <li> deviennent - [x] / - [ ]) et le langage de code (class="language-js" devient un bloc ```js). Une case hors élément de liste ressort en texte échappé \[x].
Que deviennent les styles inline, les classes et les images ?
style, class et autres attributs de présentation sont supprimés ; seule la structure et la sémantique restent. Les images gardent leur URL d'origine sous la forme , sans téléchargement ni réhébergement ; un lien protégé ne s'affichera plus plus tard.
Les contenus script, style et iframe sont-ils retirés ?
<script> et <style> sont retirés avec leur contenu. <iframe> devient un lien vide []() et <video> disparaît. Les commentaires HTML ne sont pas supprimés — ils restent en <!-- --> dans le Markdown, ce qui peut être indésirable dans un README.
Les listes imbriquées et les citations sont-elles gérées ?
Oui. Les listes imbriquées gardent leur niveau avec deux espaces, les citations imbriquées deviennent > >, et les balises <p> dans les éléments de liste sont retirées par un plugin maison pour éviter des lignes vides.
Faut-il nettoyer le HTML avant ?
Non. parse5 corrige les balises non fermées et les fragments isolés, et un fragment comme un document <html> complet sont acceptés ; les éléments head comme <title> sont ignorés. La sortie peut être normalisée, relisez-la avant de la committer.
Peut-il récupérer une URL, et quelque chose est-il téléversé ?
Aucun accès URL, aucun téléversement. La page tourne entièrement dans le navigateur ; collez du HTML (ou utilisez le raccourci de collage, qui lit text/html dans le presse-papiers) et lisez le Markdown dans une zone en lecture seule. Coller du texte brut retombe sur les données text/plain.

