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 own 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 time difference between the client and 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
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 key 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 stable 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 implement 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 compability 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 common listing formats. In addition, 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 also have the capability to 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 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 are 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 5 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 5 years of C# development. It's a real joy to work with!

Jack Berkhout Senior Software Developer - MCPD Microsoft Corp.

It was a really good idea for me to switch from the previous suite to your Ultimate Studio 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 6 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 colleages.

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 easier than ever before. In addition, 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 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 3 months. Their components are powerful and flexible. I rate them 5 star for the developer support.

Chris Calzaretta Senior Software Developer Quantesys

I'm really happy with your customer support. Your developers response very quick. Keep up the good 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 is stable and affordable for our budget. This is without a doubt that we will purchase it for our project.

Oscar Williams Software Architect VENTUS INC.

Your customer support is amazing. Detailed code examples and a friendly and helpful online documentation. 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

I have spent lots of effort on researching FTP and SFTP tools on the market, I've found Ultimate FTP Expert to be the most flexible and easy-to-use. Now I spend less time on learning on how to use the components and more time focusing on developing our business logic layer. I will recommend this software to my friends.

Sailaja Hima Team Leader Booya Ventures

I wanted my applications to have that bit extra, instead of just being plain and using the standard .NET FTP class. They provide excellent functionality and excellent design and usability. Well done! Highly recommended.

Mikael Stensson Software Developer Card Network Solutions AB