Extraire le texte d’un HTML
Cet outil retire toutes les balises d’un code HTML pour n’en garder que le texte lisible, sans mise en forme. Utile pour récupérer le contenu d’une page ou d’un e-mail au format HTML afin de le coller ailleurs, l’analyser ou le compter en mots, sans traîner les balises et le code de présentation.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Le texte, rien que le texte
Contrairement à une conversion en Markdown qui conserve la structure, cette extraction ne garde que les mots. Titres, paragraphes et liens perdent leur balisage pour ne laisser que le texte brut, prêt à être collé dans un document, un e-mail simple ou un outil d’analyse. C’est la sortie la plus dépouillée possible d’un contenu HTML, idéale quand seul le fond vous intéresse.
Récupérer le contenu d’un e-mail HTML
Les e-mails et les pages web arrivent souvent bardés de balises et de styles. Pour en tirer juste le message — le relire, l’archiver, le compter en mots ou le passer à un autre outil — l’extraction en texte brut évite de nettoyer le code à la main. Vous obtenez un contenu propre, sans la couche de présentation ni les artefacts de mise en page qui gênent la relecture.
Extraction locale, sans envoi
Le traitement s’effectue dans votre navigateur ; le HTML fourni n’est pas transmis à un serveur ni conservé après l’extraction. C’est appréciable pour un e-mail, un message client ou un contenu confidentiel que vous ne voulez pas voir circuler. Aucun compte n’est requis, et les contenus jusqu’à 25 Mo sont acceptés, largement assez pour une page web complète ou un long e-mail au format HTML.
Cas d’usage
Relire une newsletter
Sophie Nguyen extrait le texte d’une newsletter reçue en HTML pour la relire au calme, sans la mise en forme.
Compter les mots d’une page
Nadia Benali récupère le texte brut d’une page afin d’en compter les mots avant réutilisation.
Archiver le message d’un e-mail
Studio Lumen SAS conserve le seul contenu texte d’un e-mail HTML pour son archivage.
Questions fréquentes
La mise en forme est-elle conservée ?
Non, c’est le principe : l’outil ne renvoie que le texte brut, sans balises ni styles. Pour garder la structure, une conversion en Markdown convient mieux.
Puis-je coller directement du code HTML ?
Oui, vous pouvez coller un fragment de HTML ou fournir un fichier ; l’outil en extrait le texte.
Le contenu est-il transmis à un serveur ?
Non, l’extraction a lieu dans votre navigateur ; rien ne circule.
Quel est le coût de cette extraction ?
Elle est gratuite dans le navigateur ; l’usage programmable coûte $0.002 la requête.
Quelle taille de contenu est acceptée ?
25 Mo au maximum.
Un compte est-il nécessaire ?
Non, l’outil fonctionne sans inscription.
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-to-text \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/html-to-text", {
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-to-text",
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-to-text", 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-to-text", 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_to_text",
"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. |