Backup iPhone Photos to Your Storage

Supports Backup to External Storage, SMB, WebDAV, S3-Compatible Buckets, and SFTP.
Open Source on GitHub.

Easy to Use

  1. 1

    Choose a Node

    External Storage, SMB, WebDAV, S3-Compatible Buckets, or SFTP.

  2. 2

    Check Months

    Backup, Download, or Complement by month.

  3. 3

    Run

    Sync the Remote Index, Then Pause or Resume When Needed.

Open Source and Reviewable

We believe privacy matters as much as ownership.

Pricing

One-Time Purchase. No Subscription.

Item Free Pro
Price US$7.99 Free Now About 2 Coffees
Foreground Backup
Node(s) 1 Unlimited
Automatic Background Backup
PiP Progress
Focus Mode

FAQ

If Watermelon Backup is open source, why is there an in-app purchase?

Watermelon Backup is open source, and you can compile the app directly in Xcode. The in-app purchase supports ongoing development, maintenance, and updates so the app can keep serving users well.

Does the in-app purchase renew? Is it permanent?

It does not renew. Pro is a one-time purchase and stays available for life. On a new device, use Restore Purchase to restore your entitlement.

What is a Node?

A Node is a storage connection you add in the app. It can be External Storage, SMB, WebDAV, an S3-Compatible Bucket, or SFTP.

Where are Node accounts, passwords, and keys stored?

Credentials required by Nodes are stored in iOS Keychain and are not uploaded to Watermelon Backup servers.

What do Backup, Download, and Complement mean?

Backup writes original photos and videos from this device to the current Node; Download restores backed-up items from the Node into Photos; Complement backs up first, then downloads: it sends local items missing on the Node, then brings remote-only items back into Photos.

Can it back up and restore Live Photos?

Yes. Watermelon Backup saves each Live Photo as a still image and a paired video. When you import it back with Watermelon Backup, it is merged back into a Live Photo.

Will backup reduce quality or lose capture time or EXIF data?

No. Photos and videos are not recompressed. Watermelon Backup keeps the original files as much as possible, so capture time and embedded metadata such as EXIF stay with the originals.

Why don't local and remote counts or sizes match after backup?

This is expected and does not mean photos or videos are missing. Watermelon Backup backs up by month and uses content hashes to detect duplicates. If the same original content appears more than once in a month, the remote storage keeps one actual file and the backup manifest records the related items. Remote file counts and storage usage can therefore be lower than local totals; small manifest/index files and each storage provider's accounting can also make the size display differ.

If iCloud Photos is enabled, can Watermelon Backup still back up original photos?

Yes. Turn on Allow iCloud Photo Access in the app settings so Watermelon Backup can fetch iCloud originals when needed.

Why can't my External Storage be written to?

Check the External Storage format and the access state in Files. See Apple Support for details.

How do I report an issue?

Please email us. See Contact for contact details. If possible, include exported logs.

Specifications

Protocol Support

SMB

Protocol SMB 2 / SMB 3
Authentication Username + password
Domain Optional domain / workgroup
Not supported SMB1

WebDAV

Protocol WebDAV over HTTP / HTTPS
Authentication Basic auth
HTTP Supported (local network only)
HTTPS Supported
Methods used PROPFIND, PUT, GET, DELETE, MKCOL, MOVE, COPY
Metadata Best-effort modification-time update via PROPPATCH
Not supported OAuth, Digest auth, client certificates

S3-Compatible

Protocol S3-compatible API
Signing AWS Signature Version 4
Authentication Access Key ID + Secret Access Key
Endpoint Custom HTTP / HTTPS endpoint
HTTP Supported (local network only)
HTTPS Supported
Bucket addressing Path-style and virtual-hosted-style
Region Manual input, with inference for common providers
Listing ListObjectsV2
Upload Single-part upload and multipart upload
Copy Server-side copy and multipart copy

SFTP

Protocol SFTP over SSH
Authentication Password or OpenSSH private key
Private keys OpenSSH Ed25519 and RSA private keys
Passphrase Supported
Host-key trust SHA256 host-key fingerprint pinning
KEX curve25519-sha256, [email protected], ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521
Compatibility KEX retry diffie-hellman-group14-sha1, diffie-hellman-group14-sha256
Host keys ssh-ed25519, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521
Compatibility host-key retry ssh-rsa
Ciphers [email protected], [email protected]
Compatibility cipher retry aes128-ctr
Not supported ECDSA private-key login, CBC-only servers, 3DES-only servers, diffie-hellman-group1-only servers

External Storage Support

External Volume

Type Local / external filesystem via iOS Files
Authentication iOS security-scoped access
Works with External drives and compatible Files providers
Capacity Reads available / total capacity when exposed by the provider
Limit Availability depends on iOS maintaining access to the selected volume or provider

Third-Party Libraries

iOS App Dependencies

Firebase Analytics Without Ad ID Support App health analytics without IDFA
Firebase Crashlytics Crash reports and reliability diagnostics
AMSMB2 (fork) SMB connection, share browsing, and SMB file operations
Citadel SFTP over SSH, host-key fingerprint handling, and SFTP file operations
GRDB Local SQLite database for backup indexes, manifests, and cache validation
Kingfisher Image loading and local UI cache for the photo interface
JXPhotoBrowser Photo preview interface
SnapKit Interface layout
MarqueeLabel Scrolling text labels

Let's Backup

Get for FREE