Come esportare le conversazioni ChatGPT: guida JSON, PDF e Markdown

ChatGPT non offre un pulsante per scaricare singole conversazioni. Questa guida spiega l'esportazione ufficiale dei dati e confronta estensioni per browser e convertitori JSON per salvare le chat in JSON, PDF o Markdown.

1. Si possono esportare le conversazioni ChatGPT?

ChatGPT non ha un pulsante «scarica questa conversazione», ma salvare le chat è un’esigenza molto comune: appunti di studio, consegne di lavoro, backup del codice, knowledge base e backup a livello di account per evitare perdite di dati.

I formati contano: il PDF è ideale per la condivisione, il Markdown per gli appunti e il JSON per l’uso programmatico — che tu analizzi le conversazioni con Python o jq, estragga blocchi di codice, costruisca dataset per il fine-tuning o alimenti una pipeline RAG, il JSON è il punto di partenza migliore.

Questo articolo confronta tre approcci pratici e spiega perché l’esportazione JSON di AI Exporter è più semplice da usare rispetto al conversations.json ufficiale di OpenAI.

2. Risposta rapida: quale metodo scegliere

  • Esportazione dati ufficiale (Impostazioni → Controlli dati → Esporta dati) è l’unico backup ufficiale completo di ChatGPT, ma conversations.json usa una struttura ad albero mapping difficile da analizzare e non è pronta per la consegna in PDF o Word.
  • Esportazione JSON di AI Exporter produce un array piatto di messaggi in cui ogni messaggio include role, model, modelId, created_at e contents strutturati — ideale per script, migrazione e sviluppo downstream.
  • Combinazione consigliata: esportazione ufficiale per backup periodici completi; AI Exporter per conversazioni singole o selezionate in JSON o PDF / Markdown; JSON ufficiale + convertitore quando devi trasformare centinaia di chat passate in documenti leggibili in una sola volta.

3. Metodo 1: esportazione dati ufficiale ChatGPT (ideale per backup completo)

L’unica opzione ufficiale di esportazione massiva di OpenAI.

Quando usarlo

  • Backup periodici completi dell’account
  • Migrazione verso un’altra piattaforma AI (es. importare le chat in Gemini)
  • Non ideale per: salvare una singola conversazione o consegnare subito un documento leggibile

Passaggi

  1. Apri chatgpt.com  e accedi.
  2. Clicca sull’icona del profilo (in basso a sinistra) → Settings (Impostazioni).

Voce Settings evidenziata nel menu account ChatGPT

  1. Vai su Data controls (Controlli dati).
  2. Clicca su Export data (Esporta dati) → conferma.

Pulsante Export data evidenziato nel pannello Data controls di ChatGPT

  1. Attendi l’email di OpenAI (di solito 20–30 minuti; gli account con molte conversazioni possono impiegare di più — la documentazione ufficiale  indica fino a 24 ore).
  2. Clicca sul link di download nell’email (valido per 24 ore — controlla anche lo spam).
  3. Decomprimi l’archivio e individua conversations.json (le esportazioni più recenti possono essere suddivise in conversations-000.json e altri file parziali).

Cosa ottieni

  • conversations.json — cronologia completa in struttura ad albero mapping con timestamp e informazioni sul modello
  • chat.html — versione base navigabile nel browser
  • Possono essere inclusi immagini e allegati (immagini DALL·E, chat temporanee e conversazioni eliminate potrebbero mancare)

I problemi del JSON ufficiale

L’esportazione di OpenAI è in JSON, ma è strutturata per l’archiviazione interna — non per essere usata subito negli script:

  1. mapping ad albero con puntatori padre/figlio — devi attraversare il grafo per ricostruire l’ordine della conversazione.
  2. I prompt modificati creano rami — un thread può avere più percorsi, complicando l’analisi.
  3. Testo sepolto in content.parts[] — non è un semplice campo stringa.
  4. Timestamp Unix in formato float — es. 1713350400.0, che richiede conversione aggiuntiva.
  5. Tutto o niente — nessuna esportazione selettiva di singoli messaggi, nessun download immediato.
