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.json utilise une structure en arbre mapping difficile à 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_at et des contents structuré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

  1. Ouvrez chatgpt.com  et connectez-vous.
  2. Cliquez sur l’icône de profil (en bas à gauche) → Settings (Paramètres).

Entrée Settings mise en évidence dans le menu compte ChatGPT

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

Bouton Export data mis en évidence dans le panneau Data controls de ChatGPT

  1. 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).
  2. Cliquez sur le lien de téléchargement dans l’e-mail (valable 24 heures — vérifiez aussi les spams).
  3. Décompressez l’archive et localisez conversations.json (les exports récents peuvent être découpés en conversations-000.json et d’autres fragments).

Ce que vous obtenez

  • conversations.json — historique complet en structure en arbre mapping avec horodatages et infos modèle
  • chat.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 :

  1. mapping en arbre avec pointeurs parent/enfant — il faut parcourir le graphe pour reconstruire l’ordre de la conversation.
  2. Les prompts modifiés créent des branches — un fil peut avoir plusieurs chemins, compliquant l’analyse.
  3. Texte enfoui dans content.parts[] — ce n’est pas un simple champ string.
  4. Horodatages Unix en float — p. ex. 1713350400.0, nécessitant une conversion supplémentaire.
  5. Tout ou rien — pas d’export sélectif de messages individuels, pas de téléchargement instantané.
Points fortsDétails
Officiel et fiableFourni par OpenAI, sans tiers
Vrai export en masseToutes les conversations du compte en une fois
Métadonnées richesHorodatages, infos modèle et structure de conversation
Sans installationDepuis les paramètres ChatGPT
LimitesDétails
Tout ou rienImpossible de choisir des chats ou des plages de dates
Structure complexeLe JSON en arbre exige un parsing poussé
Pas d’options de formatPas de PDF, Markdown ou Word
Livraison lenteDe quelques minutes à plusieurs jours
Contenu manquantChats 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

Dimensionconversations.json officielJSON AI Exporter
Structuremapping en arbre, parsing complexeTableau plat de messages, itération directe
PortéeExport massif de tout le compteChat unique / messages partiels à la demande
VitesseDe minutes à joursInstantané en un clic
HorodatagesFloats Unixcreated_at lisible par message
Infos modèleDispersées dans les métadonnéesmodel / displayModel / modelId sur chaque message assistant
Types de contenuRetard sur les nouvelles fonctionsTableau 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) :

json
[
  {
    "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 :

ChampDescription
roleuser (votre message) ou assistant (réponse de l’IA)
model / displayModel / modelIdNom de plateforme, nom affiché et version du modèle (p. ex. GPT-4o, Claude Sonnet)
created_at / updated_atHeure du message pour tri et statistiques
chatGroupIdRegroupe un tour user/assistant pour l’appariement

Tableau contents (contenu structuré — la valeur centrale de l’export JSON) :

typeCe qui est préservé
markdown / textTexte, blocs de code, formules mathématiques
thinkingRaisonnement / chaîne de pensée
sourcesCitations de recherche web et Deep Research
image / attachmentImages et fichiers téléversés
html_widgetCanvas / artefacts interactifs
shopping_card / shopping_tableCartes 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

  1. Installez AI Exporter depuis le Chrome Web Store  (fonctionne aussi sur Edge et Firefox).
  2. Ouvrez la conversation ChatGPT à exporter.
  3. Cliquez sur l’icône de l’extension → choisissez JSON.
  4. Optionnel : sélectionnez des messages spécifiques pour n’exporter que ce dont vous avez besoin.
  5. 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 :

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 :

python
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) :

python
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 :

FormatIdéal pour
JSONAnalyse, migration, automatisation, fine-tuning
MarkdownObsidian, blogs, bases de connaissances
PDFPartage, impression, archivage — conserve la coloration syntaxique, LaTeX, images
WordDocuments bureautiques à modifier
NotionSynchronisation en un clic vers la base de connaissances
TXT / ImageArchives 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 :

  1. Cmd/Ctrl + clic sur plusieurs chats dans la barre latérale ChatGPT pour ouvrir chacun dans un nouvel onglet.
  2. Préconfigurez le format et le dossier de téléchargement (désactivez « Demander où enregistrer chaque fichier » dans le navigateur).
  3. Par onglet : Sélectionner → Exporter → Fermer l’onglet — environ deux clics chacun.
  4. ~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

  1. Terminez la Méthode 1 pour obtenir l’export ZIP officiel.
  2. Décompressez et localisez conversations.json.
  3. 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)
  4. Chaque conversation devient un fichier .md séparé.

Avantages et limites

Points fortsLimites
Vrai export en masse, lisible, idéal pour migration ponctuelleFlux 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 officielAI ExporterOfficiel + convertisseur
PortéeTous les chatsÀ la demandeTous les chats
Structure JSONMapping en arbreTableau plat de messagesNécessite de parser le JSON officiel
Formats de sortieJSON / HTMLJSON / PDF / MD / Word / Notion etc.Principalement Markdown
Horodatages / noms de modèlePrésents mais difficiles à extraireLisibles par messageDépend du convertisseur
Export sélectifNonOui (par message)Non
Multi-plateformeChatGPT uniquementChatGPT + plus de 10 plateformesChatGPT uniquement
Compétences techniquesAucuneAucuneModérées
Exporter 20 chatsDe minutes à jours~3–5 minutesAttente + conversion
Idéal pourBackup 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 objectifMeilleur formatMeilleure méthode
Backup complet du compte (filet de sécurité)JSON (brut officiel)Export officiel
Scripts / fine-tuning / RAGJSON (structuré)AI Exporter
Base de connaissances (Obsidian / Notion)MarkdownAI Exporter
Partage avec clients / collèguesPDFAI Exporter
Modifications ultérieures nécessairesWordAI Exporter
Base de connaissances d’équipeNotionAI Exporter
Archive lisible en masse de l’historiqueMarkdownOfficiel + 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.