Перейти к содержанию
← Все статьи

Как экспортировать переписку с ChatGPT в Markdown

Как сохранить чат ChatGPT в Markdown: вручную и из официального экспорта через скрипт — с кодом, таблицами и front matter для Obsidian.

26 октября 2026 г. · 6 мин

Markdown — самый удобный формат для чатов с ИИ: файл читается в любом редакторе, блоки кода сохраняют язык, таблицы остаются таблицами, а Obsidian, Notion и GitHub понимают его без конвертации. Встроенной кнопки «Сохранить в Markdown» в ChatGPT по-прежнему нет. Разберём два рабочих способа экспорта чата ChatGPT — ручной и через скрипт — и расскажем, какой экспорт скоро появится в Chatsavo.

Что умеет сам ChatGPT

По данным на октябрь 2026, у ChatGPT два встроенных пути вынести переписку наружу:

Способ Что получаете Подходит для
Кнопка «Копировать» под ответом Текст одного ответа в Markdown Один-два ответа
Настройки → Управление данными → Экспорт данных ZIP с conversations.json и chat.html со всей историей Резервная копия, массовая обработка

Официальный экспорт приходит письмом. Подготовка может занять до 7 дней, а ссылка действует 24 часа (справка OpenAI). Экспорт доступен на тарифах Free, Go, Plus и Pro, но не в рабочих пространствах Business и Enterprise. Markdown-файлов в архиве нет: только JSON и HTML (ChatGPT Exporter, по данным на октябрь 2026).

Способ 1. Вручную: для одного короткого чата

  1. Наведите на сообщение ChatGPT и нажмите «Копировать». Ответ копируется с Markdown-разметкой: заголовками, списками и блоками кода.
  2. Вставьте его в редактор (VS Code, Obsidian, Typora).
  3. Свои вопросы скопируйте отдельно и оформите, например, как ### Вы.

Это работает, пока сообщений пять-шесть. На длинном чате вы потратите больше времени на склейку, чем на чтение.

Способ 2. Из официального экспорта через скрипт

Если нужно перевести в Markdown всю историю, возьмите conversations.json из архива и конвертируйте его скриптом. Структура файла внутренняя и может меняться, но на октябрь 2026 у каждого чата есть title, create_time и дерево сообщений mapping.

Минимальный скрипт на Python: по файлу на чат, роли подписаны, ветки упрощены до последовательности.

import json, re, pathlib, datetime

data = json.load(open("conversations.json", encoding="utf-8"))
out = pathlib.Path("chatgpt-md"); out.mkdir(exist_ok=True)

for conv in data:
    title = conv.get("title") or "Без названия"
    nodes = conv.get("mapping", {}).values()
    msgs = [n["message"] for n in nodes if n.get("message")]
    msgs.sort(key=lambda m: m.get("create_time") or 0)

    lines = [f"# {title}", ""]
    for m in msgs:
        role = m["author"]["role"]
        parts = [p for p in m.get("content", {}).get("parts", []) if isinstance(p, str)]
        text = "\n".join(parts).strip()
        if role not in ("user", "assistant") or not text:
            continue
        lines += ["### Вы" if role == "user" else "### ChatGPT", "", text, ""]

    date = datetime.date.fromtimestamp(conv.get("create_time") or 0)
    name = re.sub(r'[\\/:*?"<>|]+', " ", title)[:80].strip()
    (out / f"{date} {name}.md").write_text("\n".join(lines), encoding="utf-8")

Ограничения этого способа:

  • снимок на дату выгрузки: новые чаты придётся выгружать заново;
  • ветки: если вы редактировали вопросы, в mapping хранятся все версии, и простая сортировка по времени их перемешает. Чтобы взять только активную ветку, нужно идти от current_node к корню по parent;
  • изображения и файлы придут отдельно или ссылками, их надо раскладывать вручную.

Для разовой архивации всей истории это лучший бесплатный путь.

Скоро: экспорт в Chatsavo

