Xceed FTP for .NET

Flexible, reliable and mature, with a 12-year track record. Easily add efficient FTP and FTPS (FTP over SSL) file transfer capabilities to your .NET or ASP.NET apps. Backed by a responsive support and development team whose sole ambition is your complete satisfaction.

  • Works with all FTP server types,  supports all major FTP operations
  • Efficient implementation of FTP and FTPS protocols
  • Built-in Zip/Unzip and strong encryption
What’s New?

The only FTP component for .NET with advanced file handling, synchronization and advanced data compression capabilities.

A rock-solid and efficient implementation of the FTP & FTPS (FTP over SSL) protocols for .NET and ASP.NET. The leading .NET FTP library.

All servers

Works with all FTP server types. If the built-in support for Unix, VMS, AS/400, Windows, and DOS server types is incompatible, you can plug in a custom parser for instant compatibility.

All operations

Supports all major FTP operations, secure FTP over SSL (FTPS), HTTP proxy server support, resume, FXP server-to-server, TLS 1.2 encryption, MLST+MLSD, passive mode for firewalls and proxies, wildcards, filtering, memory streaming, asynchronous operations, status events, FEAT command, MODE Z, and much more. For SFTP (FTP over SSH), consider Xceed SFTP for .NET.

Built in Zip capabilities

Developers that need FTP capabilities also often need Zip file handling functionality, and therefore have to use two separate libraries and get them to work together. Not with Xceed FTP for .NET. It includes all the capabilities of Xceed Zip for .NET, the leading, extremely feature-rich Zip and data compression library.

This built-in integration allows for optimized operations. For example, you can access files located within a Zip file on a remote FTP server, while using astonishingly low bandwidth. The Zip portions of the library understand the FTP protocol and use the FTP protocol’s seek capabilities to access the Zip central directory and zip/unzip specific files without downloading the entire Zip file.


Xceed FTP for .NET has been in commercial use for over 12 years, and has been continually updated since it launched. You can trust it to work reliably in your applications, as do many Fortune 500 companies.

Appreciated by top developers and industry influencers.

“I found your documentation and code examples to be excellent. I was mainly interested in Xceed FTP for .NET and I did spend quite a bit of time using the Snippet Explorer. I would rate you guys with a A+ for documentation, working samples and a great selection of components.”
Richard Moore, Senior .NET Developer, NaxosUSA


.NET Technology

  • Works with .NET 4.0 to 4.6.X, and ASP.NET. Separate build available for .NET 2.0 to 3. Works with Visual Studio 2005-2015.
  • 100% managed code written in C#. Source code included with the Blueprint subscription.
  • NET and C# sample applications included for Visual Studio.

  • All error handling works through .NET exception classes.
  • Objects don’t need to be explicitly disposed of.
  • CLS compliant (Common Language Specification).
  • Does not use unsafe blocks for minimal permission requirements.
  • Documentation fully integrated into Visual Studio.
  • Built using System.Net.Sockets namespace.
  • The .NET 4.X build is compiled using the .NET Client Profile.

FTP protocol features

  • RFC 959, 1123, and 1579 compliant.
  • Supports FTPS (secure FTP over SSL).
  • Supports the FEAT command (also known as the “Knowledge of Extra Capabilities”).
  • Supports MLST and MLSD commands for precise interpretation of filenames, dates and other file info.

  • Supports FXP server-to-server file transfers.
  • FXP over SSL/TLS.
  • Supports MODE Z data transfer.
  • Supports secure FTP via SSL 3.0 and 3.1 (TLS) in both the FtpClient and FileSystem interfaces.
  • Supports TLS 1.2 encryption.
  • Supports the CCC command and provides a property designed to make connecting to servers behind firewalls more easy.
  • Enables connections to FTP servers through HTTP proxy servers.
  • Solid, built-in support for various server types, including Unix, VMS, AS/400, and DOS.
  • Supports all major FTP operations and allows sending of custom commands.
  • Supports FTP passive mode for firewall and proxy server resilience.

Major features

  • Send and receive files, folders, or entire directory structures quickly and easily.
  • Send and receive files to or from disk or memory streams.
  • Support for non-blocking (asynchronous) FTP operations.
  • Operations can be aborted at any time.

  • Provides a rich set of events to keep your application notified of all FTP activity.
  • Allows you to verify at any time the exact state of the component, including whether it is connected or not, busy or not, sending, receiving, deleting, etc.
  • Obtain a detailed listing of files on the FTP server via a collection object or by events.
  • Rename and delete files on the FTP server.
  • Resume file transfers from any byte offset.

Component interactivity / events

  • Provides status report events on a file-by-file basis as well as on the entire operation being performed.
  • Status reports include various completion percentages, byte counts, file counts, bytes per second, bytes skipped, number of files skipped, and more. Displaying a progress bar could not be easier.

  • Events are triggered for all major operations, such as whenever a file is being sent, received, listed, etc.
  • When sending multiple files and an error occurs, allows you to retry the file, skip it and continue, or abort the entire operation.
  • Provides complete file information for the file currently being processed.

Multi-talented capabilities

  • Exposes Xceed’s unique, flexible FileSystem object model for deep integration with Xceed Zip for .NET. Lets you work with files and folders on an FTP server as if they were local.
  • Built-in data compression capabilities and AES encryption thanks to the Xceed FileSystem Core. Includes all Xceed Zip for .NET capabilities. No additional learning curve or effort.

  • Abstracts files and folders on FTP sites and locally, in Zip and Tar archives, in GZipped files, in streams, in memory, etc. So you can write your code as if it works with regular files or folders. When support is added for more archive types and locations, there’s no need to change your code in order to work with the new file and folder types or locations.
  • It even optimizes operations so that you can perform feats such as speedily accessing files located in a Zip archive on a remote FTP server, while using astonishingly low bandwidth. No other .NET component or combination of components can accomplish this.

Other features

  • Creates filters so you can send or receive only files that fit specific criteria such as file size or date.
  • Allows you to rename or change filenames and paths before sending.
  • Automatic logging to memory or to disk.
  • Three “Quick” classes provide static methods that let you perform FTP, Tar, and GZip operations with a single line of code: QuickFtp, QuickTar, and QuickGZip. These new classes accompany and complement the currently available QuickZip and QuickCompression classes.

  • Use the automatic directory listing parser or create your own custom parser for unknown listing formats and FTP server types. You can do this in two ways: through inheritance or by handling an event.
  • Set a timeout limit on all operations and have an exception triggered if it is exceeded.
  • Send a file to an FTP server and have the server give it a unique filename.
  • Can send files as ASCII or Binary.
  • Triggers an event if the connection to the FTP server is lost.
  • Allows you to change the user that is currently logged in without disconnecting.
  • Built-in tweaks for working with non-standard FTP server types, including settable FTP server folder separator character, storage pre-allocation, and TYPE command sending.
  • Specify an FTP server by IP address or host name.
  • Specify files to send or receive using wildcards.