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

Ultimate FTP .NET class library lets you add the comprehensive file transfer capability to your apps. It can be integrated into a wide range of .NET platforms including 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 SSL layer and transfer files between your application and Unix, Windows, and Mainframe FTP servers. With a few lines of code, you can create, upload, download, modify, delete, set permissions, and manage files and directories on a remote server. It's written purely in C# with many advanced optimizations to deliver the best performance. It also includes lots of VB and C# FTP client examples to help you get familiar with the API and write your apps in just a few minutes.

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 socket settings for maximum transfer speed
  • Optimized for performance and minimized memory footprint
  • Load and generate private/public keys
  • Detect the time difference between the client and the server.
  • Fully documented API helps you create a .NET FTP client in just a few minutes
  • Full source code in C# is available in the Premium licenses
FTP Code Example
More Features with Code Examples

Get Started Today

And see why tens of thousands of developers worldwide choose ComponentPro

Download Your Free 30 Day Trial

Supported Platforms

List of the supported platforms

.NET Framework:
2.0, 3.0, 3.5. 4.0, 4.5.x, 4.6.x, 4.7; both 32-bit and 64-bit editions
OS: Windows XP or later
Visual Studio: 2008, 2010, 2012, 2013, 2015, 2017
Xamarin iOS:
Xamarin.iOS 8.6 or later; Xamarin Studio
Xamarin Android:
Xamarin.Android 4 or later; Xamarin Studio
.NET Core 2.0 or above (available soon)
.NET Standard 2.0 or above (available soon)
Universal Windows Platform (UWP)
Version: Windows 10 Mobile, Windows 10 Store Apps and Windows 10 IoT
OS: Windows
Mono and Xamarin Mac:
Version: 3.x, 4.x
OS: Linux, Apple macOS (OS X)
.NET Compact Framework:
2.0, 3.0, 3.5. 3.9
OS: Windows Mobile, Windows CE, Pocket PC, Windows Embedded Compact 2013
Visual Studio: 2008, 2012, 2013

Why Choose Ultimate FTP


If you are concerned about the performance of your application while connecting and transferring files and folders to an FTP or FTP/SSL server, then the Ultimate FTP component is perfect for you. It is highly optimized for socket connections and File Transfer Protocol and is especially helpful in FTP applications where performance is critical such as when transferring a large number of files and/or large files. 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

The .NET FTP library allows your application to automatically reconnect to the server when a connection is lost while transferring files. If a transfer is interrupted, the Ftp class can resume the transfer right after the connection is re-established. This feature makes your applications work stably without any additional complex code to handle errors when the connection to the server is unstable.

create FTP client easily with intuitive and fully documented API

Easy-to-use and Fully Documented API

Ultimate .NET FTP Component offers flexibility, ease of use, and rapid development features without the complexities of working with the native socket class or in-depth knowledge of how Network Protocols are implemented. In most cases, only a few lines of code are required to perform an FTP upload and download in your application. The set of properties and methods is sufficiently rich to enable you to take advantage of many features. The library is written 100% in C# without any unsafe blocks to maximize its compatibility when using in other .NET languages and minimize permission requirements.

The component API is fully documented, making it easy to start writing code in any .NET languages like C#, VB.NET, J#, C++, or F# to connect and transfer files to your remote FTP servers. When the package is installed with full documentation integration option, the help topics for a marked type or member will show instantly when pressing F1 in the Visual Studio IDE.

Virtually Detect and Parse any FTP Directory Listing Format

There are a wide range of formats and writing a program from scratch that supports almost all of them potentially would be a nightmare. Don't worry: Our component can accurately detect and parse virtually any standard listing formats. Besides, if you encounter a rare one, you can handle the ListItemReceived item to implement a custom FTP listing parser.


TLS/SSL supports in C# ftp library

Supports FTPS

The library offers a comprehensive interface for both standard FTP and secure FTP over TLS/SSL - also known as FTPS, The Ftp class also provides you events to verify the certificate and provide client certificate when requested by the server.

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 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 with a new network protocol or class.

Some examples:

Unified APIs in components
advanced file management in the FTP toolkit

Advanced File Management

Advanced file management tasks 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, making remote file management easier than ever before.

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.


An impressive feature in our FTP and SFTP products is the capability to transfer files and folders using multiple threads, allowing your programs to upload/download more files simultaneously. Combined with 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

The component provides full support for passive and active transfers. In addition to HTTP, Socks4, Socks4A, and Socks5 proxy servers support, the component also lets you 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

Our products support both event-based and task-based asynchronous operations. The online documentation has a number of examples demonstrating how to use the 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.


Over 10,000 customers globally integrate our libraries in their applications


Hear what customers say about our products

I have used the Ultimate FTP Expert Package in my previous projects, and I brought great value to these projects. It's powerful, flexible, and professional. You have done a great piece of work!

Arun Siva Project Manager DELL Corp.

Having been using your Ultimate Studio Package for five months, and I would like to give your product 5-star rate, your product is one of the best products I've used in over five years of C# development. It's a real joy to work with!

Jack Berkhout Senior Software Developer - MCPD Microsoft Corp.

It was a perfect idea for me to switch from the previous suite to your Ultimate Studio a few months ago. It has a modern design, and the classes saved me a lot of time. Thank you very much.

Robert Osorio Senior Developer JPMorgan Chase

Our developers have been using the Ultimate Suite for over six mons now on an intranet web application. We were very impressed by the feature-set, the ease of use, and the great online tutorials and code examples. I will recommend ComponentPro to my colleagues.

Mark Deaney CTO PowerCT

We use Ultimate SFTP and FTP components in all of our web and windows applications. We find the Ultimate libraries full of great flexible and easy-to-use features that make the File Transfer programming more effortless than ever before. Also, Their support is very professional.

David Clark Senior Software Engineer EmailDuty

We purchased it several months ago. I really appreciated the trial -- it gave us 100% confidence that the API was the right choice.

Peter Czarnecki Senior Developer Informco

I am impressed with the components in the Ultimate Studio package. I have been developing a commercial desktop application employing virtually all of the components. I have found them to be amazing, easy to use, and loaded with many features.

Peter Windsor Senior Software Developer Allocate Software

I spent five months testing several suites. The Ultimate FTP Expert package is superior in terms of functionality and stability. Also, their support is very professional.

Ben Hathaway Owner Hathology

I have been a user of Ultimate Studio package for more than three months. Their components are powerful and flexible. I rate them 5-star for the developer support.

Chris Calzaretta Senior Software Developer Quantesys

I'm pleased with your customer support. Your developers are very responsive. Keep up the excellent work!

Burke Jones Project Manager Marquam Group

With their quick response, now I can easily solve my issue by adding a few lines of code to my application. And EXCELLENCE is the word best describes your products.

David Callaghan Software Engineer SIEMENS

We have been testing some open source and commercial ZIP, FTP and SFTP libs, and I found that your components are stable and affordable for our budget. Without a doubt, we will purchase it for our project.

Oscar Williams Software Architect VENTUS INC.

Your customer support is impressive. Detailed code examples with a friendly and helpful online documentation helped us a lot. Your components are amazing.

Brian Shackelford Software Architect Municipal Technologies

Your products are great. It makes my life so much easier. Now I only need to focus on business logic instead of having to deal with many limitations of the .NET framework.

Geoff Suddard Software Developer Office Choice Limited