ChatGPT 대화를 Markdown으로 저장하는 방법 (모든 턴, 코드 블록 그대로)

·

ChatGPT 대화에는 귀중한 통찰이 담겨 있습니다 --- 마침내 작동한 프롬프트, 그렇지 않으면 처음부터 다시 써야 할 코드 블록, 두 시간 동안 쌓아 올린 리서치 스레드. 하지만 그것들은 OpenAI의 UI에 갇혀 있습니다. 대화별 진짜 내보내기는 없고, 공유 링크 형식은 대부분의 구조를 제거하며, 복사-붙여넣기는 코드 서식을 파괴합니다. ChatGPT 대화를 Markdown으로 저장하면 보관하고, 참조하고, 다른 모델에 다시 넣을 수 있습니다.

이 가이드는 ChatGPT 대화를 깔끔한 Markdown으로 변환하는 모든 방법을 다룹니다 --- 빠른 1턴 답변부터 1000턴 리서치 스레드까지.

왜 ChatGPT 대화를 Markdown으로 저장해야 하는가?

Markdown은 대화가 가야 할 모든 곳에서 작동하는 형식입니다:

  • 다른 모델에 넘기기 --- Claude, Gemini, 로컬 모델 모두 Markdown을 네이티브로 읽으므로 ChatGPT 스레드가 다음 프롬프트의 컨텍스트가 됩니다
  • Obsidian이나 Notion에 넣기 --- 하나의 파일, 완전히 검색 가능, 적절한 헤더, 관련 노트에 연결
  • 프롬프트 라이브러리 구축 --- 작동한 대화를 저장하고, 작업별로 정리하며, 프로젝트 간에 재사용 가능
  • 사라지기 전에 보관 --- 삭제된 채팅은 영원히 사라지고, 공유 링크는 깨질 수 있으며, 당신의 지식은 OpenAI의 UI에 의존해서는 안 됩니다
  • 특정 턴 인용 --- 200턴 스레드에서 “GPT가 마이그레이션 계획에 대해 뭐라고 했지”를 찾는 것은 텍스트가 되면 검색 한 번 거리입니다

2026년 ChatGPT-to-Markdown 트래픽의 대부분을 견인하는 사용 사례는 첫 번째입니다: 사람들은 ChatGPT 리서치 스레드를 Claude나 로컬 모델에 넘기고 계속하고 싶지만, 공유 URL을 붙여넣기는 작동하지 않습니다.

방법 1: Save (가장 빠름, 원클릭)

Save는 모든 ChatGPT 대화를 원클릭으로 Markdown 파일로 만드는 Chrome 확장 프로그램입니다. 대화 DOM을 순회하고, 모든 턴을 순서대로 보존하며, 코드 블록을 언어 태그와 함께 유지하고, 복사-붙여넣기 덤프가 아닌 진짜 문서처럼 읽히는 파일을 생성합니다.

작동 방식:

  1. Chrome에서 ChatGPT 대화 열기 (자기 채팅, 공유 링크, 또는 Custom GPT 세션)
  2. 툴바의 Save 확장 아이콘 클릭
  3. .md 파일이 즉시 다운로드 (연결된 경우 Save Vault에 도착)

