rclone
FreeSeventy-plus cloud storage services, one set of commands
A universal command-line tool for cloud storage. It speaks over seventy services and protocols — consumer cloud drives, S3-compatible object storage, WebDAV, FTP, SFTP and local disks — with one set of commands to sync, copy, mount and encrypt between them. It can mount remote storage as a local drive and encrypt everything before upload.
Why we picked it
The reality of cloud storage is that you probably have several — one for work, one at home, one that came with a device, plus a NAS. Each has its own client, its own logic and its own sync behavior, and moving data between them is worse still.
rclone unifies them. 59,140 stars, MIT, a single Go binary. It supports over seventy backends covering essentially every mainstream cloud drive, S3-compatible store, WebDAV, SFTP and self-hosted service.
Common operations:
Move between two clouds directly, without downloading and re-uploading locally:
rclone copy cloudA:folder cloudB:folder
One-way sync, making the destination match the source — which deletes extra files there, so use carefully:
rclone sync local-dir remote:backup
Mount as a local drive, so cloud storage appears as a directory in your file manager:
rclone mount remote: X: --vfs-cache-mode full
Two capabilities genuinely distinguish it from vendors' own clients:
- The crypt backend. Wrap any storage in encryption so filenames and contents are encrypted before upload and the provider sees only scrambled names and ciphertext. This means sensitive files can safely live on any cloud drive, unreadable even if that provider scans user files.
- Server-side copy. Copying within one service does not consume your bandwidth, and transfers between services can stream through without landing locally — an enormous difference when moving hundreds of gigabytes.
Also included: bandwidth limits, resumable transfers, concurrency tuning, rule-based filtering,
integrity checking, scheduling, and a web GUI via rclone rcd --rc-web-gui.
To be clear about:
syncis a dangerous command. It makes the destination identical to the source, deleting anything extra there. Always run it with--dry-runfirst to see what it intends to do. This is where newcomers most often lose data.- It is a command-line tool. The configuration wizard (
rclone config) is an interactive question-and-answer flow and not difficult, but commands remain the interface. Third-party GUIs exist. - Mounting is not syncing. A mount accesses the remote live and stops working when the network does; syncing copies files locally. Different purposes — do not conflate them.
- Provider APIs have limits. Some services cap request rates, file sizes or concurrency, and bulk operations can be throttled. The documentation covers each backend's quirks in detail and is worth reading first.
- Lose the crypt password and the data is unreadable. As with all end-to-end encryption, back up the configuration.
For anyone moving data between stores, running backups, or wanting a layer of self-controlled encryption on a cloud drive, this is close to irreplaceable.