Comment exporter les conversations ChatGPT : guide JSON, PDF et Markdown
ChatGPT n'a pas de bouton pour télécharger une conversation individuelle. Ce guide détaille l'export officiel des données et compare extensions de navigateur et convertisseurs JSON pour enregistrer vos chats en JSON, PDF ou Markdown.
1. Peut-on exporter les conversations ChatGPT ?
ChatGPT n’a pas de bouton « télécharger cette conversation », mais sauvegarder ses chats est un besoin très courant — notes d’étude, livrables professionnels, sauvegarde de code, bases de connaissances et backup au niveau du compte pour éviter toute perte.
Le format compte : le PDF convient au partage, le Markdown aux notes et le JSON à l’usage programmatique — que vous analysiez des conversations avec Python ou jq, extrayiez des blocs de code, construisiez des jeux de données pour le fine-tuning ou alimentiez un pipeline RAG, le JSON est le meilleur point de départ.
Cet article compare trois approches pratiques et explique pourqué l’export JSON d’AI Exporter est plus simple à utiliser que le conversations.json officiel d’OpenAI.
2. Réponse rapide : quelle méthode choisir
- Export officiel des données (Paramètres → Contrôles des données → Exporter les données) est le seul backup officiel complet de ChatGPT, mais
conversations.jsonutilise une structure en arbremappingdifficile à analyser et n’est pas prête pour une livraison en PDF ou Word. - Export JSON d’AI Exporter produit un tableau plat de messages où chaque message inclut
role,model,modelId,created_atet descontentsstructurés — idéal pour les scripts, la migration et le développement en aval. - Combinaison recommandée : export officiel pour des backups périodiques complets ; AI Exporter au quotidien pour des conversations individuelles ou sélectionnées en JSON ou PDF / Markdown ; JSON officiel + convertisseur lorsque vous devez transformer des centaines d’anciens chats en documents lisibles en une seule fois.
3. Méthode 1 : export officiel des données ChatGPT (idéal pour un backup complet)
La seule option officielle d’export en masse d’OpenAI.
Quand l’utiliser
- Backups périodiques complets du compte
- Migration vers une autre plateforme IA (p. ex. importer des chats dans Gemini)
- Peu adapté pour : sauvegarder une seule conversation ou livrer immédiatement un document lisible
Étapes
- Ouvrez chatgpt.com et connectez-vous.
- Cliquez sur l’icône de profil (en bas à gauche) → Settings (Paramètres).

- Allez dans Data controls (Contrôles des données).
- Cliquez sur Export data (Exporter les données) → confirmez.