얻는 것:

  • 모든 사용자 및 어시스턴트 턴, 순서대로, 역할 라벨과 함께 (## You / ## ChatGPT)
  • 언어 식별자가 보존된 코드 블록 (typescript, python, bash, …)
  • 표, 순서 있는/없는 목록, 인라인 인용이 그대로 유지됨
  • 수학 표기법은 깨진 Unicode가 아닌 LaTeX로 렌더링
  • frontmatter에 대화 제목과 생성 날짜
  • 제목, 모델, 날짜, URL이 포함된 frontmatter --- 파일이 자기 설명적

제거되는 것:

  • ChatGPT 사이드바, 모델 선택기, 공유 버튼, 기타 UI 요소
  • “Regenerate response” 버튼 및 기타 대화형 위젯
  • 스트리밍 응답의 로딩 상태 (중간 토큰 스냅샷)
  • 빈 턴과 중단된 생성

작동하는 곳:

  • chatgpt.com의 본인 대화 (로그인됨)
  • 공유 대화 링크 (chat.openai.com/share/...chatgpt.com/share/...)
  • 브라우저에 액세스 권한이 있는 경우 Teams 및 Enterprise 대화
  • Custom GPT 대화
  • 고정된 파일이 참조된 프로젝트 대화

최적의 대상: 연구자, 프롬프트 엔지니어, AI 사용자, 학생. Claude에 붙여넣거나 Obsidian에 보관할 깨끗한 ChatGPT 내보내기가 필요하다면, 이것이 가장 깔끔한 경로입니다.

출력 예시

Express + TypeScript에 관한 짧은 ChatGPT 대화를 저장하면 다음과 같이 됩니다:

---
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...

그 파일은 붙여넣기 한 번이면 Claude의 사용 가능한 컨텍스트가 되고, 키 입력 한 번이면 영구적인 Obsidian 노트가 됩니다.

방법 2: ChatGPT의 내장 Share + Export

OpenAI는 두 가지 공식 경로를 제공합니다: 대화별 Share와 계정 전체 Export.

Share 단계:

  1. 대화를 열고, Share를 클릭하여 링크 생성
  2. 시크릿 창에서 링크 열기
  3. 브라우저의 “Save Page”를 사용하거나, 보이는 텍스트를 손으로 Markdown 파일에 복사

Export 단계:

  1. Settings → Data Controls → Export data
  2. OpenAI가 다운로드 링크를 이메일로 보낼 때까지 대기 (몇 시간 걸릴 수 있음)
  3. 아카이브 압축 풀기 --- HTML 뷰어와 지금까지의 모든 채팅이 포함된 거대한 conversations.json 파일을 받음

이 접근법의 문제점:

  • 공유 링크 HTML은 Markdown이 아님 --- 여전히 변환해야 하고, 그 과정에서 코드 블록의 언어 태그가 사라짐
  • 내보내기는 대화별 파일이 아닌 계정 전체에 대한 하나의 거대한 JSON을 줌
  • JSON 스키마는 문서화되지 않았고 예고 없이 바뀜; 깔끔하게 파싱하는 것 자체가 프로젝트
  • Custom GPT 세션과 프로젝트 대화는 가끔 내보내기에 전혀 나타나지 않음
  • 내보내기를 다시 실행하면 모든 것을 다시 가져옴 --- 증분 동기화 없음

대화 한두 개만 필요하거나 JSON 파서를 작성할 의향이 있다면 사용 가능.

방법 3: 브라우저 확장 (SaveAsMyChat 등)

몇몇 Chrome 확장이 ChatGPT 내보내기를 특별히 겨냥합니다 --- SaveAsMyChat, ChatGPT to Markdown, Superpower ChatGPT 등.

최적의 대상: ChatGPT에서만 내보내고 다른 소스는 신경 쓰지 않는 사람.

크로스 도구 사용 사례의 문제점:

  • 대부분은 ChatGPT 전용 --- Claude, Gemini, 저장하려는 비-AI 페이지를 처리하지 않음
  • 출력 품질이 천차만별 --- 일부는 코드 언어 태그를 잃고, 일부는 Markdown 표를 평탄화하며, 일부는 확장 자체 브랜딩을 파일에 주입
  • 많은 것들이 현재 ChatGPT UI에 맞춰 업데이트되지 않음 --- OpenAI는 DOM을 정기적으로 바꾸고 단일 목적 확장은 조용히 깨짐
  • 일부는 각 대화 내에서 “Export”를 수동으로 클릭하라고 요구; 원클릭 흐름이 아님
  • 유지 보수와 권한은 도박 --- 버려진 확장이 계속해서 더 많은 액세스를 요구하는 업데이트를 출시함

ChatGPT만 원한다면, 어느 것이든 작동할 수 있습니다. Reddit 스레드, YouTube 비디오, GitHub 이슈, Notion 페이지도 저장한다면, 하나가 할 일을 다섯 개의 확장이 하게 될 것입니다.

방법 4: 복사-붙여넣기 후 재서식

가장 로우테크한 옵션: 대화를 선택하고, 복사하고, Markdown 파일에 붙여넣고, 손으로 고치기.

단계:

  1. 대화 맨 위로 스크롤
  2. 모두 선택 (채팅 창 내에서 Cmd+A)
  3. 에디터에 붙여넣기
  4. 역할 헤더 다시 추가, 코드 블록 펜스 수정, 평탄화된 목록 복원

이 접근법의 문제점:

  • 코드 블록은 언어 태그 없이 일반 텍스트로 복사됨 --- 구문 강조 사라짐
  • 표는 탭으로 구분된 평평한 줄이 됨 --- 손으로 재구축해야 함
  • 인라인 수학 표기법은 깨진 Unicode로 복사됨
  • 역할 라벨 (“You”, “ChatGPT”)은 선택에 항상 포함되지 않음
  • 12턴 이상이면, 정리하는 시간이 대화를 다시 읽는 것보다 더 김

짧은 단일 답변에 유용. 리서치 비슷한 것에는 무너짐.

어떤 방법을 사용해야 할까?

시나리오최선의 방법
ChatGPT 스레드를 Claude나 Gemini에 붙여넣기Save --- 원클릭, 구조화된 Markdown
리서치 스레드를 Obsidian에 보관Save --- frontmatter + 깔끔한 턴 구조
도구 간 프롬프트 라이브러리 구축Save --- ChatGPT, Claude, 어디서나 같은 워크플로
전체 ChatGPT 기록을 일괄 내보내기OpenAI Export --- “모든 대화를 한 번에”의 유일한 경로
단일 대화를 공개 링크로 공유ChatGPT Share --- 네이티브, 설치 없음
1턴 답변의 빠른 복사복사-붙여넣기 --- 사소한 경우에는 괜찮음

대부분의 사람들에게 --- 특히 AI 도구 간에 대화를 옮기거나 진지한 아카이브를 유지하는 사람 --- Save가 답입니다. 설정 없이 가장 깔끔한 Markdown을 생성하고, 1000턴 스레드를 2턴 스레드와 같은 방식으로 처리합니다.

Save가 처리하는 엣지 케이스

  • 매우 긴 대화 (1000턴+). Save는 전체 DOM을 순회하고 모든 턴을 작성합니다. frontmatter에 턴 수가 포함되어 크기를 한눈에 볼 수 있습니다. 긴 스레드는 몇 초 더 걸립니다; 출력은 깔끔하게 유지됩니다.
  • 이미지가 있는 대화 (DALL-E 출력, 비전 입력). 생성된 이미지는 CDN URL로 다시 연결됩니다. 당신이 업로드한 비전 입력 이미지는 턴 내 위치로 참조됩니다. 대화의 나머지 텍스트 내용은 어느 쪽이든 완전히 보존됩니다.
  • 편집이 있는 다중 턴 코드 생성. 어시스턴트가 (또는 당신이) 이전 코드 블록을 편집하면, 모든 버전이 순서대로 내보내기에 남아 코드가 대화 전반에 걸쳐 어떻게 진화했는지 볼 수 있습니다.
  • Custom GPT 대화. Custom GPT 이름이 frontmatter에 나타납니다. 도구 호출 (웹 브라우징, 파일 분석, 코드 인터프리터)이 그렇게 표시되어 어시스턴트가 도구를 실행했는지 학습에서 답변했는지 알 수 있습니다.
  • 분기된 대화 (재생성된 응답). ChatGPT는 재생성하거나 편집하고 분기를 만들 수 있게 합니다. Save는 현재 활성 분기 --- 확장을 클릭할 때 UI에 보이는 것 --- 를 내보내고, 모든 대체 응답은 아닙니다.
  • ChatGPT Memory 참조. 어시스턴트가 “앞서 논의한 대로”라고 말하고 Memory에서 끌어올 때, 그것은 페이지가 아닌 모델의 컨텍스트에 저장됩니다. Save는 페이지에 있는 것만 내보낼 수 있습니다; Memory 내용은 파일에 나타나지 않습니다.
  • O1 / o1-pro 숨겨진 추론 체인. OpenAI는 추론 모델의 전체 사고 체인을 노출하지 않습니다 --- 요약을 표시합니다. Save는 페이지에 보이는 요약을 내보내고, 그것이 사용자가 보는 것입니다. 원시 숨겨진 추론은 어떤 클라이언트 측 도구에도 사용할 수 없습니다.

워크플로와 조합하기

Markdown 출력은 필요한 곳 어디서나 작동합니다:

  • Claude / Gemini / 로컬 LLM --- 파일을 붙여넣고, 다른 모델에서 대화 계속
  • Obsidian --- vault에 넣고, 관련 노트에 연결하고, 저장된 모든 AI 스레드에서 검색
  • Notion --- 직접 붙여넣기, 헤더와 코드 블록이 올바르게 렌더링되고, 표는 표로 유지
  • Apple Notes --- Markdown 공유 확장을 통한 깔끔한 가져오기
  • Save Vault --- 연결되어 있다면, 모든 ChatGPT 저장이 자동으로 백링크와 태그와 함께 도착하여 다른 모든 소스의 저장과 나란히 놓임

FAQ

Save는 ChatGPT 모바일 앱에서 작동하나요? 확장은 데스크톱 Chrome 전용입니다. 모바일에서는 모바일 Safari나 Chrome에서 대화를 열고, 공유 링크를 복사한 다음, 데스크톱 브라우저에서 저장하세요.

전체 대화 대신 한 턴만 저장할 수 있나요? 대부분의 사람들이 원하기 때문에 기본값은 전체 대화입니다. 필요 없는 턴을 삭제하여 나중에 파일을 잘라낼 수 있습니다 --- 평범한 Markdown입니다.

다른 사람이 공유한 링크에서 작동하나요? 네. 공유 링크를 브라우저에서 열고, 확장을 클릭하면 Markdown 파일을 얻습니다. 공유 링크는 ChatGPT에 로그인할 필요가 없습니다.

Claude나 Gemini 대화는 어떤가요? 같은 확장. Save는 claude.aigemini.google.com에서 ChatGPT와 같은 방식으로 작동합니다 --- 출력은 모델별 역할 라벨 (## Claude, ## Gemini)을 사용하지만 파일 구조는 동일합니다.

원본 대화 제목을 보존하나요? 네. ChatGPT 사이드바에 표시된 제목이 frontmatter의 title 필드와 파일명이 됩니다. 대화 이름을 변경했다면, 변경된 이름이 저장됩니다.

코드 블록이 정말 언어 태그와 함께 보존되나요? 네. ChatGPT는 DOM의 코드 블록에 언어를 표시하고 (language-typescript, language-python 등) Save는 그것을 읽습니다. 올바른 언어가 있는 트리플 백틱 펜스가 출력에 표시됩니다.

Custom GPT를 지원하나요? 네. Custom GPT 이름이 frontmatter에 나타납니다. 대화 내 도구 호출 (브라우징, 코드 인터프리터, 파일 분석)이 표시되어 일반 답변과 도구가 관련된 답변의 차이를 알 수 있습니다.

비용은 얼마인가요? Save에는 몇 가지 대화에서 시도할 수 있도록 무료 티어가 있습니다. 그 후에는 작은 구독으로 Save가 지원하는 모든 사이트에서 지속적인 사용을 커버합니다.

관련 Save 가이드

## Continue reading

Jean-Sébastien Wallez

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.

## try save

더 스마트하게 저장할 준비가 되셨나요?

클릭 한 번으로 모든 웹페이지를 Markdown으로 변환하세요.

Chrome에 추가 🐿️