Punti di forzaDettagli
Ufficiale e affidabileFornito da OpenAI, senza terze parti
Vera esportazione massivaTutte le conversazioni dell’account in un’unica operazione
Metadati ricchiTimestamp, info sul modello e struttura della conversazione
Nessuna installazioneSi fa dalle impostazioni di ChatGPT
LimitazioniDettagli
Tutto o nienteImpossibile selezionare chat o intervalli di date
Struttura complessaIl JSON ad albero richiede parsing approfondito
Nessuna opzione di formatoNiente PDF, Markdown o Word
Consegna lentaDa minuti a giorni
Contenuti mancantiChat temporanee, thread eliminati e alcuni contenuti specifici dell’IA possono essere assenti

In sintesi: l’esportazione ufficiale è una rete di sicurezza, non un modo pratico per ottenere dati strutturati on demand.

4. Metodo 2: AI Exporter (ideale per l’uso quotidiano)

Trasparenza: questo è il nostro prodotto. Di seguito una panoramica onesta di cosa può e non può fare.

Perché il JSON di AI Exporter supera il conversations.json ufficiale

Dimensioneconversations.json ufficialeJSON AI Exporter
Strutturamapping ad albero, parsing complessoArray piatto di messaggi, iterazione diretta
AmbitoMassivo per tutto l’accountSingola chat / messaggi parziali on demand
VelocitàDa minuti a giorniImmediato con un clic
TimestampFloat Unixcreated_at leggibile per ogni messaggio
Info modelloSparse nei metadatimodel / displayModel / modelId su ogni messaggio assistant
Tipi di contenutoIn ritardo sulle nuove funzioniArray contents con più tipi strutturati

Come appare il JSON di AI Exporter

Il livello superiore è un array di messaggi (non 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 array piatto su cui puoi fare un ciclo for — senza alberi annidati o puntatori padre/figlio.

I campi che interessano di più agli utenti

Per messaggio:

CampoDescrizione
roleuser (il tuo messaggio) o assistant (risposta dell’IA)
model / displayModel / modelIdNome piattaforma, nome visualizzato e versione del modello (es. GPT-4o, Claude Sonnet)
created_at / updated_atOrario del messaggio per ordinamento e statistiche
chatGroupIdRaggruppa un turno user/assistant per l’accoppiamento

Array contents (contenuto strutturato — il valore principale dell’esportazione JSON):

typeCosa viene preservato
markdown / textTesto, blocchi di codice, formule matematiche
thinkingRagionamento / catena di pensiero
sourcesCitazioni da ricerca web e Deep Research
image / attachmentImmagini e file caricati
html_widgetCanvas / artefatti interattivi
shopping_card / shopping_tableSchede di raccomandazione e tabelle comparative per lo shopping

L’esportazione JSON conserva tutti i dati strutturati indipendentemente dalle impostazioni di visualizzazione come «mostra timestamp» in PDF o Markdown.

Come esportare JSON con AI Exporter

  1. Installa AI Exporter dal Chrome Web Store  (funziona anche su Edge e Firefox).
  2. Apri la conversazione ChatGPT da esportare.
  3. Clicca sull’icona dell’estensione → scegli JSON.
  4. Opzionale: seleziona messaggi specifici per esportare solo ciò che ti serve.
  5. Opzionale: attiva «Copia negli appunti» per incollare il JSON direttamente in uno script o in uno strumento API.

Cosa puoi fare con il JSON esportato

Gli esempi seguenti usano il formato JSON di AI Exporter. Se usi l’esportazione ufficiale, estrai prima i messaggi dall’albero mapping.

Statistiche rapide della conversazione in 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"Le tue domande: {roles.get('user', 0)}")
print(f"Risposte dell'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"Risposta più lunga (caratteri): {len(str(longest['contents']))}")

Estrarre tutti i blocchi di codice:

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)

Convertire nel formato 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"Generati {len(training_data)} campioni di addestramento")

Altri punti di forza di AI Exporter

Il JSON è uno dei formati supportati. Cambia output nella stessa estensione quando ti servono documenti leggibili:

FormatoIdeale per
JSONAnalisi, migrazione, automazione, fine-tuning
MarkdownObsidian, blog, knowledge base
PDFCondivisione, stampa, archiviazione — mantiene evidenziazione codice, LaTeX, immagini
WordDocumenti d’ufficio da modificare
NotionSincronizzazione con un clic nella knowledge base
TXT / ImmagineArchivi leggeri, condivisione visiva

