A tool for extracting files from iPhone backups.
- macOS only
- Unencrypted backups only
Pre-built binaries are available for download from the release page.
- Grant Full Disk Access to your terminal application:
- Open System Settings → Privacy & Security → Full Disk Access
- Add and enable your terminal application (Terminal.app, iTerm2, etc.)
- Locate your iPhone backup directory:
ls ~/Library/Application\ Support/MobileSync/Backup- Search for files in the backup using
idig search:
idig --backup-dir ~/Library/Application\ Support/MobileSync/Backup/XXXXXXXX-XXXXXXXXXXXXXXXX \
search --domain-contains com.apple.news \
--path-contains Documents- Extract files from the backup using
idig extract:
idig --backup-dir ~/Library/Application\ Support/MobileSync/Backup/XXXXXXXX-XXXXXXXXXXXXXXXX \
extract --domain-contains com.apple.news \
--path-contains Documents \
--output extracted-filesUsage: idig <COMMAND>
Commands:
list List all available backups [aliases: ls]
search Search for files based on various criteria
extract Extract files based on search criteria
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
List all available backups
Usage: idig list [OPTIONS]
Options:
--backups-root <BACKUPS_ROOT> Root directory containing multiple backup folders [default: "~/Library/Application Support/MobileSync/Backup"]
-h, --help Print help
Search for files based on various criteria
Usage: idig search [OPTIONS] --backup-dir <BACKUP_DIR>
Options:
-b, --backup-dir <BACKUP_DIR> iPhone backup directory path (containing Manifest.db)
--domain-exact <DOMAIN_EXACT> Exact domain match
--domain-contains <DOMAIN_CONTAINS> Partial domain match
--path-exact <PATH_EXACT> Exact path match
--path-contains <PATH_CONTAINS> Partial path match
--or Use OR logic instead of AND (default is AND)
-h, --help Print help
Extract files based on search criteria
Usage: idig extract [OPTIONS] --backup-dir <BACKUP_DIR> --output <OUTPUT>
Options:
-b, --backup-dir <BACKUP_DIR> iPhone backup directory path (containing Manifest.db)
-o, --output <OUTPUT> Output directory for extracted files
--domain-exact <DOMAIN_EXACT> Exact domain match
--domain-contains <DOMAIN_CONTAINS> Partial domain match
--path-exact <PATH_EXACT> Exact path match
--path-contains <PATH_CONTAINS> Partial path match
--or Use OR logic instead of AND (default is AND)
-h, --help
