Convertir un fichier en UTF-8
Cet outil convertit un fichier texte ou CSV vers l’encodage UTF-8, celui qui affiche correctement les accents et les caractères spéciaux. Il répare les exports où « é » est devenu « é » et « à » une suite de symboles, un défaut courant des logiciels anciens ou des fichiers passés d’un système à l’autre.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Pourquoi vos accents se transforment en symboles
Quand un fichier est enregistré dans un encodage et rouvert 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. La conversion vers UTF-8 rétablit un affichage correct partout, dans le tableur comme dans l’outil de destination, 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. L’outil détecte l’encodage d’origine et réécrit le fichier en UTF-8, le standard universel d’aujourd’hui, pour que les noms, adresses et libellés s’affichent proprement dans l’outil de destination, y compris les caractères moins courants comme le « ç », le « œ » ou les lettres accentuées en majuscule.
Aucun envoi de fichier
La conversion s’effectue dans votre navigateur ; le contenu n’est pas transmis à un serveur ni conservé après l’opération. C’est appréciable quand le fichier réunit des noms, des adresses ou des e-mails de clients. Aucun compte n’est demandé pour s’en servir, et les fichiers jusqu’à 25 Mo sont pris en charge, ce qui suffit pour corriger d’un seul coup la plupart des exports concernés.
Cas d’usage
Réparer un vieil export
Camille Moreau récupère un fichier d’un ancien logiciel de gestion et le convertit en UTF-8 pour que les accents redeviennent lisibles.
Corriger une liste clients
Atelier Garnier SARL réencode un CSV où les noms de clients apparaissaient en symboles, avant de l’importer dans son outil d’envoi.
Respecter une exigence d’import
Sophie Nguyen convertit un fichier en UTF-8 parce que la plateforme d’arrivée refuse tout autre encodage.
Questions fréquentes
Pourquoi mes accents sont-ils illisibles ?
Parce que le fichier a été enregistré dans un encodage puis lu dans un autre. Le convertir en UTF-8 rétablit l’affichage correct des accents.
Quels encodages d’origine sont pris en charge ?
Les encodages courants comme Latin-1 et les variantes Windows, fréquents dans les exports d’anciens logiciels.
Mon fichier est-il transmis à un serveur ?
Non, la conversion a lieu dans votre navigateur ; rien ne circule.
La conversion en UTF-8 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.
Quelle taille de fichier est acceptée ?
Les fichiers vont jusqu’à 25 Mo.
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 '{"input":"…"}'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({
"input": "…"
})
});
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={
"input": "…"
},
)
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" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
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
{
"input": "…"
}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. |