Экспорт в Markdown и другие форматы в Chatsavo — скоро, в ближайших обновлениях. Сейчас его нет: ниже — как он будет устроен.

Chatsavo будет строить Markdown из того же разговора, который вы видите на странице, и учитывать особенности формата:

  • блоки кода с языком: блок на Python так и останется блоком с пометкой python;
  • таблицы останутся таблицами Markdown;
  • формулы сохранятся как LaTeX;
  • ссылки не потеряются;
  • роли будут подписаны: «Вы» и «ИИ»;
  • в шапке — сайт, дата и ссылка на исходный чат.

Так мы планируем оформлять экспорт в режиме «для Obsidian», с YAML front matter:

---
title: "Миграция на Postgres 17"
source: "ChatGPT"
url: "https://chatgpt.com/c/…"
created: 2026-09-14
updated: 2026-10-02
folder: "Работа / Бэкенд"
---

# Миграция на Postgres 17

### Вы

Какие изменения в pg_upgrade стоит проверить?

### ИИ

…

Поле folder будет браться из папки Chatsavo, так что в Obsidian по нему сразу заработают поиск и Dataview.

Какие форматы планируются:

Формат Для чего
Markdown Любой редактор, GitHub, документация
Markdown для Obsidian YAML front matter: сайт, даты, папка, ссылка
Markdown для Notion Совместимая разметка для импорта в Notion
HTML Открыть в браузере или отправить коллеге
TXT Простой текст без разметки

Что есть уже сейчас: полная выгрузка всех ваших данных Chatsavo в JSON, бесплатно на любом тарифе: Настройки → Ваши данные → «Скачать всё (JSON)». Файлы до 25 МБ эта версия умеет восстановить; более крупные пока остаются только экспортом. Когда экспорт появится, это будет в журнале изменений.

Какой способ выбрать

  • Один ответ → кнопка «Копировать» в ChatGPT.
  • Вся история разом, один раз → официальный экспорт и скрипт.
  • Регулярно сохранять отдельные чаты в Obsidian или Notion → пока кнопка «Копировать» или скрипт; экспорт в Chatsavo — скоро.

Куда класть экспортированные чаты

Файл сам по себе мало что даёт: полезно то, что его потом можно найти. Несколько рабочих схем:

  • Obsidian. Отдельная папка AI/ в хранилище, внутри — подпапки по темам. Поля front matter позволяют построить таблицу через Dataview: все чаты по папке «Работа / Бэкенд» за месяц.
  • Notion. Импорт Markdown создаёт страницу на каждый файл. Удобно для команды: чат превращается в документ, к которому можно оставить комментарии.
  • Git-репозиторий проекта. Папка docs/decisions/ с разговорами, где принимались архитектурные решения. Через год это лучше любой памяти.

Имя файла лучше начинать с даты: 2026-10-02 Миграция на Postgres 17 (ChatGPT).md. Тогда сортировка по имени совпадает с хронологией.

Частые проблемы

Блоки кода в Markdown потеряли язык. Так бывает при копировании выделением мыши: браузер копирует отображаемый текст, а не исходную разметку. Используйте кнопку «Копировать» под сообщением или официальный экспорт.

Таблица превратилась в текст через табуляцию. Та же причина. Кнопка «Копировать» сохраняет таблицы в синтаксисе Markdown.

Длинное имя файла не сохраняется. Названия чатов бывают длинными и с символами / или :. Скрипт выше обрезает имя до 80 символов и заменяет недопустимые символы; в своём скрипте сделайте так же.

Экспорт в Markdown и Obsidian появится в Chatsavo в ближайших обновлениях — следите за журналом изменений. А папки и поиск по тексту чатов ChatGPT и Claude работают уже сейчас: 7 дней Pro бесплатно, без карты. Как установить Chatsavo.

Найдите любой старый чат за секунду

Chatsavo добавляет папки и поиск по тексту в ChatGPT и Claude. Бесплатно, тексты остаются в браузере.

Установить бесплатно

Читайте также