Blog
CSV, JSON ou YAML : Choisir le Bon Format de Données
CSV, JSON et YAML ne se remplacent pas les uns les autres — chacun a été conçu pour un usage précis. Voici comment choisir, et comment convertir entre les trois.
CSV, JSON et YAML sont tous les trois des formats de données texte, lisibles, largement supportés — et pourtant, ils ne se remplacent pas les uns les autres. Chacun a été conçu pour un usage précis, et le choisir mal complique inutilement ce qui suit.
CSV : des lignes et des colonnes, rien de plus
Le CSV (Comma-Separated Values) représente des données strictement tabulaires — des lignes, des colonnes, pas de hiérarchie. Chaque ligne du fichier est un enregistrement, chaque virgule sépare une valeur.
C'est le bon choix pour :
- Exporter ou importer des données dans un tableur (Excel, Google Sheets)
- Des données plates, sans imbrication — une liste de clients, de transactions, de produits
- Des fichiers volumineux qu'on veut garder simples à traiter ligne par ligne
Sa limite est aussi sa force : impossible de représenter une structure imbriquée (un client avec plusieurs adresses, par exemple) sans dupliquer des lignes ou sortir du format.
JSON : structuré, imbriqué, natif du web
JSON (JavaScript Object Notation) représente des objets et des tableaux imbriqués — exactement ce que CSV ne peut pas faire. C'est le format d'échange par défaut de la quasi-totalité des API web.
C'est le bon choix pour :
- Des données avec une vraie hiérarchie (un objet avec des sous-objets, des listes de listes)
- Échanger des données avec une API ou une application JavaScript
- Tout ce qui doit être lu et écrit par du code, plus que par un humain
YAML : lisible d'abord, pensé pour la configuration
YAML reprend l'essentiel de ce que fait JSON — objets, listes, imbrication — mais avec une syntaxe basée sur l'indentation plutôt que sur les accolades, et surtout, avec la possibilité d'ajouter des commentaires. C'est ce qui en fait le format de prédilection pour les fichiers de configuration (CI/CD, Docker Compose, Kubernetes).
C'est le bon choix pour :
- Des fichiers de configuration destinés à être modifiés à la main
- Tout contexte où des commentaires explicatifs sont utiles (JSON n'en supporte pas)
- Une structure imbriquée qui doit rester lisible sans outil pour la formater
Comparatif rapide
| Besoin | Format |
|---|---|
| Données tabulaires, compatibles tableur | CSV |
| Échange de données avec une API | JSON |
| Fichier de configuration lisible, avec commentaires | YAML |
| Structure imbriquée destinée à du code | JSON |
Convertir entre les trois
Il est rare de choisir un format une fois pour toutes — un export CSV doit parfois devenir du JSON pour une API, ou un fichier JSON doit être reformaté en YAML pour un pipeline CI. Le convertisseur de données de ByteRivet passe de l'un à l'autre directement dans le navigateur, sans envoyer le fichier sur un serveur.
