Free, open-source iPhone backup extractor — messages, photos, voicemails & more
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A free, open-source iPhone backup extractor for Windows, Mac and Linux: read and save the messages, photos, voicemails, calls, contacts and notes in an iPhone or iPad backup.
Download for Windows, Mac or Linux · openextract.app
No cloud. No subscriptions. Your data stays on your computer.
Essays on Medium about what your phone keeps, and what it's like to finally read it:
More on Medium and the OpenExtract blog.
These use a made-up test backup, so none of the people or messages are real. Click any screenshot to see it full size.
Get the latest version from openextract.app or GitHub Releases.
.deb and open it, or install it from a terminal, then start OpenExtract from your app menu:
sudo apt install ./openextract_*_amd64.deb
.AppImage (chmod +x it first). AppImages need FUSE 2, which Ubuntu 22.04 and later no longer install by default. If it fails with dlopen(): error loading libfuse.so.2, install FUSE 2 (libfuse2t64 on Ubuntu 24.04+, libfuse2 on Ubuntu 22.04 and Debian, fuse-libs on Fedora, fuse2 on Arch), or run it without FUSE:
./OpenExtract-*.AppImage --appimage-extract-and-run
OpenExtract's parsing engine lives in a separate library,
ios-backup-core, which
python/requirements.txt installs from a sibling folder. Clone both repos
side by side, or pip install will fail and the app will report
ModuleNotFoundError: No module named 'ios_backup_core':
your-dev-folder/
├── openextract/
└── ios-backup-core/
# Clone both repos side by side
git clone https://github.com/charleswest775/ios-backup-core.git
git clone https://github.com/charleswest775/openextract.git
cd openextract
# Install Node dependencies
npm install
# Install Python dependencies
cd python
pip install -r requirements.txt
cd ..
# Start the development server
npm run dev
This will launch Vite (React dev server) and Electron together. The app will auto-detect iPhone backups in the default locations:
~/Library/Application Support/MobileSync/Backup/%APPDATA%\Apple Computer\MobileSync\Backup\macOS: the MobileSync folder is protected by macOS privacy controls, so OpenExtract needs Full Disk Access to read it (System Settings → Privacy & Security → Full Disk Access → turn on OpenExtract, then quit and reopen it). The app will prompt you with a shortcut to that setting if access is missing. When running from source with
npm run dev, grant Full Disk Access to your terminal app instead.
If you don't have a backup yet:
Electron (window, menus, file dialogs)
↕ IPC
React Frontend (UI components)
↕ JSON-RPC over stdin/stdout
Python Sidecar (backup parsing, SQLite queries, decryption)
The Python sidecar handles all backup reading and is bundled as a standalone executable for distribution (via PyInstaller). Users never need to install Python.
openextract/
├── electron/ # Electron main process + sidecar manager
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── hooks/ # React hooks for state management
│ └── lib/ # Utilities (IPC client, date formatting)
├── python/ # Python sidecar engine
│ ├── main.py # JSON-RPC server
│ ├── backup.py # Backup discovery & management
│ ├── messages.py # SMS/iMessage extraction
│ ├── contacts.py # Address book parsing
│ ├── photos.py # Photo/video extraction
│ ├── voicemail.py # Voicemail extraction
│ ├── calls.py # Call history parsing
│ └── notes.py # Notes extraction
└── scripts/ # Build scripts
# Bundle the Python sidecar (one file on macOS and Linux, a folder on Windows
# so every DLL in it can be signed)
npm run python:bundle
# Package the Electron app
npm run package
Output will be in the release/ directory.
OpenExtract runs 100% locally. Your backup data never leaves your computer. The source code is fully auditable — that's the point of being open source.
The only network request the app makes is an update check: it asks GitHub for the latest release's version file. It asks you once before checking automatically, you can turn it off in Settings, and it never sends anything about you or your backups. Updates download only when you click Update.
MIT — use it however you want.
PRs welcome! Key areas where help is needed: