Robust .NET FTP/SSL Library for C# & VB.NET

Atp FTP is a comprehensive library for file transfer capabilities to your apps, It can be integrated with a wide range of applications like WinForms, Windows Services, WPF & Console, ASP.NET, UWP, Xamarin iOS, Android, Mac, and .NET CF. The FTP component makes it easy to secure connections using the SSL layer and transfer files between your application and Unix, Windows, and Mainframe FTP servers. It is written purely in C# and with managed code with no unsafe code block, you need to add just a few lines of code to create, upload, download, modify, delete, set permissions, and manage files and directories on a remote server.

send/receive files and directories in .NET apps

.NET FTP Component's Key Features

  • Support for TLS 1.2, 1.1, 1.0. SHA-2 certificates SHA-2 hashing algorithms, AES/GCM ciphers, Elliptic Curve DSA & Elliptic Curve Diffie-Hellman ciphers
  • Renegotiation Indication extension, Server Name Indication (SNI) extension
  • All standard-compliant FTP servers support
  • Active and passive modes
  • Server to Server Transfer (FXP)
  • Compliant with RFC 959, 1123, 1579, 2228, 3659, 4217, 2246, 4346, 5246 and 5746
  • Optimize default component and Speed monitoring (transfer speed event)
  • Optimized for performance and minimized memory resources
  • Certificate and private key formats
  • Detect time difference between the client and server.
  • Fully documented API helps you create a .NET FTP client in just a few minutes with just few lines of code
  • Full source code in C# is available for Premium plans.

Get Started Today

And see why tens of thousands of developers worldwide choose Atp

Download Your Free 30 Day Trial

Why Choose Atp FTP


Atp FTP is perfect for you if you want to have high performance in your application while connecting and transferring files and folders to an FTP or FTP/SSL server, it is highly optimized for socket connections and file transfer protocol, it is highly responsive and perfect for the situations where performance is a key factor. its benefits include:

  • Minimized used resources - use less memory footprint with faster execution times
  • Performance - the maximum possible speed of data transfer and file management operations

The library also lets you set the bandwidth throttling, by setting the MaxDownloadSpeed and MaxUploadSpeed properties of the Ftp class.

the c# ftp toolkit is optimized for performance

Auto-reconnect and Auto-resume

Atp Auto-reconnect and Auto-resume features make it different than other similar products now if a transfer is interrupted, the FTP class can resume and transfer the right after the connection is re-established so you do not need to be worried if your connection is not stable.

create FTP client easily with intuitive and fully documented API

Easy-to-use and Fully Documented API

Now users do not need to work with native Socket class or in-depth knowledge of how network protocol is implemented and their internal logic. Atp FTP provides flexibility, ease of use and rapid development structure by providing a set of properties and methods that are sufficient enough to take advantage of many features provided by Atp ftp. It is purely written in c# with no unsafe block and to minimize the permission requirements.

We have complete documentation with code samples available in languages like C#, VB.NET, J#, C++, or F# to connect and transfer files to your remote FTP servers, if you have installed the package then you can see the full documentation by pressing the F1 key in visual studio IDE.

Virtually Detect and Parse any FTP Directory Listing Format

As there are several formats available and to write one program which can handle all those formats would be a nightmare, but ATP FTP and STFP accurately detect and parse virtually any common listing formats, you can write a custom FTP listing parser as well by using ListItemReceived item of the class.


TLS/SSL supports in C# ftp library

Supports FTPS

our comprehensive API provides the same file management code for all FTP, FTPS and ZIP this makes it easy and you do not need to spend much time to familiarize with a new network protocol or class, you can directly transfer items from one file system to another without using intermediate disk storage.

Some examples:

Use the Same Code for FTP, SFTP, and ZIP Operations

Our Unified API lets you have the same file management code for FTP, SFTP, and ZIP. You also can directly transfer items from one file system to another without using intermediate disk storage. The top benefit of having similar API across Ftp, Sftp, and Zip classes is that you spend less time to familiarize it with a new network protocol or class.

The top benefit of having similar API across Ftp, Sftp, and Zip classes are that you spend less time to familiarize with a new network protocol or class.

Some examples:

Unified APIs in components
advanced file management in the FTP toolkit

Advanced File Management

Atp FTP makes the remote file management easier than ever before by providing task such as synchronously or asynchronously list, recursively search, move, delete, upload, download, check existence, synchronize files and folders by wildcard masks or search criteria all can be done with a few lines of code.

Some Examples:

Authentication Methods

In addition to basic username/password authentication, the library also supports username/password/account and client certificate authentication.

Some examples:

supports for many authentication methods
Progress file list

Update File List On-the-fly

Do you appreciate the capability present in some FTP client programs that allows you to add and remove items while the transfer is still in progress? That feature is now present in our FTP, SFTP, and ZIP components, making it easy to add new items, remove, and update existing items in the progress list.


Atp FTP allows file and folder transfer using multiple threads, you can download/upload more files at the same time by utilizing built-in Zlib stream or MODE Z enabled, the transfer speed would be three times faster than transferring in MODE B with a single thread.

Some examples:

When downloading a large remote file, you can split it into smaller chunks and download them asynchronously using the MultiPartDownload method. For more information, please have a look at this topic: Chunk file download

ftp class can be used in powershell & sql-ssis

Supports for PowerShell and SQL-SSIS

With some simple steps, you can integrate UltimateFtp to the PowerShell or the SQL-SSIS package.

Firewall and Proxy

Atp FTP provides both active and passive transfer modes, users can use HTTP, Socks4, Socks4A, and Socks5 proxy servers support, in addition to that you can also connect to your remote servers through FtpSite, FtpUser, and FtpOpen proxy server types.

FIPS and more Security Features

The component supports the FIPS 140-2 compliant mode and this mode is enabled automatically where only compliant algorithms are allowed. There are also classes for TLS/SSL and events for X509 certificate validation.

ftp security

ASP.NET Medium Trust Support

Our component supports the ASP.NET Medium Trust Environment Configuration. By turning on the MediumTrust security setting, your web application is ready to run on shared web hostings.

Tested against many servers

  • GlobalScape FTP
  • WS FTP
  • MSFTP Server
  • FileZilla FTP Server
  • IBM FTP Server
  • Serv-U FTP Server
  • ProFTPD
  • vsFTP
  • Cerberus
  • glFTPd
  • PureFTPd
  • and many more...


7K+ developers at thousands of organizations around the world trust our FTP product. We also use it as the core library of our FREE LionFTP client for Windows.

Modern Task-based Asynchronous Pattern

Atp FTP and SFTP provide both even and task-based asynchronous operations, our online documentation contains a number of example code demonstrating the use of async and await (C#) or Async and Await (VB.NET) keywords with the component's asynchronous methods, making it easy for developers to start writing their asynchronous functions.

Some examples:

ftp async await

Choose FTP, FTPS, SFTP, or SCP?

These similar-sounding protocols can be confusing and may make it difficult for developers to distinguish between them and select the right one. Please see this blog post that explains these acronyms in detail: SFTP, SCP, FTP, FTP/SSL, and Secure FTP comparison.