Secure .NET SFTP Library for C# and VB.NET

Ultimate SFTP is a 100%-managed .NET class library that adds powerful SSH File Transfer Protocol client capabilities to your applications. It is fast, reliable, and feature-rich. The SFTP component makes it possible to upload, download, create, delete, and manage files and directories with a few lines of code in .NET, Xamarin iOS, Android, UWP, Mac, and .NET CF apps. The client library is written entirely in C#. The package includes many C# SFTP clients that let you get started quickly. If you need a component for FTP SSL, check out the Ultimate FTP library.

It lets you securely send and receive files

.NET SFTP Component's Key Features

  • Support for .NET Full Framework, Xamarin iOS, Mac, Android, Mono, .NET CF, and .NET Core, Standard (will be available soon)
  • Supports all standard-compliant SFTP servers including our SFTP & SSH Server
  • 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 (PKCS8, PuTTY, and OpenSSH private key formats).
  • Detect the time difference between the client and the server.
  • Comprehensive documentation helps you work with SFTP in C# and VB.NET quickly.
SFTP 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 SFTP

Optimized for Transfer Speed and Memory Usage

To ensure it performs well, we:

  • Optimize its code following best coding practices for performance
  • Use as few resources as possible to minimize memory usage
  • Optimize default component and socket settings for maximum transfer speed

As a result, data is transferred at the maximum transfer speed possible. Should you want to limit the transfer speed, take advantage of bandwidth throttling by setting the MaxDownloadSpeed and MaxUploadSpeed properties of the Sftp class.

ultimate sftp is optimized for performance

.NET SFTP Library with Auto-reconnect and Auto-resume Capability

If an operation or transfer is interrupted due to a broken connection, the component automatically determines whether it should reconnect to the server if the auto-reconnect feature is enabled. When the connection is reestablished, the component will resume the interrupted transfer. As a benefit, your application can still transfer files completely even if the connection to the server is intermittently broken without requiring the code to handle the errors.

C# SFTP library has intuitive and fully documented API

Intuitive and Fully Documented API

Connect, authenticate the user to the server, and transfer files with a few lines of code using the intuitive API of ComponentPro's C# SFTP client API. By using 100% managed code written in C#, this component takes advantage of the numerous built-in features of the .NET Framework to enhance performance. Moreover, the library is CLS compliant, and it does not use any unsafe blocks for minimal permission requirements.

Our classes are fully documented with detailed example code which helps shorten your learning curve. If your development environment is Visual Studio, enjoy the full integration of the online documentation. Just mark or select a keyword and press F1 in your Visual Studio IDE, and the online documentation is represented instantly.

Unified File System across SFTP, FTP and ZIP libraries

To reduce the effort required to rewrite a number of classes for different systems such as FTP, SFTP, ZIP, Local Disk, and Memory, we introduce the Unified File System. This makes the file and directory management on these systems seamless. The Unified File System allows you to use the same code to transfer items directly between two different systems. As a benefit, you may need to write only one class that works with all systems. The complicated work is done by the File System library, eliminating the requirement to learn more about other File Transfer Protocols. For more information, please visit this topic.

One client using the same APIs can work with many file systems
Supports for SCP client in C# and VB.NET

Support SCP

The library also includes SCP classes that let you perform SCP file copying easily.

Advanced File Management

Provides synchronous or asynchronous data transfer operations as well as the ability to deep search, delete, move, set properties, check existence, synchronize, and compare files and directories to your applications, offering an easy way to manage remote items.

The FileSystem library included in the package allows you to define search criteria so you can send, receive, move, search, delete, and mirror only files and folders that fit the specified criteria.

Some examples:

C# sftp client with advanced file management capability
The sftp component can manipulate file list on-the-fly

Manipulate File List On-the-fly