- Attendez l’e-mail d’OpenAI (généralement 20–30 minutes ; les comptes avec beaucoup de conversations peuvent prendre plus longtemps — la documentation officielle indique jusqu’à 24 heures).
- Cliquez sur le lien de téléchargement dans l’e-mail (valable 24 heures — vérifiez aussi les spams).
- Décompressez l’archive et localisez
conversations.json(les exports récents peuvent être découpés enconversations-000.jsonet d’autres fragments).
Ce que vous obtenez
conversations.json— historique complet en structure en arbremappingavec horodatages et infos modèlechat.html— version basique consultable dans le navigateur- Peut inclure images et pièces jointes (images DALL·E, chats temporaires et conversations supprimées peuvent manquer)
Les difficultés du JSON officiel
L’export OpenAI est bien en JSON, mais structuré pour le stockage interne — pas pour un usage direct en script :
mappingen arbre avec pointeurs parent/enfant — il faut parcourir le graphe pour reconstruire l’ordre de la conversation.- Les prompts modifiés créent des branches — un fil peut avoir plusieurs chemins, compliquant l’analyse.
- Texte enfoui dans
content.parts[]— ce n’est pas un simple champ string. - Horodatages Unix en float — p. ex.
1713350400.0, nécessitant une conversion supplémentaire. - Tout ou rien — pas d’export sélectif de messages individuels, pas de téléchargement instantané.
| Points forts | Détails |
|---|---|
| Officiel et fiable | Fourni par OpenAI, sans tiers |
| Vrai export en masse | Toutes les conversations du compte en une fois |
| Métadonnées riches | Horodatages, infos modèle et structure de conversation |
| Sans installation | Depuis les paramètres ChatGPT |
| Limites | Détails |
|---|---|
| Tout ou rien | Impossible de choisir des chats ou des plages de dates |
| Structure complexe | Le JSON en arbre exige un parsing poussé |
| Pas d’options de format | Pas de PDF, Markdown ou Word |
| Livraison lente | De quelques minutes à plusieurs jours |
| Contenu manquant | Chats temporaires, fils supprimés et certains contenus spécifiques à l’IA peuvent être absents |
En bref : l’export officiel est un filet de sécurité, pas un moyen pratique d’obtenir des données structurées à la demande.
4. Méthode 2 : AI Exporter (idéal au quotidien)
Transparence : c’est notre produit. Voici un panorama honnête de ce qu’il peut et ne peut pas faire.
Pourquoi le JSON d’AI Exporter surpasse le conversations.json officiel
| Dimension | conversations.json officiel | JSON AI Exporter |
|---|---|---|
| Structure | mapping en arbre, parsing complexe | Tableau plat de messages, itération directe |
| Portée | Export massif de tout le compte | Chat unique / messages partiels à la demande |
| Vitesse | De minutes à jours | Instantané en un clic |
| Horodatages | Floats Unix | created_at lisible par message |
| Infos modèle | Dispersées dans les métadonnées | model / displayModel / modelId sur chaque message assistant |
| Types de contenu | Retard sur les nouvelles fonctions | Tableau contents préservant plusieurs types structurés |
À quoi ressemble le JSON d’AI Exporter
Le niveau supérieur est un tableau de messages (pas metadata + mapping) :
[
{
"id": "msg_001",
"chatGroupId": "group_abc",
"role": "user",
"model": "chatgpt",
"displayModel": "ChatGPT",
"contents": [
{ "type": "markdown", "content": "How do I read a CSV in Python and filter columns?" }
],
"created_at": "2026-04-15 14:30:45",
"updated_at": 1713175845000
},
{
"id": "msg_002",
"chatGroupId": "group_abc",
"role": "assistant",
"model": "chatgpt",
"displayModel": "ChatGPT",
"modelId": "GPT-4o",
"contents": [
{ "type": "markdown", "content": "You can use pandas:\n\n```python\nimport pandas as pd\ndf = pd.read_csv('data.csv')\n```" },
{ "type": "thinking", "content": "User needs a basic CSV read example..." },
{ "type": "sources", "sources": [{ "title": "pandas documentation", "url": "https://pandas.pydata.org", "domain": "pandas.pydata.org" }] }
],
"created_at": "2026-04-15 14:31:22",
"updated_at": 1713175882000
}
]Un tableau plat sur lequel vous pouvez boucler — sans arbres imbriqués ni pointeurs parent/enfant.
Les champs qui intéressent le plus les utilisateurs
Par message :
| Champ | Description |
|---|---|
role | user (votre message) ou assistant (réponse de l’IA) |
model / displayModel / modelId | Nom de plateforme, nom affiché et version du modèle (p. ex. GPT-4o, Claude Sonnet) |
created_at / updated_at | Heure du message pour tri et statistiques |
chatGroupId | Regroupe un tour user/assistant pour l’appariement |
Tableau contents (contenu structuré — la valeur centrale de l’export JSON) :
| type | Ce qui est préservé |
|---|---|
markdown / text | Texte, blocs de code, formules mathématiques |
thinking | Raisonnement / chaîne de pensée |
sources | Citations de recherche web et Deep Research |
image / attachment | Images et fichiers téléversés |
html_widget | Canvas / artefacts interactifs |
shopping_card / shopping_table | Cartes de recommandation et tableaux comparatifs shopping |
L’export JSON conserve toutes les données structurées indépendamment des réglages d’affichage comme « afficher les horodatages » en PDF ou Markdown.
Comment exporter du JSON avec AI Exporter
- Installez AI Exporter depuis le Chrome Web Store (fonctionne aussi sur Edge et Firefox).
- Ouvrez la conversation ChatGPT à exporter.
- Cliquez sur l’icône de l’extension → choisissez JSON.
- Optionnel : sélectionnez des messages spécifiques pour n’exporter que ce dont vous avez besoin.
- Optionnel : activez « Copier dans le presse-papiers » pour coller le JSON directement dans un script ou un outil API.
Ce que vous pouvez faire avec le JSON exporté
Les exemples ci-dessous utilisent le format JSON d’AI Exporter. Si vous utilisez l’export officiel, extrayez d’abord les messages de l’arbre mapping.
Statistiques rapides de la conversation en Python :
import json
from collections import Counter
with open("ChatGPT-my-conversation.json") as f:
messages = json.load(f)
roles = Counter(msg["role"] for msg in messages)
print(f"Vos questions : {roles.get('user', 0)}")
print(f"Réponses de l'IA : {roles.get('assistant', 0)}")
responses = [m for m in messages if m["role"] == "assistant" and m["contents"]]
longest = max(responses, key=lambda m: len(str(m["contents"])))
print(f"Réponse la plus longue (caractères) : {len(str(longest['contents']))}")Extraire tous les blocs de code :
import json
import re
with open("ChatGPT-my-conversation.json") as f:
messages = json.load(f)
for msg in messages:
if msg["role"] != "assistant":
continue
for item in msg.get("contents", []):
if item.get("type") not in ("markdown", "text"):
continue
blocks = re.findall(r"```(\w+)?\n(.*?)```", item.get("content", ""), re.DOTALL)
for lang, code in blocks:
print(f"--- {lang or 'text'} ---")
print(code)Convertir au format fine-tuning OpenAI (JSONL) :
import json
with open("ChatGPT-my-conversation.json") as f:
messages = json.load(f)
training_data = []
for i in range(0, len(messages) - 1, 2):
user_msg, assistant_msg = messages[i], messages[i + 1]
if user_msg["role"] != "user" or assistant_msg["role"] != "assistant":
continue
user_text = " ".join(c.get("content", "") for c in user_msg.get("contents", []) if c.get("content"))
assistant_text = " ".join(c.get("content", "") for c in assistant_msg.get("contents", []) if c.get("content"))
if user_text and assistant_text:
training_data.append({
"messages": [
{"role": "user", "content": user_text},
{"role": "assistant", "content": assistant_text},
]
})
with open("training.jsonl", "w") as f:
for item in training_data:
f.write(json.dumps(item, ensure_ascii=False) + "\n")
print(f"Généré {len(training_data)} échantillons d'entraînement")Autres atouts d’AI Exporter
Le JSON n’est qu’un des formats pris en charge. Changez la sortie dans la même extension lorsque vous avez besoin de documents lisibles :
| Format | Idéal pour |
|---|---|
| JSON | Analyse, migration, automatisation, fine-tuning |
| Markdown | Obsidian, blogs, bases de connaissances |
| Partage, impression, archivage — conserve la coloration syntaxique, LaTeX, images | |
| Word | Documents bureautiques à modifier |
| Notion | Synchronisation en un clic vers la base de connaissances |
| TXT / Image | Archives légères, partage visuel |
Autres fonctionnalités clés :
- Export sélectif — chat complet, messages partiels ou export au survol d’une réponse
- Préservation du format — blocs de code, tableaux, LaTeX, Canvas, images
- Multi-plateforme — ChatGPT, Claude, Gemini, DeepSeek et plus de 10 plateformes
- Traitement local — JSON, Markdown, TXT gérés dans le navigateur, sans upload
- Offre gratuite — JSON, Markdown, TXT gratuits ; PDF, Word, Notion avec quotas quotidiens gratuits
Export rapide de plusieurs conversations (flux multi-onglets)
Il n’y a pas de bouton officiel « exporter tous les chats », mais un flux multi-onglets gère efficacement de nombreuses conversations :
- Cmd/Ctrl + clic sur plusieurs chats dans la barre latérale ChatGPT pour ouvrir chacun dans un nouvel onglet.
- Préconfigurez le format et le dossier de téléchargement (désactivez « Demander où enregistrer chaque fichier » dans le navigateur).
- Par onglet : Sélectionner → Exporter → Fermer l’onglet — environ deux clics chacun.
- ~20 chats en 3–5 minutes, chaque fichier clairement nommé.
Limites
- Pas de bouton « exporter tout le compte » de type officiel.
- Le backup complet du compte se combine toujours mieux avec l’export officiel.
- PDF, Word et Notion ont des limites quotidiennes gratuites (JSON, Markdown, TXT sont gratuits).
5. Méthode 3 : export officiel + outils de conversion (archive lisible en masse)
Pour les utilisateurs techniques, ou lorsque vous devez transformer des centaines d’anciens chats en Markdown en une seule fois.
Quand l’utiliser
- Conversion en masse de l’historique complet en documents lisibles
- Import dans Obsidian ou Logseq pour une base de connaissances
- Peu adapté pour : sauvegarder rapidement la conversation en cours
Étapes
- Terminez la Méthode 1 pour obtenir l’export ZIP officiel.
- Décompressez et localisez
conversations.json. - Choisissez un convertisseur :
- CLI :
npx chatgpt-to-markdown path/to/archive - Convertisseur navigateur : ChatGPT Conversations to Markdown (traitement local, sans upload)
- App desktop : Univik et similaires (support PDF / DOCX)
- CLI :
- Chaque conversation devient un fichier
.mdséparé.
Avantages et limites
| Points forts | Limites |
|---|---|
| Vrai export en masse, lisible, idéal pour migration ponctuelle | Flux en deux étapes, compétences techniques requises |
| Nombreux outils open source, traitement local pour la confidentialité | Qualité variable ; blocs de code / tableaux peuvent convertir de façon inégale |
| Pas d’export sélectif — chaque chat est converti | |
| Les nouveaux chats exigent de refaire le processus complet |
6. Comparaison des trois méthodes
| Fonctionnalité | Export officiel | AI Exporter | Officiel + convertisseur |
|---|---|---|---|
| Portée | Tous les chats | À la demande | Tous les chats |
| Structure JSON | Mapping en arbre | Tableau plat de messages | Nécessite de parser le JSON officiel |
| Formats de sortie | JSON / HTML | JSON / PDF / MD / Word / Notion etc. | Principalement Markdown |
| Horodatages / noms de modèle | Présents mais difficiles à extraire | Lisibles par message | Dépend du convertisseur |
| Export sélectif | Non | Oui (par message) | Non |
| Multi-plateforme | ChatGPT uniquement | ChatGPT + plus de 10 plateformes | ChatGPT uniquement |
| Compétences techniques | Aucune | Aucune | Modérées |
| Exporter 20 chats | De minutes à jours | ~3–5 minutes | Attente + conversion |
| Idéal pour | Backup de sécurité | Export quotidien + JSON structuré | Archive historique en masse |
7. Flux recommandé : combiner les méthodes
Étape 1 : export officiel pour backup complet
- Paramètres → Contrôles des données → Exporter les données
- Stockez le ZIP sur le cloud ou un disque externe
- Fréquence suggérée : mensuelle, ou avant de supprimer d’anciens chats
Étape 2 : AI Exporter pour les conversations importantes
Exportez juste après une conversation utile, en choisissant le format selon l’usage :
- Scripts / migration / fine-tuning → JSON
- Rapports de recherche, base de connaissances → Markdown
- Livrables clients → PDF
- Collaboration d’équipe → synchronisation Notion
Étape 3 (optionnelle) : conversion en masse du backup
Lorsque vous avez besoin d’une archive lisible de tout l’historique, utilisez la Méthode 3 pour convertir en lot le ZIP officiel en Markdown.
8. Quel format choisir ?
| Votre objectif | Meilleur format | Meilleure méthode |
|---|---|---|
| Backup complet du compte (filet de sécurité) | JSON (brut officiel) | Export officiel |
| Scripts / fine-tuning / RAG | JSON (structuré) | AI Exporter |
| Base de connaissances (Obsidian / Notion) | Markdown | AI Exporter |
| Partage avec clients / collègues | AI Exporter | |
| Modifications ultérieures nécessaires | Word | AI Exporter |
| Base de connaissances d’équipe | Notion | AI Exporter |
| Archive lisible en masse de l’historique | Markdown | Officiel + convertisseur |
9. Questions fréquentes
Q1 : ChatGPT peut-il exporter du JSON directement ?
Oui, mais uniquement via l’export officiel en masse (Settings → Data Controls → Export Data), qui produit un fichier imbriqué avec toutes les conversations. Pour du JSON par conversation avec une structure claire, utilisez AI Exporter.
Q2 : En quoi le JSON d’AI Exporter diffère-t-il du conversations.json officiel ?
AI Exporter produit un tableau plat de messages avec role, model, modelId, created_at et des contents structurés, directement itérables. L’export officiel utilise un mapping en arbre avec références parent/enfant, texte dans parts[] et horodatages Unix float — un parsing significatif est nécessaire.
Q3 : Le JSON inclut-il les noms de modèles et les horodatages ?
Oui. Chaque message assistant a model, displayModel et modelId (p. ex. GPT-4o), et created_at enregistre l’heure pour le tri et les statistiques par modèle.
Q4 : Raisonnement, sources web et blocs de code sont-ils préservés ?
Oui. Le tableau contents d’AI Exporter utilise thinking, sources, markdown et d’autres types — bien plus complet qu’un copier-coller.
Q5 : L’export JSON est-il gratuit ?
Oui. L’export JSON est disponible dans la version gratuite d’AI Exporter — sans compte ni abonnement.
Q6 : Puis-je exporter uniquement les réponses de l’IA sans mes prompts ?
Oui. Cliquez sur Select et choisissez Answers pour ne sélectionner que les réponses de l’IA, ou cochez/décochez manuellement les messages individuels.
Q7 : Le JSON exporté peut-il servir pour l’API OpenAI ou le fine-tuning ?
Oui. AI Exporter utilise des labels user / assistant cohérents avec l’API — extrayez le texte des contents comme dans l’exemple de fine-tuning ci-dessus.
Q8 : AI Exporter peut-il exporter tous les chats en lot ?
Il n’y a pas d’export complet en un clic de type officiel, mais le flux multi-onglets permet d’exporter les chats rapidement un par un. Associez-le à l’export officiel pour un backup complet du compte.
Q9 : Combien de temps prend l’export officiel ? Que faire si le lien expire ?
Généralement 20–30 minutes ; plus long pour les comptes avec beaucoup de chats. Les liens de téléchargement expirent après 24 heures — relancez un export si nécessaire.
Q10 : Les comptes ChatGPT gratuits peuvent-ils exporter ?
Oui. L’export officiel et AI Exporter fonctionnent avec les comptes gratuits.
Q11 : En quoi AI Exporter diffère-t-il de ChatGPT Exporter ?
Tous deux prennent en charge l’export JSON, mais AI Exporter couvre ChatGPT, Claude, Gemini, DeepSeek et plus de 10 plateformes, plus Word, Notion et autres — avec contents préservant raisonnement, sources de recherche, Canvas et autres types structurés.
Q12 : À quelle fréquence faire des backups ?
Effectuez un export officiel complet chaque mois. Exportez les conversations importantes avec AI Exporter juste après — n’attendez pas le backup mensuel.
10. Conclusion
Aucune méthode seule ne couvre tout — la stratégie combinée fonctionne le mieux :
- Export officiel = filet de sécurité pour backup complet
- AI Exporter = formats du quotidien, surtout le JSON structuré le plus pratique
- Officiel + convertisseur = archive historique lisible en masse
👉 Commencez maintenant : Installez AI Exporter et pensez à lancer régulièrement l’export officiel des données.