<!-- https://zerolog.ch/docs/imports · Docs / Chat -->
One step elsewhere, three here

# Import from ChatGPT and Claude

Bring your existing conversations in. The export comes from the other service, the rest happens here.

## The four steps

The other service

1. ### 01Export

   The only step that happens over there. Request the data export in ChatGPT or Claude and open the archive you get back.

Here

1. ### 02Upload

   In Settings, Privacy, Chat Import & Export, choose the file, drop it on the field or paste a single conversation.
2. ### 03Preview

   The format is detected and you see what is inside before anything is written.
3. ### 04Confirm

   You approve what the preview showed.

On large exports

Large imports run as a background job and show progress. The preview may not include a full conversation count.

## What it costs

Importing

Not billed

Continue one

Continuing

Costs credit

Importing does not use chat credits.

What lands is read-only history. It stays that way until you continue one of the imported chats, and continuing is the only part that costs credit.

## Which exports work

- **ChatGPT.** The `conversations.json` file from the ChatGPT data export. Very large files are read one conversation at a time.
- **Claude.ai.** The conversation file from the Claude data export.
- **ZeroLog.** A JSON file exported from ZeroLog can be imported again.
- **Claude Code.** Session files in `.jsonl` format. Sub-agent transcripts (`agent-*.jsonl`) are nested under the session that started them when both files come in together.

Upload the conversation file itself, not the whole archive. The size limit is your account's upload limit, never below 1 GiB. ZeroLog works out the format from the content, so you do not pick one. Importing the same file again updates the chats already there instead of duplicating them.

## What comes across

- **The transcript.** Text and code of every message, with the original timestamps where the export has them.
- **Attachments by name only.** An image or file shows up as a reference to its name, not as the file.
- **No tool or machine state.** Files an agent touched, tool state and anything kept on the provider side do not transfer.
- **Branches.** In a ChatGPT export, the line you ended on is imported. Discarded forks are counted and reported; tick “All branches” to bring them in as collapsed alternates.

Every import produces a stored report that lists what was imported, skipped or not recognised.

## Keep the context

Two ways to use old chats. To carry on one conversation, continue it: ZeroLog opens a new live chat that starts with the imported transcript. To draw on many old chats at once, tick “Make searchable” at import or later, and a new conversation can pull in relevant parts through the context index. The chat shows which sources it used. How that works is on [Context index](https://zerolog.ch/docs/stitch).

## Questions

### Does importing my ChatGPT history cost anything?

No. Importing does not use chat credit. Credit is used only when you continue an imported chat with a model, the same as in any other chat. The imported messages themselves are not charged again.

### Can I continue an imported ChatGPT or Claude conversation?

Yes. Choose continue on an imported chat and ZeroLog starts a new live chat from its transcript, so you can pick a model and keep going. Tool state and files from the original service do not carry over; the transcript does.

## From an export to a chat you can continue

Mermaid source of the diagram on this page:

```mermaid
%% Import: from another service's export to a chat you can continue. Facts from web/apps/web/components/settings/data-panel.tsx, server/imports.js (staging, worker job, dedupe, report), server/importers.js (detectFormat).
flowchart TB
  exp["Export on the other service<br/>(ChatGPT, Claude)"]
  up["Upload or paste, check the<br/>preview, confirm"]
  job["Background job with progress,<br/>stored report"]
  hist["Read-only history<br/>(not billed)"]
  cont["Continue a chat:<br/>new live chat, costs credit"]:::hot
  srch["Make searchable:<br/>context index"]

  exp --> up --> job --> hist
  hist --> cont
  hist -.-> srch

  linkStyle 4 stroke:#8f7ac9
```
