Come salvare una conversazione ChatGPT come Markdown (ogni turno, blocchi di codice intatti)
Le conversazioni ChatGPT contengono intuizioni preziose --- il prompt che finalmente ha funzionato, il blocco di codice che altrimenti riscriveresti da zero, il filo di ricerca su cui hai passato due ore. Ma vivono intrappolate nell’interfaccia di OpenAI. Non c’è un vero export per conversazione, il formato del link condiviso elimina la maggior parte della struttura, e il copia-incolla distrugge la formattazione del codice. Salvare una conversazione ChatGPT come Markdown ti permette di archiviarla, consultarla o passarla a un altro modello.
Questa guida copre ogni metodo per convertire una conversazione ChatGPT in Markdown pulito --- da una risposta rapida a un singolo turno a un filo di ricerca da mille turni.
Perché salvare le conversazioni ChatGPT come Markdown?
Markdown è il formato che funziona ovunque una conversazione debba andare:
- Passalo a un altro modello --- Claude, Gemini e i modelli locali leggono tutti Markdown nativamente, quindi un filo ChatGPT diventa contesto per il prompt successivo
- Mettilo in Obsidian o Notion --- un file, completamente ricercabile, ben strutturato, collegato a note correlate
- Costruisci una libreria di prompt --- salva le conversazioni che hanno funzionato, organizzate per attività, riutilizzabili tra progetti
- Archivia prima che sparisca --- le chat eliminate sono perse per sempre, i link condivisi possono rompersi, la tua conoscenza non dovrebbe dipendere dall’interfaccia di OpenAI
- Cita un turno specifico --- trovare “cosa ha detto GPT sul piano di migrazione” in un filo di 200 turni è a una ricerca di distanza una volta che è testo
Il caso d’uso che guida la maggior parte del traffico ChatGPT-verso-Markdown nel 2026 è il primo: le persone vogliono passare un filo di ricerca ChatGPT a Claude o a un modello locale e continuare, e incollare l’URL condiviso non funziona.
Metodo 1: Save (il più veloce, un clic)
Save è un’estensione Chrome che trasforma qualsiasi conversazione ChatGPT in un file Markdown con un clic. Percorre il DOM della conversazione, preserva ogni turno in ordine, mantiene i blocchi di codice con i loro tag di linguaggio e produce un file che si legge come un vero documento, non come un dump da copia-incolla.
Come funziona:
- Apri la conversazione ChatGPT in Chrome (la tua chat, un link condiviso o una sessione Custom GPT)
- Clicca sull’icona dell’estensione Save nella tua barra degli strumenti
- Un file
.mdviene scaricato all’istante (o atterra nel tuo Save Vault se collegato)
Cosa ottieni:
- Ogni turno utente e assistente, in ordine, con etichette di ruolo (
## You/## ChatGPT) - Blocchi di codice con i loro identificatori di linguaggio preservati (
typescript,python,bash, …) - Tabelle, liste ordinate e non ordinate, citazioni in linea mantenute intatte
- Notazione matematica resa come LaTeX, non come Unicode rotto
- Titolo della conversazione e data di creazione nel frontmatter
- Frontmatter con titolo, modello, data, URL --- così il file è autodescrittivo
Cosa viene rimosso:
- Sidebar di ChatGPT, selettore di modello, pulsante condividi e altri elementi UI
- Pulsanti “Regenerate response” e altri widget interattivi
- Stati di caricamento delle risposte in streaming (snapshot a metà token)
- Turni vuoti e generazioni interrotte
Funziona su:
- Le tue conversazioni su
chatgpt.com(loggato) - Link di conversazione condivisi (
chat.openai.com/share/...echatgpt.com/share/...) - Conversazioni Teams ed Enterprise, se il tuo browser ha accesso
- Conversazioni Custom GPT
- Conversazioni di progetto con i loro file pinnati referenziati
Migliore per: Ricercatori, prompt engineer, utenti AI, studenti. Se ti serve un export ChatGPT pulito da incollare in Claude o tenere in Obsidian, questa è la via più pulita.
Esempio di output
Salvare una breve conversazione ChatGPT su Express + TypeScript produce:
---
title: "Building a REST API with Express and TypeScript"
model: GPT-4
date: 2026-05-22
url: https://chatgpt.com/c/68301f4a-...
---
## You
How do I set up an Express server with TypeScript and proper
error handling?
## ChatGPT
Here's a production-ready Express + TypeScript setup:
\`\`\`typescript
import express, { Request, Response, NextFunction } from 'express';
const app = express();
app.use(express.json());
app.get('/api/users/:id', async (req: Request, res: Response,
next: NextFunction) => {
try {
const user = await findUser(req.params.id);
if (!user) {
return res.status(404).json({ error: 'User not found' });
}
res.json(user);
} catch (err) {
next(err);
}
});
app.use((err: Error, req: Request, res: Response,
next: NextFunction) => {
console.error(err.stack);
res.status(500).json({ error: 'Internal server error' });
});
\`\`\`
Key points:
1. **Type your handlers** --- use `Request`, `Response`, `NextFunction`
2. **Wrap async routes** --- always try/catch to forward errors
3. **Global error handler** --- catches anything routes miss
## You
What about validation on the request body?
## ChatGPT
Add a Zod schema and a middleware...
Quel file è a un incolla di distanza dall’essere contesto utilizzabile per Claude, a un tasto dall’essere una nota Obsidian permanente.
Metodo 2: Share + Export integrati di ChatGPT
OpenAI fornisce due percorsi ufficiali: Share per conversazione ed Export a livello di account.
Passi per Share:
- Apri la conversazione, clicca Share, genera un link
- Apri il link in una finestra privata
- Usa il “Save Page” del browser o copia il testo visibile in un file Markdown a mano
Passi per Export:
- Settings → Data Controls → Export data
- Aspetta che OpenAI ti mandi via email un link di download (può richiedere ore)
- Estrai l’archivio --- ottieni un viewer HTML più un enorme file
conversations.jsoncon tutte le chat che hai mai avuto
Problemi di questo approccio:
- L’HTML del link condiviso non è Markdown --- devi comunque convertire, e i blocchi di codice perdono i loro tag di linguaggio nel processo
- L’export ti dà un JSON gigantesco per l’intero account, non un file per conversazione
- Lo schema JSON non è documentato e cambia senza preavviso; analizzarlo in modo pulito è un progetto a sé
- Le sessioni Custom GPT e le conversazioni di progetto a volte non appaiono affatto nell’export
- Rieseguire l’export rifà tutto da capo --- non c’è sync incrementale
Praticabile se ti servono solo una o due conversazioni, o se sei disposto a scrivere un parser JSON.
Metodo 3: Estensioni del browser (SaveAsMyChat, ecc.)
Una manciata di estensioni Chrome mira specificamente all’export ChatGPT --- SaveAsMyChat, ChatGPT to Markdown, Superpower ChatGPT e simili.
Migliore per: Chi esporta solo da ChatGPT e non si cura di altre fonti.
Problemi per il caso d’uso multi-strumento:
- La maggior parte è solo ChatGPT --- non gestisce Claude, Gemini o nessuna pagina non-AI che potresti voler salvare
- La qualità dell’output varia molto --- alcune perdono i tag di linguaggio del codice, alcune appiattiscono le tabelle Markdown, alcune iniettano il proprio branding nel file
- Molte non sono state aggiornate per l’attuale UI di ChatGPT --- OpenAI cambia il DOM regolarmente e le estensioni mono-scopo si rompono silenziosamente
- Alcune richiedono di cliccare manualmente “Export” dentro ogni conversazione; non è un flusso a un clic
- Manutenzione e permessi sono un azzardo --- estensioni abbandonate continuano a rilasciare aggiornamenti che chiedono più accesso
Se vuoi solo ChatGPT, qualsiasi di queste può funzionare. Se salvi anche thread Reddit, video YouTube, issue GitHub e pagine Notion, finirai con cinque estensioni a fare ciò che dovrebbe farne una.
Metodo 4: Copia-incolla e poi riformatta
L’opzione più rudimentale: seleziona la conversazione, copia, incolla in un file Markdown, sistemala a mano.
Passi:
- Scorri all’inizio della conversazione
- Seleziona tutto (Cmd+A dentro il pannello chat)
- Incolla nel tuo editor
- Riaggiungi le intestazioni di ruolo, sistema i delimitatori dei blocchi di codice, ripristina le liste appiattite
Problemi di questo approccio:
- I blocchi di codice si copiano come testo normale senza tag di linguaggio --- l’evidenziazione della sintassi è andata
- Le tabelle diventano righe piatte separate da tab --- vanno ricostruite a mano
- La notazione matematica in linea si copia come Unicode rotto
- Le etichette di ruolo (“You”, “ChatGPT”) non sempre passano nella selezione
- Per qualsiasi cosa oltre una dozzina di turni, la pulizia è più lunga che rileggere la conversazione
Utile per una singola risposta breve. Crolla su qualsiasi cosa somigli a ricerca.
Quale metodo dovresti usare?
| Scenario | Metodo migliore |
|---|---|
| Incollare un filo ChatGPT in Claude o Gemini | Save --- un clic, Markdown strutturato |
| Archiviare un filo di ricerca in Obsidian | Save --- frontmatter + struttura di turni pulita |
| Costruire una libreria di prompt tra strumenti | Save --- stesso flusso per ChatGPT, Claude, ovunque altro |
| Esportare in massa tutta la cronologia ChatGPT | OpenAI Export --- l’unica via per “tutte le conversazioni in una volta” |
| Condividere una singola conversazione come link pubblico | ChatGPT Share --- nativo, senza installazione |
| Copia rapida di una risposta a un turno | Copia-incolla --- ok per casi banali |
Per la maggior parte delle persone --- specialmente chi sposta conversazioni tra strumenti AI o tiene un archivio serio --- Save è la risposta. Produce il Markdown più pulito senza setup, e gestisce un filo da mille turni allo stesso modo di uno da due.
Casi limite che Save gestisce
- Conversazioni molto lunghe (1000+ turni). Save percorre il DOM completo e scrive ogni turno. Il frontmatter include il conteggio dei turni così puoi vedere la dimensione a colpo d’occhio. I fili lunghi richiedono un paio di secondi in più; l’output resta pulito.
- Conversazioni con immagini (output DALL-E, input di visione). Le immagini generate sono collegate ai loro URL CDN. Le immagini di input di visione caricate da te sono referenziate con la loro posizione nel turno. Il contenuto testuale del resto della conversazione è pienamente preservato in entrambi i casi.
- Generazione di codice multi-turno con modifiche. Quando l’assistente modifica un blocco di codice precedente (o lo fai tu), ogni versione resta nell’export in ordine, così puoi vedere come il codice è evoluto nella conversazione.
- Conversazioni Custom GPT. Il nome del Custom GPT appare nel frontmatter. Le chiamate a strumenti (browsing web, analisi file, code interpreter) sono contrassegnate come tali così puoi dire quando l’assistente ha eseguito uno strumento vs. ha risposto dall’addestramento.
- Conversazioni ramificate (risposte rigenerate). ChatGPT ti permette di rigenerare o modificare e creare un ramo. Save esporta il ramo attualmente attivo --- quello visibile nell’UI quando clicchi sull’estensione --- non ogni risposta alternativa.
- Riferimenti a ChatGPT Memory. Quando l’assistente dice “come discusso prima” e attinge da Memory, è memorizzato nel contesto del modello, non nella pagina. Save può esportare solo ciò che è sulla pagina; i contenuti di Memory non appaiono nel file.
- Catene di ragionamento nascoste O1 / o1-pro. OpenAI non espone la catena completa di pensiero per i modelli di ragionamento --- mostra un riassunto. Save esporta il riassunto visibile sulla pagina, che è ciò che l’utente vede. Il ragionamento grezzo nascosto non è disponibile a nessuno strumento lato client.
Abbinalo al tuo flusso di lavoro
L’output Markdown funziona ovunque ti serva:
- Claude / Gemini / LLM locali --- incolla il file, continua la conversazione in un modello diverso
- Obsidian --- mettilo nel tuo vault, collegalo a note correlate, cerca su tutti i tuoi fili AI salvati
- Notion --- incolla direttamente, intestazioni e blocchi di codice si renderizzano correttamente, le tabelle restano tabelle
- Apple Notes --- importazione pulita tramite l’estensione di condivisione Markdown
- Save Vault --- se ne hai collegato uno, ogni salvataggio ChatGPT vi atterra automaticamente con backlink e tag, accanto ai salvataggi da ogni altra fonte
FAQ
Save funziona sull’app mobile ChatGPT? L’estensione è solo per Chrome desktop. Su mobile, apri la conversazione in Safari mobile o Chrome, copia il link condiviso, poi salvala dal browser desktop.
Posso salvare solo un turno invece dell’intera conversazione? Il default è la conversazione intera, perché è ciò che la maggior parte vuole. Puoi rifinire il file dopo eliminando i turni che non ti servono --- è Markdown normale.
Funziona su link condivisi da qualcun altro? Sì. Apri il link condiviso nel browser, clicca sull’estensione, ottieni un file Markdown. Non devi essere loggato in ChatGPT per i link condivisi.
E le conversazioni Claude o Gemini?
Stessa estensione. Save funziona su claude.ai e gemini.google.com allo stesso modo di ChatGPT --- l’output usa etichette di ruolo specifiche per modello (## Claude, ## Gemini) ma la struttura del file è identica.
Preserva il titolo originale della conversazione?
Sì. Il titolo mostrato nella sidebar di ChatGPT diventa il campo title nel frontmatter e il nome file. Se hai rinominato la conversazione, ciò che viene salvato è il nome cambiato.
I blocchi di codice sono davvero preservati con i loro tag di linguaggio?
Sì. ChatGPT marca il linguaggio sui suoi blocchi di codice nel DOM (language-typescript, language-python, ecc.) e Save lo legge. Recinti con tripli backtick e il linguaggio corretto sono ciò che ottieni in output.
Supporta i Custom GPT? Sì. Il nome del Custom GPT appare nel frontmatter. Le chiamate a strumenti nella conversazione (browsing, code interpreter, analisi file) sono contrassegnate così puoi distinguere tra una risposta normale e una che ha coinvolto uno strumento.
Quanto costa? Save ha un tier gratuito così puoi provarlo su qualche conversazione. Dopo, un piccolo abbonamento copre l’uso continuativo su tutti i siti che Save supporta.
Guide Save correlate
- Salva conversazioni Claude come Markdown --- ogni turno, con artifact e chiamate a strumenti intatti
- Salva video YouTube come Markdown --- trascrizione, riassunto, timestamp dei capitoli
- Salva repo e issue GitHub come Markdown --- README, issue, discussioni PR, tutto in un file
- Salva pagine Notion come Markdown --- toggle espansi, database come tabelle
## Continue reading
Come salvare una conversazione di Claude come Markdown (Artifacts, citazioni, Projects)
Converti le conversazioni di Claude in Markdown pulito: ogni turno, Artifacts come blocchi di codice, citazioni conservate. Guida completa per ricercatori e utenti AI.
Come salvare un thread di Reddit in Markdown (con commenti e contesto)
Converti qualsiasi thread di Reddit in Markdown pulito con commenti annidati, karma, flair e marker OP preservati. Guida completa 2026 per ricercatori e utenti di IA.
Come salvare un video YouTube in Markdown (trascrizione, riassunto, timestamp)
Converti qualsiasi video YouTube in Markdown pulito: trascrizione AI, riassunto, timestamp, capitoli. Guida completa 2026 per ricercatori e utenti di AI.
Come salvare una pagina Notion in Markdown (toggle espansi, database come tabelle)
Converti qualsiasi pagina Notion in Markdown pulito: toggle espansi, database come tabelle, callout preservati. Guida 2026 per Obsidian e AI.
Written by
Jean-Sébastien Wallez
I've been making internet products for 10+ years. Built Save on weekends because I wanted my own reading library in clean markdown for Claude and Obsidian. Write here about web clipping, AI workflows, and the small things that make a personal knowledge base actually useful.