Altre funzionalità principali:

  • Esportazione selettiva — chat completa, messaggi parziali o export al passaggio del mouse su una singola risposta
  • Preservazione del formato — blocchi di codice, tabelle, LaTeX, Canvas, immagini
  • Multi-piattaforma — ChatGPT, Claude, Gemini, DeepSeek e oltre 10 piattaforme
  • Elaborazione locale — JSON, Markdown, TXT gestiti nel browser, senza upload
  • Piano gratuito — JSON, Markdown, TXT gratuiti; PDF, Word, Notion con limiti giornalieri gratuiti

Esportazione rapida di più conversazioni (flusso multi-scheda)

Non c’è un pulsante ufficiale «esporta tutte le chat», ma un flusso multi-scheda gestisce molte conversazioni in modo efficiente:

  1. Cmd/Ctrl + clic su più chat nella barra laterale di ChatGPT per aprirle ciascuna in una nuova scheda.
  2. Preconfigura formato e cartella di download (disattiva «Chiedi dove salvare ogni file» nel browser).
  3. Per ogni scheda: Seleziona → Esporta → Chiudi scheda — circa due clic.
  4. ~20 chat in 3–5 minuti, ogni file con nome chiaro.

Limitazioni

  • Nessun pulsante «esporta tutto l’account» in stile ufficiale.
  • Per un backup completo dell’account conviene affiancare l’esportazione ufficiale.
  • PDF, Word e Notion hanno limiti giornalieri gratuiti (JSON, Markdown, TXT sono gratuiti).

5. Metodo 3: esportazione ufficiale + strumenti di conversione (archivio leggibile massivo)

Per utenti tecnici, o quando devi trasformare centinaia di chat passate in Markdown in una sola volta.

Quando usarlo

  • Conversione massiva della cronologia completa in documenti leggibili
  • Importazione in Obsidian o Logseq per una knowledge base
  • Non ideale per: salvare rapidamente la conversazione in corso

Passaggi

  1. Completa il Metodo 1 per ottenere l’esportazione ZIP ufficiale.
  2. Decomprimi e individua conversations.json.
  3. Scegli un convertitore:
    • CLI: npx chatgpt-to-markdown path/to/archive
    • Convertitore browser: ChatGPT Conversations to Markdown (elaborazione locale, nessun upload)
    • App desktop: Univik e simili (supporto PDF / DOCX)
  4. Ogni conversazione diventa un file .md separato.

Pro e contro

Punti di forzaLimitazioni
Vera esportazione massiva, leggibile, ideale per migrazione una tantumFlusso in due passaggi, richiede competenze tecniche
Molti strumenti open source, elaborazione locale per la privacyQualità variabile; blocchi di codice / tabelle possono convertirsi in modo disomogeneo
Nessuna esportazione selettiva — ogni chat viene convertita
Le nuove chat richiedono di ripetere l’intero processo

6. Confronto tra i tre metodi

FunzionalitàEsportazione ufficialeAI ExporterUfficiale + convertitore
AmbitoTutte le chatOn demandTutte le chat
Struttura JSONMapping ad alberoArray piatto di messaggiRichiede parsing del JSON ufficiale
Formati di outputJSON / HTMLJSON / PDF / MD / Word / Notion ecc.Principalmente Markdown
Timestamp / nomi modelloPresenti ma difficili da estrarreLeggibili per ogni messaggioDipende dal convertitore
Esportazione selettivaNoSì (per messaggio)No
Multi-piattaformaSolo ChatGPTChatGPT + oltre 10 piattaformeSolo ChatGPT
Competenze tecnicheNessunaNessunaMedie
Esportare 20 chatDa minuti a giorni~3–5 minutiAttesa + conversione
Ideale perBackup di sicurezzaExport quotidiano + JSON strutturatoArchivio storico massivo

7. Flusso consigliato: combinare i metodi

Passo 1: esportazione ufficiale per backup completo

  • Impostazioni → Controlli dati → Esporta dati
  • Archivia lo ZIP su cloud o disco esterno
  • Frequenza consigliata: mensile, o prima di eliminare chat vecchie

Passo 2: AI Exporter per le conversazioni importanti

Esporta subito dopo una chat di valore, scegliendo il formato in base all’uso:

  • Script / migrazione / fine-tuning → JSON
  • Report di ricerca, knowledge base → Markdown
  • Consegne ai clienti → PDF
  • Collaborazione di team → sincronizzazione Notion