Not only does Ultimate SFTP support standard and advanced SFTP operations above, but it also supports monitoring and manipulating processing file list while executing muti-file operations like deleting, moving, uploading, and downloading items. That feature makes it possible to add more files to transfer while the operation is still in process. It also provides real-time statistics and status of the items in progress. To add or remove a file or directory from the list of processing items, all you need to do is to call the Add or Remove method of the ProgressFileList class.

Support Multi-threading

In addition to supporting basic and advanced tasks, Ultimate SFTP also supports multi-thread download and upload, as well as data compression on-the-fly with built-in Zlib classes to speed up the transfer.

Some examples:

You can even split a large remote SFTP file into smaller chunks and download them simultaneously with the MultiPartDownload method. Check out this topic for more details: Chunk file download

It supports many authentication methods

Support for Many Authentication Methods

In addition to basic username/password authentication method, the SFTP library also supports public key, keyboard-interactive, and GSSAPI, NTLM or Kerberos (with single sign-on as well) authentication methods.

Some examples:

SSH Features Included

Besides having the comprehensive SFTP interface, it also supports other SSH operations such as executing a command on an SSH server, tunneling through it, starting a new SSH terminal session, reusing an SSH connection for another task, generating key pairs for SSH authentication, etc.

Supports ssh session, ssh and sftp client
ultimatesftp client product can be used in powershell & sql-ssis

PowerShell and SQL-SSIS

UltimateSftp can be easily integrated with Powershell with some simple steps. You can also use it for the SQL-SSIS package. Please see this topic for more details.


The library enables you to build applications with many security features including enabling only the Federal Information Processing Standards (FIPS) approved encryptions, verifying server key, and generating private/public key pairs. Easy-to-use API for validating server identity and customizing/fine-tuning SSH parameters. It supports PKCS8, PuTTY, and OpenSSH key formats as well as keys stored on smart cards. It supports the following security algorithms:

  • Encryption Algorithm: AES, RC4, Triple DES, Blowfish, and Twofish
  • MAC Algorithms: MD5, SHA1, SHA256
  • Key Exchange Algorithms: Diffie-Hellman, group exchange with SHA-1 and SHA-256


C# sftp client using the library has many security advantages

ASP.NET Medium Trust Support

You will find that almost all other competitors don't support Medium Trust environment; Ultimate SFTP does. The Medium Trust mode is forced by setting the MediumTrust security setting, making it possible to run your web applications on shared hostings.

Tested against many SFTP Servers

  • Bitvise WinSSHD
  • CoreFTP Server
  • GlobalScape Security Server
  • GlobalScape EFT Server
  • VanDyke VShell Server
  • OpenSSH
  • WeOnlyDo wodSFTP
  • Tectica
  • XFB.Gateway
  • and many more...


Ultimate SFTP is used by 8K+ developers at thousands of organizations around the world. It is also the core library in our FREE LionFTP client for Windows, which is used and trusted by many users.

Task-based and Event-based Asynchronous Patterns

Our products support the latest Microsoft .NET Task-based Asynchronous Pattern introduced in Visual Studio 2012 - .NET 4.5. You can write your asynchronous methods using async and await (C#) or Async and Await (VB.NET) keywords. If you would like to use the Event-based Asynchronous Pattern, this is also supported.

Some examples:

sftp with async await keywords support in C# and VB.NET languages


You may be confused about the names of these protocols, as the acronyms seem so similar to one another. For example, "SFTP" sounds like an abbreviation of "Secure FTP," when in fact, "SFTP" and "Secure FTP" are two different protocols. For further explanation and more details about these protocols, please see this page: SFTP, SCP, FTP, FTP/SSL - FTPS, and Secure FTP explanation and comparison.


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


Hear what customers say about our products

Beyond having an outstanding, easy-to-implement product (UltimateSftp), ComponentPro's customer service is the best I have ever experienced with a software company. I will use them for my future component needs and will highly recommend ComponentPro to my colleagues, as well.

Brian Marshall Senior Developer Midac Corp.

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