Backup iPhone Photos to Your Storage

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

Easy to Use

  1. 1

    Choose a Node

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

  2. 2

    Check Months

    Backup, Download, or Complete 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 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, SFTP, an S3-Compatible Bucket, OneDrive, or a Watermelon Link session.

Where are Node accounts, passwords, and keys stored?

Credentials required by Nodes are stored in iOS Keychain and are not written to diagnostic logs. For OneDrive, tokens are managed by MSAL.

What do Backup, Download, and Complete mean?

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

Can it back up and restore Live Photos?

Watermelon Backup saves Live Photo resources as a still image and a paired video, then uses the Photos import path when restoring them. The result depends on the required resources being present.

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

Backup is based on original resources rather than preview exports. Capture time and embedded metadata such as EXIF are handled through those resources and the iOS Photos import path.

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

This can be normal and does not automatically 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 backup may keep 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 (LAN 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

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

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 (LAN 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

OneDrive

Protocol Microsoft Graph API
Authentication Sign in with Microsoft (MSAL)
Account Type OneDrive Personal
Permission Scope Files.ReadWrite.AppFolder
App Folder Backups are stored in Watermelon's OneDrive app folder; files outside it are not accessible.
Listing Microsoft Graph children listing with pagination
Upload Direct upload under 10 MiB and resumable upload sessions
Token Handling Account identity is stored in Keychain; access and refresh tokens are managed by MSAL.
Not supported OneDrive for Business, SharePoint-backed drives
Limit Availability depends on Microsoft account state, quota, throttling, and network connectivity.

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
Microsoft Authentication Library (MSAL) Microsoft account sign-in and token cache for OneDrive
AMSMB2 (fork) SMB connection, share browsing, and SMB file operations
Citadel (fork) SFTP over SSH, host-key fingerprint handling, and SFTP file operations
WebRTC (fork) Browser Link peer connection and data-channel transfer
GRDB Local SQLite database for backup indexes, manifests, and cache validation
Kingfisher Image loading and local UI cache for the photo interface
SnapKit Interface layout
MarqueeLabel Scrolling text labels

Let's Backup

Get for FREE