Home Components for Mobile SFTP for Mobile

Ultimate SFTP Component for Xamarin Android, iOS and .NET CF

Easily add comprehensive SSH Secure File Transfer capabilities to your Android, iOS, and .NET CF applications

Optimized for speed and minimal memory usage, the purely written in C# Ultimate SFTP component is proudly the best SFTP component for Xamarin Android, iOS and .NET Compact Framework. With just a few lines of code, your application is ready to connect, upload and download files and directories to and from the SFTP server.

If you need SFTP for .NET Framework and Mono platforms, visit Ultimate SFTP Component for .NET Framework.

Ultimate SFTP for Mobile is also included in


  • Fastest SFTP component for Mobile.
  • Minimal memory usage.
  • Intuitive object model. Easy to integrate SFTP functionality to your Android, iOS and Windows Mobile apps.
  • Supports for standard and advanced SFTP operations: upload, download, append, rename, delete, synchronize files and directories. No need to worry about how complex the SFTP is. The library handles it for you.
  • Code reusability: you can use the same code to work with both FTP and SFTP.
  • Supports for files over 4GB.
  • Well documented sample projects and Developer's Guide.
  • Excellent product backed with timely support.

If you need FTP, FTP over TLS/SSL (FTPS) Component for Mobile, please visit FTP, FTP over TLS/SSL (FTPS) Mobile Library page.

Key Features

  • Upload, download, append, rename and delete file
  • Upload, download, or Remove entire directory (including subdirectories and files) quickly with a single line of code
  • Upload and download multiple files using wildcards mask with a single line of code
  • Support for files over 4GB
  • Parse listings automatically
  • Supports both ASCII and binary transfers
  • Supports restarting interrupted file transfers
  • Abort operations smoothly
  • Synchronizes folders easily
  • Compress and decompress data on-the-fly
  • SFTP protocol version 3 support
  • SFTP protocol version 4 support
  • All SSH and SFTP servers support
  • Tested with many SFTP servers such as Bitvise, CoreFTP, GlobalSCAPE, OpenSSH, wodSFTP...
  • Supports Multi-threading. You can use as many threads as you want to speed up file transfers
  • Unified Remote File System allows you to directly and easily transfer and synchronize files and directories between two different file systems such as FTP, SCP, ZIP, Disk, Memory, etc.
  • File transfer monitoring support with progress event
  • Fully supports both event-driven (asynchronous) and blocking (synchronous) application designs
  • Send and receive files to or from disk or memory streams. This allows you to compress and decompress ZIP files on-the-fly
  • Built-in Zlib streams
  • Filter files on name with wildcards mask or regular expression, size, or last modified date
  • Resume previously interrupted file
  • Allows you to check the exact transferring state like uploading, downloading, etc.
  • Tested with many SFTP servers such as Bitvise, CoreFTP, GlobalSCAPE, OpenSSH, wodSFTP...
  • FIPS 140-2 compliant. This mode is automatically enabled on systems where only compliant algorithms are allowed
  • Compliant with RFC 4250-4254, 4256 and 4419
  • Progress event argument contains full information about the file transfer such as: File size, transfer percentage, transfer speed, time left, etc.
  • more...

Sample Usage - Transferring files and directories

// Create a new instance of the Sftp class.
Sftp client = new Sftp();

// Connect to the SFTP server.

// Authenticate.
client.Authenticate("user", "pass");

// Upload local file 'c:\test.dat' to the default remote directory.
client.UploadFile("c:\\test.dat", "test.dat");

string defaultDir = client.GetCurrentDirectory();
Console.WriteLine(string.Format("File has been uploaded to '{0}'.", defaultDir));

// Upload .cs and .vb files to the current directory.
client.UploadFiles("c:\\temp\\*.cs;*.vb", "");

// Download .mp3, .wav and .jpg files from '/mydir' directory to 'c:\temp'.
client.DownloadFiles("/mydir/*.mp3,*.wav,*.jpg", "c:\\temp");

// Upload an entire directory.
client.Upload("c:\\temp", "/");

// Download an entire directory.
client.Download("myremotedir", "c:\\temp");

// Disconnect.

Supports HTTP Connect, SOCKS4, SOCKS4A & SOCKS5 Proxy Servers

Ultimate SFTP fullys support HTTP CONNECT, SOCKS4, SOCKS4A, and SOCKS5 proxy servers. By simply setting a few properties, you are able to download and upload files and directories from/to FTP servers through the desired proxy server.

Support for IPv6, the next generation Internet protocol

IPv6 (Internet Protocol version 6), the next-generation protocol designed by the IETF (Internet Engineering Task Force), will gradually replace the current version of the Internet Protocol, IPv4.

With Ultimate SFTP Component, users have an integrated service assurance solution that will provide them with FTP, and Proxy capabilities in mixed IPv4 and IPv6 environments. This helps organizations with the adoption of and the transition to IPv6 by making the management of such networks seamless.

.NET Technology

By using 100% managed code written in C#, the Ultimate SFTP component takes advantage of the numerous built-in features of the .NET Compact Framework to enhance performance, moreover, the component is CLS compliant, and it does not use any unsafe blocks for minimal permission requirements.

In addition, it is also possible to use the component in PowerShell - Microsoft’s new command console and scripting language.

Ultimate SFTP is fully compatible with Visual Studio 2005 (.NET CF 2.0) and Visual Studio 2008 (.NET CF 3.5). As a benefit, you are always up-to-date with Microsoft's Technologies when using our products.

Supports event-driven (Asynchronous) and blocking (Synchronous) Design

Most applications written with the component will be synchronous. Synchronous method gives you the ease-of-use, but it can only returns the control back to the caller after it has finished, meaning that it blocks the execution of the caller for a period of time. Using synchronous method is recommended when you only need to execute one SFTP operation at a time.

You might decide that your design requires an asynchronous operation when it is needed to manage remote files simultaneously. Asynchronous methods provide a great deal of power. Asynchronous method is executed on a thread separate from the calling thread. Such operation is useful when an SFTP operation is time consuming and other codes need to execute without waiting for the initial operation to complete. In addition, the user interface will be most responsive when asynchronous methods are used.


The component can be used with a wide variety of programming languages and different types of development environments. As it was written in 100% managed Visual C#, it is fully supported by languages such as Visual Basic, Visual C#, J#, Managed C++, Borland C# Builder, and Delphi.

Fully Documented

We know that no product can be complete without comprehensive documentation. This is why the product includes a Developer's Guide and a complete Technical Reference which documents every property, method and event supported by the component. A context-sensitive online help is included with the product which can be accessed directly from within the development environment.

Lots of complete SFTP client samples in C# and VB.NET

In addition to the fully documented Developer's Guide and a complete Technical Reference, the component also includes a number of samples with full source code which help you become familiar with the features of the component and provide code which you can re-use in your own applications. The setup package contains a complete Windows Mobile SFTP client application and some other SFTP samples.

Royalty-free and Unlimited Server Deployment

All ComponentPro products include royalty-free distribution, for unlimited site deployment. It means applications built using the Ultimate SFTP component can be redistributed to as many end-users as needed without additional royalties or runtime licensing fees.


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