I’m setting up a new workflow for managing website deployments and need a reliable FTP solution that works well with modern dev stacks and OSes. I’ve tried a couple of tools that feel outdated or clunky, and I’m worried about security, automation options, and team collaboration. Which FTP or SFTP clients are developers currently using in real-world projects, and what makes them stand out for speed, stability, and features?
FTP Clients That Don’t Suck (Too Much)
So, if you’re doing anything with remote servers, at some point you’re going to need a solid FTP/SFTP client. And yes, you can live in the terminal with scp or rsync forever, but sometimes a graphical client saves your sanity.
Here’s a rough breakdown of what people actually use in the real world, with some notes from bouncing between these over the years.
macOS: What I Actually Ended Up Using
On macOS there are a lot of options, and weirdly, most of them are almost great but not quite perfect.
-
Commander One
This one deserves a shoutout because it’s not just ‘an FTP client’ but a full file manager with dual panes. If you grew up on Norton Commander, Midnight Commander, or any of those old-school two-panel managers, Commander One feels familiar in a good way.It handles FTP, SFTP, FTPS, WebDAV, and even various cloud storages, so you can treat remote servers kind of like a mounted filesystem and drag things across panes.
Where it shines:
- Dual-pane layout for quick compare/copy
- Multiple protocol support
- Feels like a real file manager, not just ‘an FTP window’
It’s especially nice if you hop between local files, remote servers, and cloud stuff all day.
-
Transmit (macOS)
The default answer for a lot of Mac devs. Clean UI, rock-solid SFTP, favorites, sync, droplets, the whole deal. Costs money, but people pay for it for a reason. -
Cyberduck (macOS / Windows)
Free, open source, and supports pretty much every protocol you can throw at it: FTP, SFTP, WebDAV, S3, etc. The interface is… fine. Not fancy, not ugly, just functional. Good if you need something that Just Works and you don’t want to pay.
Cross-Platform Tools People Keep Coming Back To
-
FileZilla
The ‘it works, leave it alone’ option. It’s available on Windows, macOS, and Linux. Handles FTP, FTPS, SFTP. It’s not pretty, but it is fast and reliable.Things to like:
- Free and cross-platform
- Queue system for big transfers
- Site manager for saving all your servers
Things people complain about:
- UI feels like it came out of a time capsule from 2007
- You have to be careful to download it from the official site to avoid bundled garbage in older installers
-
WinSCP (Windows)
If you’re stuck on Windows and need SFTP, this is almost always the first recommendation. It does FTP/SFTP/FTPS, has an integrated editor, can sync directories, and even has a scripting/automation angle.Bonus: It has two layout styles. You can use a ‘Commander’ style two-panel layout or an Explorer-like interface, depending on what you’re used to.
Terminal People, Look Away
Even if you live in the CLI, sometimes these GUI tools help when:
- You need to visually compare folder structures
- You’re onboarding someone non-technical and do not want to explain
rsyncflags - You’re deploying to some old shared hosting setup that refuses to die and only exposes FTP/SFTP
Quick Summary
If you’re a developer and you want solid FTP/SFTP clients, here are the ones worth looking at:
-
macOS:
- Commander One: file manager + FTP/SFTP in a dual-pane layout
- Transmit: polished, paid, very popular
- Cyberduck: free, supports tons of protocols
-
Cross-platform / Windows:
- FileZilla: boring but dependable workhorse
- WinSCP (Windows): excellent for SFTP with nice sync options
If you try a few of these, you’ll pretty quickly figure out which interface annoys you the least, and that’s usually the one you’ll stick with.
I wouldn’t overthink “FTP clients devs actually use” too much. In practice it’s usually:
- SFTP from the terminal for quick stuff
- A GUI client when you need to visually diff folders, manage content, or onboard non‑devs
@mikeappsreviewer already covered the usual suspects pretty well, but I’ll push a slightly different angle: for a modern workflow, the bigger question is how often you want to touch FTP at all.
1. If you’re stuck with FTP/SFTP hosting
In that case, yeah, pick a client that doesn’t fight you:
-
Commander One (macOS)
If you like dual‑pane file managers, it’s actually great for a more “semi‑pro” workflow. Treat remote SFTP almost like a mounted drive, drag from left to right, compare directories, etc. For people who came from Midnight Commander or Total Commander, it feels fast and sane. As a bonus, it plays nice with other storage (S3, cloud) so it can kind of sit in the middle of your stack. -
Transmit (macOS)
Still really solid, but honestly I don’t love paying for an FTP client in 2025 unless I live in it all day. If your deployments are mostly automated and the GUI is just a backup, Commander One or Cyberduck is usually enough. -
Cyberduck (macOS / Windows)
I agree it “just works” but I find the UX clunky for heavy use. It’s fine as a secondary tool or for occasional access. -
FileZilla / WinSCP
They work, they’re ugly, devs keep them around because they get the job done. If the UI already feels outdated to you, these are probably going to annoy you pretty fast.
2. If you want something less clunky in a modern workflow
Honestly, the real quality-of-life improvement is:
- Use SFTP only (avoid plain FTP entirely)
- Do deployments via Git / CI
- Use an FTP/SFTP client only for:
- One-off hotfixes on old sites
- Inspecting remote logs / file structure
- Supporting clients stuck on cheap shared hosting
For that model, Commander One fits nicely because it acts as a file manager plus FTP client instead of “yet another clunky FTP window.” You can:
- Keep a local repo on the left, remote on the right
- Quickly diff folder contents visually
- Do ad‑hoc uploads without breaking your main deployment flow
So: if tools are starting to feel outdated or clunky, it’s probably not just the UI, it’s the workflow. I’d lock in SFTP + a dual‑pane app like Commander One on macOS, then push everything else into Git and automated deploys. Then the FTP client becomes a rescue tool instead of the core of your process, which is where it belongs in 2025, tbh.
You’re not wrong that a lot of FTP stuff feels like it time-traveled from 2003 and never updated its haircut.
@Mike already covered the usual suspects pretty well, but if those felt clunky to you, I’d look at this less like “which FTP app is best” and more like “what fits the way I actually deploy.”
Quick breakdown by workflow, not just app name:
1. Classic GUI client for day‑to‑day edits
If you’re still occasionally poking files on a shared host or cheap VPS:
-
Commander One (macOS)
This is honestly the one I’d suggest you try first if you’re on a Mac and felt other tools were dated. It’s not just an FTP client, it’s a dual‑pane file manager that treats FTP, SFTP, FTPS, WebDAV, and cloud storage as first‑class citizens.
Where it fits your use case:- Modern UI, not the “Java app from 2006” vibe
- Great for side‑by‑side local vs remote when you’re doing manual web deploys
- Plays nicer with modern macOS than some of the older ports
If your new workflow still involves occasionally dragging builds or assets to a server, Commander One is a very solid, “modern-feeling” option.
-
Transmit / Cyberduck / FileZilla
Since @mikeappsreviewer already hit these, I’ll just say: they’re fine, popular, and people do rely on them daily. Personally I find FileZilla’s UI borderline hostile, but it’s hard to argue with “works everywhere and rarely breaks.”
2. IDE‑integrated instead of a stand‑alone client
If you’re doing actual dev work and not just “FTP text editor,” a lot of folks quietly skip separate clients:
-
VS Code with SFTP/FTP extensions
Extensions like “SFTP” let you:- Map a remote folder to a VS Code workspace
- Save on your machine and sync directly over SFTP
- Compare local/remote and deploy only changed files
That feels way less clunky than context‑switching to a separate FTP window for every change.
-
PhpStorm / WebStorm / IntelliJ / etc.
Their built‑in deployment tools sync over SFTP, do diff, auto upload on save, and handle multiple environments.
For web deployments this often replaces traditional FTP clients entirely.
If you’re worried about “modern dev stack,” this is actually closer to how most teams work: code in IDE, deploy via tool, rarely open a dedicated FTP app.
3. Where FTP/SFTP should not be your main deployment tool
Minor disagreement with how often FTP gets normalized: if you’re setting up a new workflow and have full control over the server, then FTP/SFTP should ideally be a fallback, not the primary deploy mechanism.
For modern stacks, people lean on:
git pullon the server- CI pipelines (GitHub Actions, GitLab CI, CircleCI) pushing build artifacts
rsyncover SSH for assets or big static sites
Then you keep a GUI FTP/SFTP client around for:
- Quick hotfixes when you don’t want to redeploy the whole pipeline
- Inspecting logs or uploaded user content
- Cleaning up messy remote directories
In that role, something like Commander One is very handy: friendly enough for quick surgery, powerful enough not to make you hate life.
4. OS‑specific picks in one sentence each
If you just want names and don’t care about theory:
- macOS: Commander One if you want a modern, dual‑pane, everything-in-one-place client; Transmit if you don’t mind paying for polish.
- Windows: WinSCP if you’re SFTP‑heavy; it’s ugly in places but very capable.
- Linux: Honestly, most devs I know go terminal (
scp,rsync) plus IDE integration, with FileZilla as an occasional GUI when needed.
If the tools you tried felt outdated, I’d strongly try:
- IDE‑based deploy first,
- Then Commander One as your “visual safety net” for manual tweaks.
That combo usually feels a lot more “2025 dev workflow” and a lot less “cPanel in the basement.”
If the classic clients feel like archeology, you’re not imagining it. A lot of “popular” FTP tools are basically frozen in time.
Instead of rehashing what’s already been covered, here’s how I’d position things a bit differently and where something like Commander One actually fits.
1. When a standalone FTP client still makes sense
For a modern stack (Git, CI, containers), I’d keep GUI FTP/SFTP for:
- emergency hotfixes on legacy hosting
- poking around uploads/logs
- one‑off client servers you don’t fully control
In that role, I agree with using Transmit, Cyberduck, FileZilla, WinSCP as @mikeappsreviewer and @cacadordeestrelas mentioned, but I’d lean harder into tools that act like a proper file manager, not a “weird transfer window.”
2. Commander One specifically
If your brain likes “local left, remote right,” Commander One is worth a real look, not just as a novelty.
Pros of Commander One:
- Dual‑pane layout that works well for local vs remote comparison
- Handles SFTP, FTP, FTPS, WebDAV, plus cloud storage in the same UI
- Keyboard‑driven workflow is very fast once you learn the shortcuts
- Integrates nicely into a daily workflow where you are constantly hopping between locations
Cons of Commander One:
- It is overkill if you just need to upload a single folder once a week
- Learning curve if you are used to single‑pane “Explorer style” tools
- Not as tightly integrated into IDEs as some dev‑oriented plugins
- Some advanced features are behind a paywall, so not ideal if you want entirely free
Compared to what @mikeappsreviewer prefers, I’d say: if you already live in an IDE with deployment plugins, keep that as your primary tool and let Commander One handle the messy manual stuff. Compared to what @cacadordeestrelas suggested about rethinking your workflow, I partially disagree: FTP/SFTP can still be a very pragmatic part of a “modern” setup as long as it is a helper, not your main deployment pipeline.
3. How I’d actually set up your workflow
- Use Git + CI or at least Git +
ssh/rsyncfor real deployments. - Use your IDE’s remote tools for day‑to‑day coding.
- Keep Commander One installed as your “visual scalpel” for quick remote surgery and directory cleanup, alongside something like WinSCP or FileZilla if you need cross‑platform parity for teammates.
That way you avoid the clunky 2003 feel without pretending GUI FTP is dead.