An FTPS client for Mac, Windows and Linux

Conchshell speaks FTPS — FTP over TLS — in the same two-pane file manager it uses for SFTP, on macOS, Windows and Linux, and on Android, iPhone and iPad. Version 2.17.1.

The server's certificate is remembered the first time you connect, so a self-signed one works without turning verification off. It does explicit FTPS in passive mode and nothing else; the rest of what it does not do is listed below.

What it does

Explicit FTPS, encrypted both ways
It connects on the FTP port and upgrades with AUTH TLS, then protects the data connections too (PROT P), so listings and file contents travel encrypted as well as the password. TLS 1.2 and 1.3.
The certificate, pinned on first use
A certificate the system already trusts for the name you typed, and in date, is accepted without a question and its key is pinned; a renewed one the system also trusts replaces that pin quietly. Any other certificate, a self-signed one included, shows its key's fingerprint and its details in a system dialog on the first connection. Accept it once; from then on a different key stops the connection until you confirm the change, and the certificate authority, host name and expiry date do not matter — the pinned key is the check. On Android only the pinned key is checked.
Passive mode that stays on the server
Data connections go to the server you connected to, whatever address its passive reply names. That keeps a hostile reply from pointing the client at your own network, and it gets past a server behind NAT that reports its private address.
The same two panes as SFTP
Your computer on one side, the server on the other: drag and drop, files and folders dropped in from the desktop, whole folders transferred, files opened in the built-in editor (or your own, on a computer) and saved back, and a queue that shows progress, speed and time left and marks each file done or failed, with the reason.
Compare, then sync
Sync directories compares a local folder with a remote one, shows what would move and what conflicts, takes exclusions, and transfers only after that — in one direction at a time, local → server or server → local.
Plain FTP when you must
Plain FTP and anonymous logins are there for servers that offer nothing else, with a warning that the password and the files travel unencrypted.
SSH and SFTP next door
If the same host also runs SSH, an SFTP or SSH connection sits in the same list, with a terminal and host monitoring.

What it does not do in 2.17.1

FTPS servers differ more than most. Check yours against this list first.

No implicit FTPS
Servers that only offer implicit TLS on port 990 will not connect. The server has to accept AUTH TLS on its FTP port.
Passive only
There is no active (PORT) mode. The server's passive port range has to be reachable from your machine.
TLS 1.2 or newer
A server that stops at TLS 1.0 or 1.1 will not connect, and neither will one whose certificate has an RSA key shorter than 2048 bits.
No proxy, no jump host
FTP and FTPS connections go direct. Proxies and jump hosts are for SSH, SFTP and RDP connections.
Password or anonymous
There is no client-certificate login.
Transfers: no resume, sync by size only
One file at a time per connection, and no resume: an interrupted transfer starts again from the beginning. Otherwise transfers work as they do over SFTP: they stream rather than going through memory, show progress, speed and time left, can be cancelled, and replace a file of the same name only after you choose Replace. Syncing over FTP compares sizes only, because the file times an FTP server reports cannot be compared reliably, so pairs of the same size are left unticked as uncertain; syncing from the server does fetch files you do not have locally yet.

What you need

Systems
macOS 12 or later on Apple silicon or Intel; Windows 10 and 11, x64; Linux x86_64 as .deb, .rpm or AppImage; Android 7.0 or newer, arm64, as an APK; iPhone and iPad with iOS or iPadOS 15.0 or later, from the App Store, for browsing files on an FTPS server
Download
From 9.5 MB for the Windows .exe to 86.0 MB for the Linux AppImage; every build is on the download page
Server
An FTP server that accepts AUTH TLS (explicit FTPS) and passive mode
Account
Not required — there is nothing to register
Price
Free. Syncing connections between your own machines is the one paid feature — $19 once

Questions about FTPS

What is the difference between FTPS and SFTP?

FTPS is the FTP protocol wrapped in TLS, with a control connection and separate data connections. SFTP is a different protocol that runs inside SSH over a single connection. Conchshell does both, in the same two panes; if the server has SSH, SFTP is usually the simpler choice.

Will it connect to a server with a self-signed certificate?

Yes. A self-signed certificate's key is shown for you to confirm on the first connection and remembered after that; a certificate the system already trusts for that name is accepted without asking (except on Android, where the remembered key is the only check).

Does it support implicit FTPS on port 990?

No. Only explicit FTPS, where the client connects on the FTP port and asks for TLS with AUTH TLS.

Is it free?

Yes. FTPS, SFTP, SSH and RDP are all in the free build, with no account. The one paid feature is syncing saved connections between your own machines, $19 once.

Does it work behind NAT or a firewall?

In passive mode, yes, as long as the server's passive port range is open to you: the client always opens data connections to the server's own address rather than the one in its reply.

Connect once and compare the fingerprint.

If it matches the server's certificate, that is the last time you are asked. The application is free; syncing connections between your own machines is a one-time $19.