Convertisseur CSV en JSON
Cet outil transforme un fichier CSV — l’export classique d’un tableur ou d’un logiciel de gestion — en JSON structuré, le format qu’attendent la plupart des API et des scripts. Chaque ligne devient un objet, chaque colonne une clé. Utile au développeur comme à la personne qui doit alimenter une application à partir d’un export.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Ce que fait la conversion, concrètement
La première ligne du CSV sert d’en-têtes : elle donne les noms des clés. Chaque ligne suivante devient un objet JSON, avec une paire clé-valeur par colonne. Les guillemets, les valeurs vides et les cellules contenant une virgule à l’intérieur sont respectés. Vous obtenez un tableau d’objets exploitable immédiatement, sans avoir à réécrire quoi que ce soit à la main.
Le point-virgule, piège du CSV français
Un tableur configuré en français exporte souvent avec le point-virgule comme séparateur, parce que la virgule sert déjà de séparateur décimal. L’outil reconnaît le séparateur utilisé et s’adapte, que ce soit la virgule, le point-virgule ou la tabulation. Vous n’avez pas à convertir votre fichier au préalable ni à deviner quel réglage votre logiciel a choisi.
Tout se passe sur votre poste
La conversion s’exécute dans votre navigateur, sur cette page. Le fichier n’est envoyé sur aucun serveur : il est lu et transformé localement, puis le résultat s’affiche. C’est un argument sérieux quand le CSV contient une liste de clients ou des adresses e-mail, car aucune donnée personnelle ne circule et rien n’est conservé une fois l’onglet fermé.
Automatiser via un autre canal
L’outil vit d’abord sur cette page, mais la même conversion existe aussi en appel programmable pour ceux qui traitent des exports en série ou branchent un flux automatique. Chaque conversion revient alors à $0.002, sans abonnement. Pour un fichier ponctuel, le mode navigateur gratuit suffit largement.
Cas d’usage
Alimenter une application
Studio Lumen SAS exporte sa liste de prospects depuis un CRM en CSV et veut l’injecter dans un petit script interne. Le JSON obtenu se lit directement, sans étape intermédiaire.
Rendre un export lisible par du code
Julien Lefèvre reçoit un CSV du logiciel de caisse d’une boutique. En JSON, chaque vente devient un objet propre, prêt à être parcouru dans une boucle.
Préparer un jeu de test
Camille Moreau transforme un tableau de 200 articles en JSON pour peupler une maquette d’application, sans saisir les données une à une.
Questions fréquentes
Le point-virgule est-il accepté comme séparateur ?
Oui. L’outil détecte automatiquement le séparateur, y compris le point-virgule des exports en français, la virgule et la tabulation. Vous n’avez rien à régler.
Les nombres écrits à la française sont-ils gérés ?
Une valeur comme 1 234,56 est conservée telle qu’elle apparaît dans la cellule. Si vous voulez un nombre JSON strict, remplacez la virgule décimale par un point avant la conversion.
Mes données sont-elles envoyées quelque part ?
Non. Le fichier reste dans votre navigateur, la conversion est locale et rien n’est transmis ni stocké sur nos serveurs.
Est-ce vraiment gratuit ?
Oui, sans limite, dans le navigateur. Le seul cas payant est l’usage programmable pour automatiser des conversions, facturé $0.002 par requête.
Y a-t-il une taille maximale de fichier ?
La limite est de 25 Mo par fichier, ce qui couvre la très grande majorité des exports courants.
Faut-il créer un compte ?
Non. Il n’y a pas d’inscription : vous déposez le fichier et vous récupérez le JSON.
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/csv-to-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"csv":"nombre,edad\\nAna,30\\nLuis,25"}'const res = await fetch("https://api.kit.forhosting.com/data/csv-to-json", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"csv": "nombre,edad\\nAna,30\\nLuis,25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/csv-to-json",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"csv": "nombre,edad\\nAna,30\\nLuis,25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/csv-to-json", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"csv":"nombre,edad\\nAna,30\\nLuis,25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"csv":"nombre,edad\\nAna,30\\nLuis,25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/csv-to-json", 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
{
"csv": "nombre,edad\\nAna,30\\nLuis,25"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.csv_to_json",
"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. |