More .NET components
using (var client = new Rebex.Net.Ftp())
  // connect and log in
  client.Login("demo", "password");

  // download a file
  client.Download("/pub/example/readme.txt", @"C:\MyData");
Show me more code...
FTP and FTP/SSL client library for C# and VB.NET developers. Provides remote file system access using the FTP protocol with possibility to secure the connection using SSL layer. Makes it easy to transfer files between your application and Unix/Windows/Mainframe FTP servers.

Choose the right component: What's the difference between FTP, FTPS, SFTP, FTP/SSL, Secure FTP and SCP?

Looking for a SSH/SFTP server component? Try Rebex File Server.
Looking for a standalone SFTP/SSH server for Windows? Try our Buru Server.

Why Rebex FTP/SSL

Easy-to-use API

Connect, log in, download a file, disconnect. Upload all text files in a folder at once. It's easy to start developing with our library. Simple code for common use cases.

Login with... anything

Login using a username and password? Check.
Login with username/password/account? Check.
Login using X509 client certificate? Check.

File and directory operations made easy

Upload a file from the filesystem or memory. Rename and move files. Check existing files. Or perform other single file FTP operations.

Or simply transfer many files at once. Upload and download whole directory structures. Use wildcards or file sets to specify which files to transfer. Monitor transfer progress with events.

Need to work with directories? List their content, create or rename them. You can even delete non-empty folders recursively (and handle symlinks properly) using a single line of code.

Secure file transfers

Rebex FTP/SSL supports both plain FTP and FTP secured with TLS/SSL. This protocol ensures that the file transfers are secure and reliable. Rebex FTP/SSL supports both implicit or explicit TLS/SSL and provides a rich set of security features. You'll find APIs for TLS/SSL security, X509 certificates, and more.

Supported TLS features include:

  • TLS 1.2, 1.1, 1.0
  • AES/GCM ciphers
  • Elliptic Curve DSA and Elliptic Curve Diffie-Hellman ciphers
    (requires plugin on some platforms)
  • SHA-2 certificates
  • SHA-2 hashing algorithms
  • Server Name Indication (SNI) extension
  • Renegotiation Indication extension
  • Support for legacy SSL 3.0 protocol

Powerful directory listing parser

The original FTP standard defined no standard directory listing format. As a result, listings used by different FTP server on different operating system are very diverse.

Fortunately, you don't have to worry about this with Rebex FTP/SSL. It's reliable listing parser has been under continuous development since 2003 and can detect and parse virtually any common directory listing format used by Unix, Windows, Netware, DOS, VMS, IBM 4690 or Tandem Guardian FTP servers.

Even if you come across a rare format which is not yet supported out-of-the-box, can still easily add your own custom directory listing parser.


  • .NET Framework
    2.0, 3.0, 3.5. 4.0, 4.5.x, 4.6.x, 4.7 (32-bit and 64-bit) on Windows
  • .NET Core
    1.1, 2.0, 2.1, 2.x (32-bit or 64-bit) on Windows, Linux and macOS
  • .NET Compact Framework
    3.5, 3.9 on Windows Mobile, Windows CE, Pocket PC, Windows Embedded Compact 7, Windows Embedded Compact 2013
  • Mono
    3.x, 4.x, 5.x on Linux and Apple macOS (OS X)
  • Xamarin.iOS
    Xamarin.iOS 8.6 or later
  • Xamarin.Android
    Xamarin.Android 4 or later

Supports Visual Studio 2008, 2010, 2012, 2013, 2015 and 2017, Visual Studio for Mac.

Learn more about supported standards and platforms.

Supports .NET Standard 1.5 (or higher) on .NET Core.

Experimental support for .NET Standard 1.5 (or higher) on platforms other than .NET Core.

Experimental support for Universal Windows Platform (Windows 10, Windows 10 Mobile, Windows 10 IoT).

Experimental support for Xamarin.Mac platform (assemblies are suitable for Xamarin.Mac Mobile and Xamarin.Mac .NET 4.5 Framework projects).


  • FTP (as defined in RFC 959, 1123, 1579, 2228, 2246, 4217)
  • TLS 1.0, 1.1 and 1.2 (RFC 2246, 4346, 5246)
  • SSL 3.0

Trusted by thousands of .NET developers worldwide

Thousands of developers chose Rebex FTP for adding FTP and SSL capabilities to their applications.

Want an example? Just check your Visual Studio installation folders and you'll find Rebex DLLs there. It's because Microsoft uses Rebex FTP and SFTP in Visual Studio and several other products.

You'll be in a good company.

Many, many more time-tested features

Rebex FTP is a mature and stable component maintained since 2003. We have been adding new features year after year, inspired by user feedback. For example:

  • Multi-file transfers
  • Transfer progress monitoring
  • Automated transfer resume
  • Server to server transfer (FXP)
  • IFtp interface - unified API for FTP, FTP/SSL and FTP
  • Transfer speed limiting
  • Ability to use FTP in SSIS, SQL CLR and PowerShell
  • Symlinks detection and handling
  • ZLIB compression
  • FIPS 140-2 compliant mode

And many, many more...

Hear from customers

It took me 10 minutes to plug it into our C# application and voila, passive FTP connections, excellent communication and error codes / messages when things don’t connect properly via our VPN.

Well done on an excellent product. I’m a software developer of some 18 years and I’m quite sceptical of 3rd party components, however, this FTP library is excellent. Can’t fault it.

I can Highly Recommend it.

Simon Hughes
See more...