Passo 3 (opzionale): conversione massiva del backup

Quando ti serve un archivio leggibile dell’intera cronologia, usa il Metodo 3 per convertire in batch lo ZIP ufficiale in Markdown.

8. Quale formato scegliere?

ObiettivoFormato miglioreMetodo migliore
Backup completo dell’account (rete di sicurezza)JSON (grezzo ufficiale)Esportazione ufficiale
Script / fine-tuning / RAGJSON (strutturato)AI Exporter
Knowledge base (Obsidian / Notion)MarkdownAI Exporter
Condivisione con clienti / colleghiPDFAI Exporter
Modifiche successive necessarieWordAI Exporter
Knowledge base di teamNotionAI Exporter
Archivio leggibile massivo della cronologiaMarkdownUfficiale + convertitore

9. Domande frequenti

D1: ChatGPT può esportare JSON direttamente?

Sì, ma solo tramite l’esportazione dati ufficiale massiva (Settings → Data Controls → Export Data), che produce un file annidato con tutte le conversazioni. Per JSON per singola chat con struttura chiara, usa AI Exporter.

D2: In cosa differisce il JSON di AI Exporter dal conversations.json ufficiale?

AI Exporter produce un array piatto di messaggi con role, model, modelId, created_at e contents strutturati, iterabili direttamente. L’esportazione ufficiale usa un mapping ad albero con riferimenti padre/figlio, testo in parts[] e timestamp Unix float — richiede parsing significativo.

D3: Il JSON include nomi dei modelli e timestamp?

Sì. Ogni messaggio assistant ha model, displayModel e modelId (es. GPT-4o), e created_at registra l’orario per ordinamento e statistiche per modello.

D4: Vengono preservati ragionamento, fonti web e blocchi di codice?

Sì. L’array contents di AI Exporter usa thinking, sources, markdown e altri tipi — molto più completo del copia-incolla.

D5: L’esportazione JSON è gratuita?

Sì. L’esportazione JSON è disponibile nella versione gratuita di AI Exporter — senza account o abbonamento.

D6: Posso esportare solo le risposte dell’IA senza i miei prompt?

Sì. Clicca Select e scegli Answers per selezionare solo le risposte dell’IA, oppure seleziona/deseleziona manualmente i singoli messaggi.

D7: Il JSON esportato può essere usato per l’API OpenAI o il fine-tuning?

Sì. AI Exporter usa etichette user / assistant coerenti con l’API — estrai il testo da contents come mostrato nell’esempio di fine-tuning sopra.

D8: AI Exporter può esportare in batch tutte le conversazioni?

Non c’è un export completo con un clic in stile ufficiale, ma il flusso multi-scheda permette di esportare le chat rapidamente una per una. Affianca l’esportazione ufficiale per il backup completo dell’account.

D9: Quanto tempo richiede l’esportazione ufficiale? Cosa fare se il link scade?

Di solito 20–30 minuti; più a lungo per account con molte chat. I link di download scadono dopo 24 ore — richiedi una nuova esportazione se necessario.

D10: Gli account ChatGPT gratuiti possono esportare?

Sì. Sia l’esportazione ufficiale sia AI Exporter funzionano con account gratuiti.

D11: In cosa differisce AI Exporter da ChatGPT Exporter?

Entrambi supportano l’esportazione JSON, ma AI Exporter copre ChatGPT, Claude, Gemini, DeepSeek e oltre 10 piattaforme, oltre a Word, Notion e altro — con contents che preserva ragionamento, fonti di ricerca, Canvas e altri tipi strutturati.

D12: Con quale frequenza fare backup?

Esegui l’esportazione ufficiale completa ogni mese. Esporta le chat importanti con AI Exporter subito dopo — non aspettare il backup mensile.

10. Conclusione

Nessun metodo da solo copre tutto — la strategia combinata funziona meglio:

  • Esportazione ufficiale = rete di sicurezza per backup completo
  • AI Exporter = formati quotidiani, soprattutto il JSON strutturato più pratico
  • Ufficiale + convertitore = archivio storico leggibile massivo

👉 Inizia subito: Installa AI Exporter  e ricorda di eseguire regolarmente l’esportazione dati ufficiale.