The short answer
The best SFTP client for Android depends on what the files are for, and almost every “best of” list gets this wrong by ranking three different categories of app against each other.
- The files live on a server you administer (VPS, EC2 box, Raspberry Pi, home server) → use a terminal-first client: TermAI or Termius. Both do SSH and SFTP in one app. This matters more than it sounds: most file jobs on a server need a shell immediately afterwards to fix ownership, reload a service, or check a log.
- You just want to move photos, videos and documents to a NAS, seedbox or shared box → use a file manager: Solid Explorer (paid, polished) or CX File Explorer (free, ad-free).
- You want to open and save server files from inside other apps → install a Storage Access Framework documents provider, which mounts SFTP into Android’s own file picker so every app can reach it.
If you want one answer with no context: TermAI if the destination is a server, CX File Explorer if it isn’t and you don’t want to pay.
Three kinds of Android SFTP app
SFTP is file transfer tunnelled over SSH. It runs on port 22, uses the same credentials as your shell, and if your server runs OpenSSH it is already enabled — there is no separate daemon to install. (It has nothing to do with FTP, which is a different, unencrypted protocol on port 21.)
Because SFTP rides on SSH, apps arrive at it from three different directions, and they are genuinely bad at each other’s jobs:
| Category | Examples | Strength | Weakness |
|---|---|---|---|
| Terminal-first | TermAI, Termius | Shell + files in one session; you can fix what you break | Not built for bulk media browsing |
| File-manager-first | Solid Explorer, CX File Explorer, MiXplorer, Material Files | Dual-pane browsing, media previews, bulk copy | No shell — you can upload a file but not chown it |
| System provider (SAF) | CIFS Documents Provider, SFTP-SAF | Any app can open/save to the server | No UI of its own; no shell; nothing to browse in |
The mistake people make is picking a file manager for server work. Uploading nginx.conf from a file manager takes ten seconds, and then you are stuck: the file is owned by the wrong user, the mode is 0644 when it needed to be 0600, and nginx will not reload itself. You then go install an SSH client anyway. Starting with the terminal-first client saves you the round trip.
Which one do you need?
| If you… | Use |
|---|---|
| Deploy, debug or admin a Linux server from your phone | TermAI — SSH + SFTP + Tailscale + AI command suggestions |
| Want desktop sync and already pay for it | Termius — free tier does SFTP; sync is the paid part |
| Copy media to a NAS or seedbox, no admin work | CX File Explorer (free) or Solid Explorer (paid) |
| Want power-user file management and will pay once | MiXplorer Silver |
| Want open source, no account, F-Droid only | Material Files |
| Need to attach a server file to an email or open it in an editor | SFTP-SAF or CIFS Documents Provider |
Terminal-first clients (server work)
TermAI
TermAI is a phone-first SSH and SFTP client for both iOS and Android, built around the assumption that you are administering a production server from a 6-inch screen while standing somewhere inconvenient.
What makes it different from a file manager that happens to speak SFTP:
- SFTP and a shell in the same session. Push the file, then
chown,chmodandsystemctl reloadwithout switching apps or re-authenticating. - Tailscale is built in. Your server does not need port 22 open to the internet — you connect over the tailnet’s private address. There is no second VPN app to keep alive alongside the SFTP transfer, which matters on Android where the OS is aggressive about killing background apps.
- An AI assistant that suggests commands you confirm before running. It is assistant-style, not an autonomous agent: it proposes, you read it, you press run. On a production box that distinction is the whole point — a wrong
rsync --deleteorchmod -Ris not something you want executed on your behalf while you’re on a train. - Free tier is unlimited for the file work. SSH and SFTP are uncapped; only the AI assistant is limited, at 5 requests per day.
Best for: anyone whose “file transfer” task is really a server administration task. Weak spot: it is not trying to be your phone’s general-purpose file manager — for bulk photo sorting, use one of the file managers below.
Termius
Termius is the incumbent cross-platform client, and it is a legitimately good SFTP app. Its free Starter plan includes SSH, SFTP, port forwarding and a local vault, with commercial use permitted — SFTP is not paywalled.
What the free plan withholds is sync: your hosts and keys live on one device only. Cloud vault, cross-device sync and snippets require Pro, listed at $10/user/month billed annually. If you already run Termius on a laptop and want the same host list on your phone, that is the fee you are paying, and it is reasonable value. If you only ever connect from the phone, the free tier is genuinely enough. We cover the split in detail in Termius free vs paid.
Best for: desktop-plus-mobile users already in the Termius ecosystem. Weak spot: the subscription only makes sense if you use the desktop app; there is no built-in VPN/Tailscale layer.
File managers with SFTP built in
These are the right answer when the remote box is storage, not infrastructure.
Solid Explorer — the polished, Material Design 3 pick. Dual-pane, tabbed, and it speaks SFTP, FTP, SMB and WebDAV alongside Google Drive, OneDrive, Dropbox and Box. It ships as a 14-day trial then a one-time unlock, currently a couple of dollars (the price has moved over the years — check the Play listing rather than trusting any blog, including this one, on the exact figure). One purchase, no subscription, actively maintained.
CX File Explorer — the free one worth using. Dual-pane, a visual storage breakdown, archive support for ZIP/RAR/7Z, and SFTP/WebDAV alongside the usual cloud providers. It is free and ad-free, which is genuinely unusual for this category and is the main reason it keeps showing up in recommendations. Best free SFTP client for Android if you don’t need a shell.
MiXplorer Silver — the power-user option, and the one with the deepest protocol and archive support (19+ cloud/network backends, built-in viewers for PDF, code and media). Historically distributed through XDA; MiXplorer Silver is now a paid Play Store listing around $4.50–$4.80 that bundles the archive, image, tagger and PDF add-ons which you’d otherwise install by hand. The free XDA build is essentially the same app.
Material Files — open source (GPL, on GitHub and F-Droid), no account, no ads, no telemetry. Handles FTP, SFTP, SMB and WebDAV. Fewer features than the paid options, but it is the pick if “open source and auditable” is a hard requirement.
AndFTP — the veteran. 5M+ downloads, still actively updated in 2026, and it supports FTP, SFTP, SCP and FTPS with transfer resume and sync, which is more than most modern file managers offer. Its ~3.3-star rating reflects a dated UI more than broken functionality. Worth knowing about specifically for resumable large transfers on flaky mobile connections.
SFTP inside Android’s file picker
This is the category almost nobody mentions, and for some workflows it is exactly right.
Android’s Storage Access Framework (SAF) lets an app register as a documents provider. Once one is installed and configured, your SFTP server appears in the system file picker — so Gmail can attach a file straight from the server, and your text editor can open and save a remote config file with no download/upload dance.
Two maintained open-source options:
- SFTP-SAF (
lu.knaff.alain.saf_sftp, on F-Droid) — a dedicated SFTP documents provider; source on GitHub. - CIFS Documents Provider (on F-Droid and Google Play) — despite the name, it handles SMB, FTP, FTPS and SFTP.
The trade-off: these have essentially no interface of their own and no shell. They are plumbing. Install one alongside a real client, not instead of one.
What to avoid, and why
Abandoned SSH/SFTP apps. This is not hypothetical on Android. JuiceSSH — 13 years on the store, millions of downloads — was unpublished from Google Play in December 2025 after its last release in February 2021, because Google Play requires apps to keep targeting a recent Android API level. Its Pro licence check broke for many users around the same time. An app that holds the private keys to your servers and will never receive another security patch is a liability, not a bargain. (Full story: JuiceSSH was removed from the Play Store.) Note that JuiceSSH never had built-in SFTP anyway.
ES File Explorer. Still recommended by lazy listicles. It was pulled from Google Play in April 2019 when its parent, DO Global, was found to be running background click fraud across its app portfolio. Separately, in January 2019 researcher Baptiste Robert found it opened an unauthenticated HTTP server on port 59777, exposing the phone’s files to anything on the same Wi-Fi (CVE-2019-6447). Do not install this to handle your server credentials.
Anything called “FTP client” that doesn’t say SFTP. Plain FTP sends credentials in cleartext. On a café network that is a giveaway, not a transfer.
Sideloaded APKs from mirror sites, especially “patched” or “premium unlocked” builds. For an app category defined by holding your SSH private keys, installing an unsigned binary of unknown provenance is the single worst move available.
Setting it up properly with keys
Password SFTP works and you should still not use it. Key-based auth is faster to use, immune to brute-force, and on a phone it pairs with biometrics.
- Generate a key in the app, not on your laptop. A key generated on the phone never has to travel. Choose Ed25519 — shorter, faster, and the modern default over RSA. (Ed25519 vs RSA.)
- Copy the public key to the server. From an existing shell:
ssh-copy-id -i ~/.ssh/phone_key.pub user@host, or paste it into~/.ssh/authorized_keysby hand. (ssh-copy-id explained.) - Protect it with biometrics where the app supports it, so a stolen unlocked phone is not a stolen server.
- Don’t expose port 22 to the internet. Put the phone and server on a Tailscale network and connect to the private tailnet address — the SSH port stays closed publicly. TermAI has this built in; otherwise run the official Tailscale app alongside. (SSH over Tailscale.)
- Verify the host key fingerprint the first time. On a phone it is tempting to tap through. Don’t — that prompt is the entire defence against a man-in-the-middle.
Full walkthrough: how to SSH from Android, and SSH keys vs passwords for the reasoning.
Android-specific gotchas
These bite on Android specifically and rarely get mentioned:
- Doze mode kills long transfers. Android suspends background work to save battery, which stalls or drops multi-gigabyte uploads. Exclude the app from battery optimisation (Settings → Apps → Special app access → Battery optimisation), keep the screen on for big transfers, and prefer a client with resume support.
- Scoped storage (Android 11+) limits where apps can write. A downloaded file may land somewhere app-private rather than in
Downloads. This is exactly the problem SAF providers solve. - Uploads change ownership and permissions. A file uploaded over SFTP is owned by the SSH user and gets a default mode from the server’s umask. This is the number-one way people break
sshd_config, an nginx vhost or a systemd unit from their phone. After uploading a system file, checkls -l, fix withchown/chmod, and run the service’s own config test (nginx -t,sshd -t) before reloading. A file manager cannot do any of this — which is the argument for a terminal-first client in one paragraph. - Some mobile carriers and public Wi-Fi block outbound port 22. If SFTP works on home Wi-Fi and fails on cellular, that is usually why. Tailscale sidesteps it; so does running SSH on an alternate port.
- Don’t leave
authorized_keyswritable. OpenSSH silently refuses keys if~/.sshis group- or world-writable — a classic “my key worked yesterday” mystery after a phone upload.
FAQ
See the questions above — and if you’re choosing a client for shell work rather than files, start with the best SSH app for Android. On iPhone or iPad, the equivalent roundup is the best SFTP app for iOS.
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.