Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Import and Export Conversations

Bring your chat history into LibreChat from ChatGPT, Claude, ChatbotUI v1, or another LibreChat instance, and export a conversation as Markdown, text, JSON, CSV, or an image.

You can import conversations exported from ChatGPT, Claude, and ChatbotUI v1, as well as a conversation exported from LibreChat as JSON. Imported chats show up in your history like any other. Export works one conversation at a time.

Get the export file

Request an export from ChatGPT (OpenAI's instructions). You get an email with a link to a zip file. Unzip it and use the conversations.json inside.

Request an export from Claude (Anthropic's instructions). You get an email with a link to the archive. Unzip it and use the conversations.json inside. Claude's thinking blocks are imported along with the text.

Export your conversations from ChatbotUI v1 and use the JSON file it produces as is.

Export the conversation as json (see Export a conversation below). This is how you move a conversation from one LibreChat instance to another.

Import the file

Go to Settings > Data & Privacy, select Import next to "Import conversations from a JSON file", and choose the file. The picker only accepts .json, so unzip ChatGPT and Claude archives first. The button shows "Importing" while it works, and "Conversations imported successfully" appears when it's done.

Settings open on the Data & Privacy tab, with the Import conversations row and its Import buttonSettings open on the Data & Privacy tab, with the Import conversations row and its Import button

LibreChat works out the format from the file's contents, not its name. If it doesn't recognize the file, you get "Unsupported import type".

A LibreChat import doesn't bring over the conversation's saved code approval mode (including Full access) or its unread state. The imported chat uses your own current approval preference and the deployment's policy.

Limits

  • The file can be up to 250 MiB unless your admin set a different limit. Larger files are rejected before upload.
  • A single conversation or message can't be bigger than about 16 MB, which is a database limit.
  • Imports are rate-limited per user and per IP, so importing many files in a row can be refused for a while.

Export a conversation

Open the conversation, open the Chat options menu (the ... button in the header, or the header menu on small screens), and select Export. Choose a file name and a type, then select Export.

TypeWhat you get
markdown (.md)A readable transcript. This is the default.
text (.txt)A plain-text transcript.
json (.json)The full message data. This is the format LibreChat can import again.
csv (.csv)One row per message.
screenshot (.png)An image of the conversation as it appears on screen.

Export all message branches works for json and csv; the other types export only the branch you're viewing. Include endpoint options adds the model and its settings, and isn't available for csv or screenshot. For json you can also choose Recursive (messages nested under their parent) or sequential.

There's no export of all your conversations at once, and a new chat or a search result has nothing to export, so the menu doesn't appear there.

Setup

Import and export work for every user without setup. Admins can change the import size limit with CONVERSATION_IMPORT_MAX_FILE_SIZE_BYTES and the rate limits with the IMPORT_* variables; see the .env reference.

How is this guide?