Cyberduck: FTP, SFTP, WebDAV & Cloud Storage Client
Cyberduck is a libre client for macOS and Windows built around moving files over FTP, SFTP, WebDAV, and cloud backends including Amazon S3, Backblaze B2, Azure, and OneDrive. It's a GPL-3.0 desktop app with a separate CLI, not a web dashboard or a sync daemon. Reach for it if you move files across several protocols by hand and want one client instead of five; skip it if you just need one vendor's native sync app.
What is Cyberduck?
Cyberduck is an open-source, GPL-3.0 desktop app for macOS and Windows that moves files, built in Java. It connects over FTP, SFTP, and WebDAV, and to cloud storage services including Amazon S3, Backblaze B2, Microsoft Azure, OneDrive, and OpenStack Swift. It also ships a command-line build that compiles separately for Linux, macOS, and Windows. Those same core libraries power Mountain Duck, a companion drive-mounting tool from the same team.
Core Capabilities and Supported Protocols
- โFTP, SFTP, and WebDAV support built into the desktop client, per the repo description.
- โCloud storage backends for Amazon S3, Backblaze B2, Microsoft Azure, and OneDrive, plus OpenStack Swift.
- โA separate command-line interface (CLI) build for Linux, macOS, and Windows, produced from the same source tree.
- โGitHub topics on the repo also name Dropbox, Google Drive, SharePoint, Cryptomator, iRODS, and Dracoon.
- โExtra connection profiles beyond the defaults live in a separate iterate-ch/profiles repository, loaded via Preferences โ Profiles.
- โShares its core protocol libraries with Mountain Duck, the team's drive-mounting counterpart app.
- โNightly snapshot and beta builds are available, switchable in Preferences โ Update.
- โLocalized through Transifex into languages from German and Japanese to Thai and Hebrew, with a dedicated localization mailing list.
Who is Cyberduck For?
Cyberduck fits people who move files by hand across more than one protocol or storage backend and don't want a separate app for each: sysadmins on a legacy FTP host, photographers uploading to S3 or Backblaze, teams parked on OneDrive or Azure. Developers who'd rather script transfers than click through a GUI can reach for the CLI build instead. Skip it if you specifically need a vendor's native two-way sync client, since Cyberduck's README describes a transfer and browsing client, not continuous background sync.
Building Cyberduck from Source
You'll need at least a Java 11 SDK, Apache Ant from version 1.10.1, and Maven 3.5 to build Cyberduck. macOS also needs Xcode 12 or newer. On Windows, Visual Studio 2022 must include the .NET desktop development workload, the Universal Windows Platform development workload, and the Desktop development with C++ workload. It also needs the Bonjour SDK for Windows installed; a WiX v3 toolset install stays optional. Chocolatey packages are listed as an alternative to a manual Visual Studio install. Windows builds also need NuGet configured with a GitHub personal access token carrying at least read:packages scope, since two of the build's Maven repositories pull from GitHub Package Registry. Once those are ready, `mvn verify -DskipTests -DskipSign` builds the app without running tests or signing code, producing `osx/target/Cyberduck.app` on macOS and `windows/target/Cyberduck.exe` on Windows. Add `-Pinstaller` to also produce packaged installers: .zip/.pkg on macOS, .exe/.msi on Windows, and .pkg/.tar.gz, .exe/.msi, and .deb/.rpm for the macOS, Windows, and Linux CLI builds respectively. macOS builds can add `-Psandbox` to apply the app-sandbox entitlement. Kick off `mvn test -DskipITs` afterward to exercise the unit test suite while skipping integration tests.
Strengths
- โCovers a wide protocol and backend spread in one app: FTP, SFTP, WebDAV, S3, Backblaze B2, Azure, OneDrive, and OpenStack Swift, per the repo description.
- โGPL-3.0 licensed with source and build instructions public on GitHub, not a closed binary-only download.
- โShips both a GUI and a separate CLI build, so the same protocol support is scriptable, not locked to point-and-click.
- โAn active localization pipeline through Transifex covers languages from German and Japanese to Thai and Hebrew, with its own mailing list for translation updates.
- โExtendable beyond bundled protocols via the separate connection-profiles repository.
Considerations and Potential Drawbacks
- โณBuilding from source needs several toolchains at once: Java, Maven, Ant, and platform-specific pieces like Xcode 12 on macOS or Visual Studio 2022 workloads and the Bonjour SDK on Windows.
- โณWindows builds require a GitHub personal access token configured in NuGet before anything compiles, an extra credential step most desktop apps skip.
- โณThe README itself calls the Chocolatey install path failure-prone, citing a Bonjour package error and a WiX .NET 3.5 dependency that doesn't complete on Windows 11.
- โณNightly snapshot and beta builds are flagged as potentially unstable and experimental in the README.
- โณNo package-manager install command (Homebrew, winget) appears in this repo's README, only source-build steps and a pointer to a separate docs site.
- โณWhether Cyberduck does continuous background sync or only on-demand browsing and transfer isn't addressed in the README โ check the docs site before assuming either way.
Exploring Similar File Transfer Tools
Frequently Asked Questions about Cyberduck
Cyberduck is used to browse and transfer files over FTP, SFTP, and WebDAV, and to move files in and out of cloud storage accounts such as Amazon S3, Backblaze B2, Microsoft Azure, and OneDrive, from a desktop app on Mac or Windows.
Cyberduck ships as a desktop app for macOS and Windows, and its command-line interface also builds for Linux, according to the repository's build artifacts.
Cyberduck connects to Amazon S3, Backblaze B2, Microsoft Azure, OneDrive, and OpenStack Swift per the repo description, and its GitHub topics also list Dropbox, Google Drive, SharePoint, and Dracoon.
Cyberduck is open source, with its code licensed under the GNU General Public License version 3 (GPL-3.0), and the project welcomes pull requests on GitHub.
Code contributions go through pull requests on GitHub under the GPL-3.0 license, and translation work happens on Transifex, where Cyberduck already has localizations in languages including German, French, Japanese, and Russian; a dedicated mailing list tracks translation changes.
Cyberduck offers a command-line interface that builds separately for Linux, macOS, and Windows, packaged as .deb/.rpm on Linux and .pkg/.exe/.msi installers on macOS and Windows.
The problem it solves
Anyone who moves files to more than one kind of remote storage runs into fragmentation fast: an FTP client for a legacy web host, a separate S3 tool for backups, another app for OneDrive, and no single client that speaks the whole set. Cyberduck's README frames the project around exactly that gap: one client covering FTP, SFTP, WebDAV, and several cloud storage backends (S3, Backblaze B2, Azure, OneDrive, OpenStack Swift) instead of picking a different app per provider.
Best use cases
- โขManaging a legacy web host over FTP or SFTP alongside a newer S3 or Backblaze B2 bucket, without switching apps.
- โขBrowsing and moving files across a WebDAV share, useful for teams running Nextcloud or similar self-hosted storage.
- โขWorking from a script or terminal session via the separate CLI build instead of the desktop GUI.
- โขPulling in extra connection profiles from the iterate-ch/profiles repository through Preferences โ Profiles.
- โขDebugging or contributing to the Cyberduck codebase itself, using the documented macOS remote debugger (-Pdebug, port 5005) or the Windows Visual Studio debugging flow.
Related repositories
Still deciding about cyberduck?
One click hands the question to an AI along with this page โ see what it says about cyberduck.
