A tool to migrate your ChatGPT conversations and memories to OpenWebUI.
- Docker installed and running
- OpenWebUI running in Docker
- Python 3.8+
-
Prepare the data folder
mv .data data
-
Configure environment (optional)
cp .env.example .env
- Add your
USER_IDif you want to specify it - If not set, the script will:
- Use the single user if only one exists
- Prompt you to select if multiple users exist
- Add your
- Go to ChatGPT → Settings → Data controls → Export data
- Click "Export" and wait for the email
- Download the zip file from the email (you have 24 hours)
- Unzip the file and copy all contents to
data/chatgpt/
- Go to ChatGPT → Settings → Personalization → Manage memories
- Copy all memory entries
- Paste them into
data/chatgpt/memory.txt
python migrate_all.pyThe script will:
- Stop your OpenWebUI container
- Backup your database
- Migrate conversations and memories
- Restart OpenWebUI
- Images: ✅ Fully supported
- Files: ❌ Not supported (PDFs, JSON, etc.)
- OpenAI doesn't allow exporting uploaded files, only images
- Skipped files will be shown in the logs as well as in the chats as a placeholder
- Duplicates: Memory entries are automatically deduplicated
- Chats: Chats are automatically overridden and no duplicates are allowed
- Ensure Docker is running
- Check that OpenWebUI container name is
open-webui - Review logs for any skipped content