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

Our SFTP library allows the user to Transfer their files with their .NET application with 100% managed and a secure class library. The library makes it possible for the users to upload, download, create, delete, and manage files and directories with just a few lines of code in .NET, Xamarin iOS, Android, UWP, Mac, and .NET CF apps. The library is written purely in C# including the number of C# SFTP clients that makes the user to get started with ease and grace, if you want to use of component for FTP SSL, you can check out this link Atp FTP library.

It lets you securely send and receive files

.NET SFTP Component's Key Features

  • Support multiple platforms for .NET Full Framework, Xamarin iOS, Mac, Android, Mono, .NET CF, and .NET Core, Standard (will be available soon)
  • Supports all versions of SFTP servers (v3, v4, v5, v6, etc.) including our 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).
  • Get/set file permissions and attributes.
  • Detect the time difference between the client and server.
  • Create remote directories.
  • Comprehensive documentation helps you work with SFTP in C# and VB.NET quickly.

Get Started Today

And see why tens of thousands of developers worldwide choose Atp

Download Your Free 30 Day Trial

Why Choose Atp SFTP

Fully Optimized for Transfer Speed and Memory Usage

To ensure it performs well, we:

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

it transfers data at the maximum transfer speed . user can limit the transfer speed, by taking the advantage of bandwidth throttling by setting the MaxDownloadSpeed and MaxUploadSpeed properties of the Sftp class.

ultimate sftp is optimized for performance

.NET SFTP Library provides 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 services from where it gets interrupted. As a benefit, your application can still transfer files completely even if the connection to the server is intermittently broken without requiring a code to handle the errors.

C# SFTP library has intuitive and fully documented API

Intuitive and Fully Documented API

You can Connect, authenticate to the server, and transfer files with just a few lines of code using the API of office component’s C# SFTP client API. It uses 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 so memory management and other performance related stuff is being taken care of by the library, and it does not use any unsafe blocks for minimal permission requirements.

Our classes are fully documented with detail code samples to save your time for understanding. 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 write separate classes for several different systems like 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, Moreover, you can also perform a 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 Atp 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 the 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

Atp 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:

User can also 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

SFTP library supports many authentication methods like a 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

AtpSftp 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.


your application can have 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

it also supports Medium Trust environment which is not supported by other's libraries but Atp 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...


Atp 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 simply write your asynchronous methods using async and await (C#) or Async and Await (VB.NET) keywords. If you would like to use 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 worried while reading these names of the protocols like 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.


Hear what customers say about our products

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