Nettoyer du HTML
Cet outil assainit un fragment de HTML en supprimant ce qui peut poser problème : balises de script, gestionnaires d’événements, liens douteux et attributs dangereux. Pensé pour qui publie du contenu venu de l’extérieur — commentaire, champ libre, texte importé — et veut éviter d’injecter du code indésirable dans sa page.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Ce que le nettoyage retire
L’outil écarte les éléments qui n’ont rien à faire dans un contenu affiché : balises de script, attributs déclenchant du code au survol ou au clic, liens pointant vers des adresses suspectes, styles capables de masquer un piège. Il conserve la mise en forme légitime — titres, paragraphes, liens sains, listes — pour que le texte reste présentable tout en devenant sûr à afficher.
Publier du contenu extérieur sans risque
Dès qu’une page affiche un texte saisi par quelqu’un d’autre — commentaire, avis, message d’un formulaire — le HTML reçu peut cacher du code malveillant. Le nettoyage neutralise ces tentatives avant l’affichage, ce qui protège vos visiteurs. C’est une précaution de base pour tout site qui laisse s’exprimer des contributeurs ou importe du contenu d’une autre source, où le HTML échappe à votre contrôle.
Traitement dans votre navigateur
L’assainissement s’exécute sur votre appareil ; le HTML fourni n’est pas transmis à un serveur ni conservé après le nettoyage. C’est cohérent avec l’objectif : renforcer la sécurité sans exposer davantage le contenu que vous traitez. Aucun compte n’est nécessaire, et les contenus jusqu’à 25 Mo sont pris en charge, largement de quoi traiter aussi bien un court fragment de commentaire qu’une page entière.
Cas d’usage
Afficher un commentaire en toute sécurité
Studio Lumen SAS assainit le HTML d’un commentaire avant de l’afficher sur le site, pour écarter tout script glissé dedans.
Publier un texte importé
Julien Lefèvre nettoie un contenu importé d’une autre source avant de le mettre en ligne.
Sécuriser un champ libre
Élodie Garnier fait passer par le nettoyage le contenu d’un champ libre de formulaire avant de l’enregistrer.
Questions fréquentes
Quelles balises sont supprimées ?
Les balises de script, les gestionnaires d’événements, les attributs dangereux et les liens douteux ; la mise en forme légitime est conservée.
Cela protège-t-il contre l’injection de code ?
Le nettoyage neutralise les tentatives d’injection de code par le HTML affiché, une protection de base pour tout contenu venu de l’extérieur.
Le HTML fourni est-il envoyé ailleurs ?
Non, l’assainissement se déroule dans votre navigateur ; rien n’est transmis.
Le nettoyage est-il gratuit ?
Oui, sans limite dans le navigateur. L’usage programmable, pour l’intégrer à un flux, revient à $0.002 la requête.
Quelle taille de contenu puis-je nettoyer ?
Jusqu’à 25 Mo de HTML.
L’inscription est-elle obligatoire ?
Non, aucun compte n’est nécessaire.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/data/html-sanitize \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/html-sanitize", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/html-sanitize",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/html-sanitize", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/html-sanitize", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.html_sanitize",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |