A native FileZilla alternative for your Mac

FileZilla is a dependable, free workhorse. But it was never designed as a Mac app. Here is an honest look at what changes when you switch to a client built only for macOS.

FileZilla has earned its reputation: it is free, open source and battle-tested on millions of servers. If you live inside macOS all day, though, you feel the difference — a cross-platform interface that ignores Mac conventions, passwords kept in an XML file instead of the Keychain, and no Quick Look, no ⌘K, no App Sandbox.

Upstream keeps the parts that matter — rock-solid FTP, FTPS and SFTP — and rebuilds everything else as a native Swift app. And because switching tools should not mean retyping fifty hosts, Upstream FULL imports your entire FileZilla Site Manager in one step.

Should you switch from FileZilla?

If FileZilla is the only FTP client you open on a Mac and it never annoys you, keep it — it is free, open source and reliable. Switch if the non-native interface, plain-text passwords or the missing Mac conveniences cost you time every week.

The honest framing: FileZilla is not a bad client, it is a cross-platform client. Everything that feels off on macOS traces back to that one decision — the wxWidgets toolkit, the XML credential store, the absence of Quick Look and App Sandbox. None of it is a bug; it is the price of running the same codebase on Windows, Linux and Mac.

Upstream makes the opposite trade: macOS only, three protocols only, and everything else built native. You lose Windows, Linux and the cloud protocols of FileZilla Pro. You gain an app that behaves like the rest of your Mac — and you can move your whole server list over in about a minute with the FileZilla import.

Upstream vs FileZilla, feature by feature

An honest snapshot — a ✓ means the feature ships today, notes mark the differences that matter.

FeatureUpstreamFileZilla
PriceFree · FULL $29.99 once (US; varies by store)Free, open source (Pro is paid)
FTP, FTPS & SFTP
Native macOS app (Swift & SwiftNIO)Cross-platform toolkit UI
Passwords in the macOS KeychainXML file (optional master password)
App Sandbox & Mac App Store
Folder sync with dry-run previewFULLDirectory comparison only
Edit remote files with auto-uploadFULLBasic view/edit
Quick Look previews
⌘K command paletteFULL
Multiple tabsFULL
Cloud protocols (S3, WebDAV…)Pro version only
Windows & Linux versions
Import sites from FileZillaFULL — sitemanager.xml

Where FileZilla is still the right choice

  • You need the same client on Windows or Linux — Upstream is macOS-only.
  • You want a completely free, open-source tool with no paid tier at all.
  • You need cloud storage protocols like S3 or WebDAV (FileZilla Pro covers them; Upstream is deliberately FTP/FTPS/SFTP only).

Switch in about a minute

Export nothing, reconfigure nothing: point Upstream FULL at FileZilla’s sitemanager.xml (or your ~/.ssh/config) and every host, port, protocol and username comes across intact. Add passwords to the Keychain and you are connected.

What actually changes day to day

Four differences you notice within the first week — and the reasoning behind each.

The interface stops fighting macOS

FileZilla draws its interface with wxWidgets, a cross-platform toolkit. It works, but it is not a Mac interface: the icons are its own, dark mode is approximate, and the conventions you use everywhere else simply are not there. No spacebar Quick Look. No ⇧⌘. to toggle hidden files. Drag & drop with the Finder is inconsistent.

Upstream is written in Swift with SF Symbols throughout, so the Mac shortcuts you already know work: spacebar previews a remote file without downloading it, ⇧⌘. reveals dotfiles like .htaccess and .env — see showing hidden files over FTP — and you can drag straight into a Finder window.

Passwords move into the Keychain

This is the difference worth caring about. By default FileZilla writes site passwords into ~/.config/filezilla/sitemanager.xml in plain text — Base64-encoded at most, which is encoding, not encryption. Any process that can read your home directory can read every server password, and so can any backup or cloud-sync copy of it. FileZilla does offer an optional master password, but it is off unless you turned it on.

Upstream stores credentials in the macOS Keychain: encrypted at rest, unlocked by your login, never written into the app’s own configuration. The app also runs inside Apple’s App Sandbox and ships through the Mac App Store, so it only touches the folders you grant it.

Folder sync gets a dry run

FileZilla has directory comparison — it highlights what differs between the two panes, and you decide what to drag. That is fine for a handful of files and unhelpful for a site deploy.

Upstream FULL treats sync as an operation: pick a direction, and it shows a colour-coded preview of every file it would upload, overwrite or delete before anything happens. You approve the list, then it runs. Syncing folders over FTP walks through it, and uploading a website covers the deploy case.

Transfers resume instead of restarting

Both clients queue transfers concurrently. The difference shows up when a connection drops mid-job: Upstream’s queue is built on SwiftNIO with exponential-backoff retries and automatic resume, so a failed 4 GB upload picks up where it stopped rather than starting over.

You can also tune the parallelism per site — useful on shared hosts that throttle or drop connections when you open too many at once, which is a common cause of the 421 and 425 errors people blame on the client.

Common questions

What is the best FileZilla alternative for Mac?
It depends on what you connect to. For FTP, FTPS and SFTP servers, Upstream is a native Swift app with Keychain security, a dual-pane view and a one-click FileZilla import. If you also need S3 or WebDAV, Cyberduck is the closer match; if budget is no object, Transmit 5 is the veteran choice.
Can Upstream import my FileZilla sites?
Yes. Upstream FULL imports every server from FileZilla’s sitemanager.xml, or from your ~/.ssh/config, in a single step — host, port, protocol, FTPS mode, username, password and remote path all come across, and passwords land in the macOS Keychain.
Is Upstream free like FileZilla?
The core is free with no limits: unlimited sites, the concurrent transfer queue, Quick Look, CHMOD and full file management. FULL is an optional $29.99 one-time In-App Purchase (price varies by App Store country) that adds automation — never a subscription. FileZilla stays free and open source; Upstream is not open source.
Is FileZilla safe to use on macOS?
The client itself is fine — the concern is that it stores site passwords in plain text inside sitemanager.xml unless you enable its optional master password. Anything that reads your home directory, including a backup or a sync client, reads those credentials. Upstream keeps them in the macOS Keychain instead. Also make sure you download FileZilla from filezilla-project.org: third-party mirrors have historically bundled adware.
Does Upstream support S3 or WebDAV like FileZilla Pro?
No, by design. Upstream focuses on doing FTP, FTPS and SFTP exceptionally well. If you need cloud-bucket protocols, FileZilla Pro or Cyberduck are better fits.
Is there a free FileZilla alternative for Mac?
Yes — Upstream’s free tier is a complete client: unlimited saved sites, FTP, FTPS and SFTP, the concurrent transfer queue, Quick Look previews, CHMOD and full file management, with no time limit. Folder sync, watch-mode editing, tabs, ⌘K and the FileZilla importer are the FULL features.
Will Upstream feel familiar coming from FileZilla?
The layout will: local on the left, remote on the right, a transfer queue underneath. What changes is everything Mac-specific — spacebar Quick Look, ⇧⌘. for hidden files, Finder drag & drop, real dark mode and SF Symbols instead of the toolkit icons FileZilla inherits from wxWidgets.

Try Upstream free, decide later

The core is free forever — unlimited FTP, FTPS and SFTP sites, the concurrent queue, Quick Look and full file management. No trial clock, no subscription.

Download on the Mac App Store

More comparisons: Upstream vs Cyberduck · Upstream vs Transmit