Nettoyeur et assainisseur HTML
Collez du HTML, choisissez une politique et appuyez sur le bouton. Vous obtenez le balisage nettoyé plus un rapport détaillé de chaque balise et attribut écarté — et vous pouvez annuler n’importe quelle décision sans rien recoller.
Comment ça marche
Amenez le HTML
Collez-le, déposez un fichier .html ou arrivez depuis un autre outil. Il attend : ouvrir un fichier ne lance jamais le nettoyage.
Choisissez la politique
Quatre préréglages couvrent les cas courants. Ouvrez le panneau manuel pour modifier vous-même la liste des balises, celle des attributs et les schémas d’URL acceptés.
Lancez
Une seule passe construit l’arbre nettoyé et enregistre chaque décision au passage. Un mégaoctet de balisage prend quelques millisecondes.
Relisez et annulez
Le rapport liste ce qui est parti et pourquoi. Si une ligne vous déplaît, appuyez sur Garder : la passe recommence avec cette seule exception.
Ce qu’il fait
Vraie politique de liste blanche
Balises, attributs et schémas d’URL sont des listes distinctes que vous contrôlez. Bloquer une balise en laissant ses attributs intacts n’est pas assainir.
Rapport de suppressions détaillé
Chaque élément et attribut écarté est regroupé avec son compte, un échantillon de ce qu’il contenait et la raison de son départ.
Annulez n’importe quelle décision
Appuyez sur Garder sur une ligne et l’assainissement recommence en autorisant exactement cette chose. Votre texte d’origine n’est jamais modifié.
Les schémas d’URL sont vérifiés
javascript:, data:text/html et vbscript: dans href, src, formaction, srcset ou xlink:href sont attrapés, y compris les ruses par espaces et entités.
Aperçu en bac à sable
Le résultat s’affiche dans une iframe au sandbox vide et sans référent, donc rien à l’intérieur ne peut s’exécuter, se soumettre ou naviguer.
Formaté, minifié ou tel quel
Re-sérialisez le même arbre nettoyé de trois façons. Les espaces à l’intérieur de <pre> sont préservés même quand le reste est réindenté.
Passe la main à l’outil suivant
Envoyez le résultat directement à DiffSnap, CodeCard, WordFlow, Base64Bolt ou ZipFlow sans aller-retour par les téléchargements.
Rien ne sort de l’onglet
L’assainisseur est une bibliothèque JavaScript empaquetée avec la page. Aucun envoi, aucun appel d’API, aucune requête CDN à aucun moment.
Un assainisseur qui montre son travail
La plupart des nettoyeurs HTML en ligne vous rendent une chaîne et attendent que vous leur fassiez confiance. Celui-ci conserve le journal des décisions : quelle balise a été écartée, quel attribut retiré, quelle URL a échoué au contrôle de schéma — et vous laisse annuler n’importe laquelle en un clic, parce que la sortie nettoyée est régénérée à partir de votre politique au lieu d’être rafistolée après coup.
100% privé et sécurisé
Aucun envoi, aucune clé d’API, aucun suivi de ce que vous collez. La bibliothèque est empaquetée avec la page, donc rien n’est non plus récupéré depuis un CDN. Votre HTML reste dans la mémoire de l’onglet et disparaît à sa fermeture.
Quand vous en avez besoin
Nettoyer ce qu’a produit un éditeur de texte riche avant de le stocker. Retirer les scories de Word et Google Docs d’un collage dans le CMS. Rendre sûr un balisage tiers avant de l’afficher. Extraire du texte lisible d’une page enregistrée. Vérifier si le balisage auquel vous allez faire confiance contient quoi que ce soit d’exécutable — l’exemple de charges connues est là pour que vous voyiez la réponse au lieu de la supposer.
L’analyse et les décisions de sécurité viennent de DOMPurify, la bibliothèque que citent les équipes de sécurité des navigateurs elles-mêmes, plutôt que d’une passe écrite à la main sur querySelectorAll. Elle est utilisée via son API de hooks et on lui demande le DOM intermédiaire plutôt qu’une chaîne finie, ce qui rend possibles le rapport de suppressions et les exceptions au cas par cas. Elle gère le XSS par mutation, la confusion d’espaces de noms et les ruses d’URL qu’un nettoyeur naïf laisse passer.
Questions fréquentes
QPourquoi rien ne se passe quand je colle ?+
C’est voulu. Coller ou ouvrir un fichier ne fait que charger le HTML ; l’assainissement démarre quand vous appuyez sur Assainir. Vous choisissez ainsi la politique d’abord au lieu de regarder l’outil deviner, et un gros document n’est jamais analysé à chaque frappe.
QQue permet vraiment le rapport de suppressions ?+
Chaque ligne est une décision réversible. Appuyer sur Garder ajoute cette seule exception et relance toute la passe — autoriser à nouveau une <iframe> ne laisse donc pas aussi passer son attribut onload. Votre texte d’entrée n’est jamais réécrit, et c’est pourquoi annuler et rétablir restent bon marché.
QMettre les balises en liste blanche suffit-il à rendre la sortie sûre ?+
Non, et c’est l’erreur de la plupart des nettoyeurs qui ne regardent que les balises. Une balise <a> de n’importe quelle liste blanche peut toujours porter href="javascript:…", donc ici les attributs et les schémas d’URL sont vérifiés séparément. Bloquer une balise en laissant ses attributs intacts n’est pas assainir.
QQuels schémas d’URL passent ?+
Uniquement ceux que vous cochez. Tout le reste est écarté de href, src, srcset, action, formaction, poster, cite et xlink:href, y compris les valeurs cachées derrière des tabulations, des sauts de ligne ou des entités HTML. data: est limité aux images matricielles : une URL de données SVG exécute son propre script à l’ouverture directe, elle n’est donc jamais autorisée.
QL’aperçu est-il sûr ?+
Oui. Il s’affiche dans une iframe dont l’attribut sandbox vaut la chaîne vide, ce qui bloque scripts, formulaires, fenêtres surgissantes et navigation, avec en plus une politique sans référent pour qu’aucune image survivante ne puisse révéler d’où vous venez.
QMon HTML est-il envoyé quelque part ?+
Non. L’assainisseur est du JavaScript empaqueté avec cette page et s’exécute dans votre onglet. Aucun envoi, aucun appel d’API, aucune requête CDN — vérifiable avec l’onglet réseau ouvert.
QQuelle taille de document supporte-t-il ?+
L’analyse est à peu près linéaire, donc quelques mégaoctets de balisage finissent bien en dessous de la seconde sur un portable ordinaire ; la durée mesurée s’affiche après chaque exécution. La coloration syntaxique du panneau de sortie se coupe au-delà de 200 Ko, car à cette taille elle coûte plus qu’elle n’apporte.