Convertir un fichier en UTF-8
Cet outil répare le texte que vous collez quand « é » est devenu « é » et « à » une suite de symboles : c’était de l’UTF-8 lu comme du Latin-1 ou du Windows-1252.
Lancer gratuitement
Il inverse cette corruption précise et vous rend le texte en UTF-8, l’encodage qui affiche correctement accents et caractères spéciaux — un défaut courant des logiciels anciens ou des fichiers passés d’un système à l’autre.
Pourquoi vos accents se transforment en symboles
Quand un texte est enregistré dans un encodage et relu dans un autre, les caractères accentués se brouillent : « Benali » reste lisible, mais « François » devient « François ». Ce problème, très visible en français à cause des accents, vient d’un décalage entre l’encodage d’origine et celui attendu — le plus souvent de l’UTF-8 lu comme du Latin-1. Coller le texte ici rétablit un affichage correct, sans que vous ayez à retaper le moindre accent.
De Latin-1 (Windows) à UTF-8
Beaucoup d’exports de vieux logiciels de gestion sortent en Latin-1 ou en encodage Windows, encore compris par certains tableurs mais source de charabia ailleurs. Quand ce texte est ensuite lu comme de l’UTF-8, ou l’inverse, il se brouille — et c’est ce cas précis que l’outil inverse, pour que les noms, adresses et libellés reviennent propres, y compris les caractères moins courants comme le « ç », le « œ » ou les lettres accentuées en majuscule. Ce n’est pas un convertisseur d’encodages général.
Aucun envoi de texte
La réparation s’effectue dans votre navigateur ; le texte collé n’est pas transmis à un serveur ni conservé après l’opération. C’est appréciable quand il réunit des noms, des adresses ou des e-mails de clients. Aucun compte n’est demandé pour s’en servir : vous collez le texte concerné et récupérez la version corrigée, sans limite d’usage.
Cas d’usage
Réparer un vieil export
Camille Moreau colle le texte d’un ancien logiciel de gestion où les accents sont devenus des « é » ; l’outil les rétablit d’un coup, sans ressaisie.
Corriger une liste clients
Atelier Garnier SARL colle les lignes d’un CSV où les noms de clients apparaissaient en « Ã » suivi de symboles, avant de les réimporter dans son outil d’envoi.
Respecter une exigence d’import
Sophie Nguyen colle un texte affiché en « é » et le récupère en UTF-8 propre, l’encodage exigé par la plateforme d’arrivée.
Questions fréquentes
Pourquoi mes accents sont-ils illisibles ?
Parce que le texte a été enregistré dans un encodage puis lu dans un autre, en général de l’UTF-8 lu comme du Latin-1. Inverser cette corruption rétablit l’affichage correct des accents en UTF-8.
Quel type de corruption est pris en charge ?
Le cas Latin-1/Windows-1252 : de l’UTF-8 lu comme du Latin-1, qui affiche des « é » ou « è ». Ce n’est pas un convertisseur d’encodages général : il ne traite ni le Shift-JIS, ni le GBK, ni l’UTF-16, et ne récupère pas des caractères déjà remplacés par des points d’interrogation.
Mon texte est-il transmis à un serveur ?
Non, dans le navigateur : la réparation a lieu localement, rien ne circule.
La réparation est-elle gratuite ?
Oui. Elle est gratuite et sans limite dans le navigateur ; seul l’usage programmable, pour l’automatiser, est facturé $0.002 la requête.
Faut-il téléverser un fichier ?
Non : vous collez le texte concerné (un extrait d’un fichier convient). L’outil travaille sur le texte, pas sur un fichier téléversé.
Faut-il s’inscrire ?
Non, l’outil s’utilise sans compte ni 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/to-utf8 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"café"}'const res = await fetch("https://api.kit.forhosting.com/data/to-utf8", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "café"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/to-utf8",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "café"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/to-utf8", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"café"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"café"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/to-utf8", 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
{
"text": "café"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.to_utf8",
"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. |