Convertir du HTML en Markdown : faire d'une page enregistrée quelque chose qui mérite d'être lu
Ouvrez dans un éditeur de texte n'importe quel fichier .html enregistré depuis le web : la
première chose qui frappe, c'est la faible part qu'y occupe l'article. Quinze cents lignes de menus de
navigation, de bandeaux de cookies, de pixels de tracking, de blocs <style> en ligne et
de <div class="wrapper-outer-container"> imbriqués sur six niveaux — enroulées autour de
quarante paragraphes de véritable rédaction, à tout casser. Collez ça dans un assistant conversationnel et
vous brûlerez l'essentiel de votre fenêtre de contexte en balisage qui ne dit rien au modèle.
Convertir le HTML en Markdown inverse ce rapport. Les balises porteuses de sens sont traduites ; celles qui ne portent que de la mise en page sont jetées. Ce qui sort est un document qui a la même forme que la page d'origine — titres, listes, tableaux, liens, blocs de code — en gros dix fois moins de caractères. Envoyez un fichier ci-dessus et vous l'avez en deux secondes. Gratuit, sans inscription, rien n'est stocké.
Comment les balises HTML se traduisent en Markdown
Markdown a été conçu comme une sténographie pour un sous-ensemble de HTML, si bien que l'essentiel de la traduction est quasiment du un-pour-un. Connaître la correspondance vous dit exactement quoi attendre en sortie :
<h1>à<h6>deviennent#à######. La profondeur des titres est préservée littéralement, ce qui compte plus qu'il n'y paraît — un modèle à qui l'on demande de résumer section par section doit savoir quels titres sont au même niveau.<ul>,<ol>et les<li>imbriqués deviennent des listes à tirets et à numéros, l'indentation portant l'imbrication.<table>devient un tableau à barres verticales, à condition qu'il s'agisse d'un vrai tableau de données. Les tableaux utilisés purement pour la mise en page — encore fréquents dans le HTML des e-mails et les vieux sites — se convertissent en quelque chose de structurellement valide mais sémantiquement inutile.<a href>devient[texte](url), si bien que les destinations survivent au lieu de vous laisser avec des textes d'ancre orphelins.<code>et<pre>deviennent des accents graves et des blocs délimités. C'est de loin la première raison pour laquelle les développeurs convertissent des pages de docs de cette façon — les extraits de code restent des extraits de code.<strong>,<em>,<blockquote>passent à leurs équivalents évidents.<script>,<style>,<meta>, les attributsstyle=en ligne, les noms de classes, les attributs data — tout est jeté. Rien de tout ça ne survit, et rien de tout ça ne le mérite.
Une page enregistrée n'est pas du HTML propre
Il y a une vraie différence entre un fichier HTML écrit par une personne et un fichier HTML recraché par un navigateur, et elle se voit immédiatement en sortie.
Le HTML écrit à la main — un export de site statique, un build de documentation, un modèle d'e-mail, un rapport généré par un outil de reporting — est en général soigné et sémantique. Les titres sont des titres. Les paragraphes sont des paragraphes. Ces fichiers se convertissent presque parfaitement.
Une page enregistrée avec Ctrl+S depuis un site moderne est un autre animal. Vous récupérez le DOM post-JavaScript, avec l'en-tête flottant, la colonne d'articles liés, trois invites d'abonnement à la newsletter et un plan de site de quatre-vingts liens en pied de page. Tout cela est du HTML légitime, donc tout cela se convertit. La sortie est correcte — elle contient simplement le mobilier de la page. Deux habitudes aident : passez par le mode lecture de votre navigateur et enregistrez depuis là, ou convertissez d'abord et supprimez le haut et le bas du Markdown avant de vous en servir. Parcourir et élaguer prend moins d'une minute et améliore sensiblement tout ce que vous ferez ensuite.
Quand le fichier se convertit en presque rien
De temps en temps, vous convertirez une page enregistrée et récupérerez un titre et deux lignes. Ce n'est pas une défaillance du convertisseur — c'est une application monopage.
Les sites construits avec React, Vue, Angular et consorts livrent souvent une coquille HTML réellement
vide : un <div id="root"></div> et une balise de script. Le contenu que vous avez
vu dans le navigateur a été assemblé par JavaScript à l'exécution et n'a jamais existé dans le fichier.
Selon la façon dont vous avez enregistré, vous avez peut-être capturé la coquille plutôt que le rendu.
Ouvrez le fichier dans un éditeur de texte et cherchez une phrase dont vous vous souvenez — si elle n'y est
pas, le convertisseur ne peut pas l'inventer.
Le remède : enregistrer le DOM rendu (dans les DevTools de Chrome, clic droit sur le nœud
<html> et copie du HTML externe dans un nouveau fichier), ou laisser tomber le fichier
et passer par Web2Txt, qui prend une
URL en ligne, charge la page correctement et renvoie du Markdown. La distinction mérite d'être retenue :
cette page convertit un fichier HTML que vous avez déjà, tandis que Web2Txt va chercher une page
que vous n'avez pas.
Le problème des liens relatifs
Celui-là surprend. Une page qui pointe vers /docs/getting-started ou
../api/reference.html compte sur le navigateur pour savoir de quel domaine et de quel
répertoire elle vient. Une fois le fichier détaché de son serveur, ce contexte a disparu. Le Markdown
converti contiendra fidèlement [Getting Started](/docs/getting-started) — un lien qui ne
pointe désormais nulle part en particulier.
Pour le travail avec des LLM, cela n'a en général aucune importance : ce qui compte, c'est la prose et le
texte des liens, pas la résolution des URL. Mais si vous construisez une documentation destinée à être
publiée, ou une base de connaissances où les renvois doivent fonctionner, vérifiez la sortie et réécrivez
les chemins ou supprimez les liens. Les attributs src des images ont le même problème, et
c'est pour ça que les images d'une page hors ligne arrivent souvent en références cassées.
Markdown ou texte brut pour un fichier HTML ?
Choisissez le Markdown quand la structure de la page fait partie de ce que vous voulez. Une documentation
avec des exemples de code et une hiérarchie de titres. Un tutoriel à étapes numérotées. Un comparatif
construit autour d'un tableau. Une newsletter à sections. Dans tous ces cas, les #, les barres
verticales et les blocs délimités portent une information réelle, et convertir le HTML en Markdown pour un
LLM fait exactement ce que vous attendez.
Choisissez HTML vers texte brut quand vous ne voulez que les mots — constituer un corpus, nourrir un classifieur, indexer pour la recherche, ou alimenter n'importe quelle chaîne où les caractères de syntaxe sont du bruit. Le sélecteur de format en haut de cette page bascule entre les deux en transportant le fichier sélectionné : convertir la même page dans les deux sens et comparer ne vous coûte qu'un seul envoi.
Ce que les gens en font vraiment
- Donner de la doc à un assistant de code. Enregistrez les pages de documentation d'une bibliothèque, convertissez-les en Markdown, et collez-les à côté de votre dépôt GitHub converti en texte. Le modèle voit à la fois la surface de l'API et l'usage que vous en faites, et les blocs de code restent intacts des deux côtés.
- Migrer un site. Les générateurs de sites statiques mangent du Markdown. Convertir les pages HTML héritées est souvent la première passe la plus rapide d'une migration de CMS, même si vous nettoyez ensuite.
- Archiver des articles pour analyse ultérieure. Des fichiers Markdown sont petits, diffables et greppables comme un dossier de HTML enregistré ne le sera jamais.
- Rendre lisibles des modèles d'e-mails. Le HTML marketing est une soupe de tableaux ; la version Markdown, c'est le message lui-même.
- Construire des bibliothèques de prompts. Du matériel de référence en Markdown se glisse directement dans un prompt système ou un index RAG sans traitement supplémentaire.
Le compteur de tokens sous la sortie est le détail pratique ici. Une page de documentation qui paraissait courte dans le navigateur peut se révéler étonnamment lourde une fois tableaux et blocs de code inclus, et connaître le chiffre avant de coller vaut mieux que de l'apprendre par une erreur de troncature.
Questions fréquentes
Comment convertir un fichier HTML en Markdown ?
Envoyez le fichier .html ou .htm ci-dessus et il revient en Markdown, téléchargeable en .md. Gratuit, 50 Mo par fichier, sans compte. Les titres passent en niveaux de #, les listes gardent leur imbrication, les liens conservent leurs URL sous la forme [texte](url), et les blocs de code restent délimités.
Les liens et leurs URL sont-ils conservés ?
Oui — c'est la principale raison de préférer ici le Markdown au texte brut. Chaque ancre se convertit en [libellé](href), donc les destinations survivent. Si vous archivez de la documentation ou auditez vers quoi pointe une page, c'est la différence entre une trace exploitable et une paraphrase.
Puis-je convertir une URL en ligne plutôt qu'un fichier enregistré ?
Pas depuis cette page. Web2Txt prend une URL, récupère la page et renvoie du Markdown en une seule étape. Cette page-ci est pour le HTML que vous avez déjà sur le disque — articles enregistrés, newsletters exportées, rapports générés, ou sortie d'un build local.
Est-ce un moyen raisonnable de migrer un site vers un générateur statique ?
Pour le contenu, oui. Prose, titres, listes, tableaux et blocs de code se convertissent assez proprement pour être commités puis retouchés. Ce que la conversion ne fera pas : reconstruire votre architecture d'information, réécrire les liens internes vers les nouveaux chemins, ou extraire le front matter — ce sont les parties d'une migration qui restent manuelles quel que soit le convertisseur.
Que deviennent les tableaux et les blocs de code ?
Les tableaux deviennent des tableaux à barres verticales et les blocs de code restent délimités, deux choses qui survivent en général bien parce que le HTML source les marquait explicitement. La victime habituelle, c'est la coloration syntaxique exprimée par des classes <span> token par token — le code est correct, mais l'indication de langage qui pilotait les couleurs est souvent irrécupérable ; rajoutez-la à la main si elle compte.
Autres formats et outils
Le HTML est l'un des formats que File2Txt prend en charge — envoyez n'importe quoi et il se débrouille. Si vous savez ce que vous avez, allez directement à PDF vers Markdown, Word vers Markdown, JSON vers Markdown, ou XML vers Markdown. Pour les exports tabulaires, CSV vers Markdown construit des tableaux à barres verticales à partir de données délimitées.
Pour le code, il y a le convertisseur GitHub vers texte, une version GitLab, et un convertisseur de dossier local qui n'envoie jamais rien. Et si c'est l'argument général qui vous intéresse plutôt que le cas du HTML, il y a un article plus long sur la préparation des documents pour les LLM.
Repo2Txt est conçu et maintenu par v12hero, un développeur indépendant qui crée des applications natives et web respectueuses de la vie privée.