# WinSCP: A Free Windows File Manager for SFTP, FTP, S3, WebDAV, and SCP with .NET Automation

> WinSCP is a free open-source file manager for Windows that supports SFTP, FTP, FTPS, SCP, S3, WebDAV, and local-to-local transfers, with a .NET assembly on NuGet for scripting and automation. It is Windows-only and built with Embarcadero C++Builder.

**winscp/winscp** — WinSCP is a popular free file manager for Windows supporting SFTP, FTP, FTPS, SCP, S3, WebDAV and local-to-local file transfers. A powerful tool to enhance your productivity with a user-friendly interface and automation options like .NET assembly.

- Repository: https://github.com/winscp/winscp
- Website: https://winscp.net
- Stars: 3,857 · Forks: 420
- Language: C
- License: NOASSERTION
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/winscp-winscp

## What WinSCP Is and Who It Is For

WinSCP is a free file manager for Windows. The README and repository description agree on the scope: it supports SFTP, FTP, FTPS, SCP, S3, WebDAV, and local-to-local file transfers, with file editing, directory synchronization, and site management built in. It is open-source, available in English and many other languages, and described in the README as well documented.

The primary audience is Windows system administrators, developers, and power users who need to move files between a Windows desktop and remote servers or cloud storage. The supported protocols cover the standard Unix remote transfer stack (SFTP, SCP over SSH), traditional FTP variants (FTP, FTPS), REST-based storage (S3), and HTTP-based transfer (WebDAV). Local-to-local transfers means WinSCP can also function as a local file manager for copying and synchronizing folders on the same machine.

For users who need to automate file transfers in scripts, WinSCP provides both a .NET assembly published on NuGet and a batch file scripting interface. These two automation paths make it suitable not just as an interactive tool but as a component in deployment pipelines, backup workflows, and server management scripts that run on Windows.

## Protocol Coverage: What Each Transport Mode Provides

SFTP (SSH File Transfer Protocol) is the primary secure transfer method and runs over an SSH connection. SCP (Secure Copy Protocol) is a related SSH-based protocol that copies files without interactive session management. Both require an SSH server on the remote end, and WinSCP embeds PuTTY's SSH client implementation to handle the SSH layer.

FTP (File Transfer Protocol) in its plain variant has no encryption; FTPS adds TLS encryption. WinSCP's FTP implementation is derived from the FileZilla FTP client source code, which lives in the repository at /source/filezilla. This is a direct code inclusion, not a runtime dependency: the FileZilla source is compiled into WinSCP.

S3 support covers Amazon's Simple Storage Service API and compatible endpoints. WebDAV (Web Distributed Authoring and Versioning) is the HTTP-based protocol used by services that expose a file system over HTTP. Local-to-local transfers, the simplest case, allow WinSCP's two-pane interface and synchronization engine to operate on paths on the local machine without any network connection.

For each protocol, WinSCP handles the site management aspect: storing connection profiles with hostname, port, credentials, and protocol-specific settings so users can return to connections without re-entering details.

## Automation: .NET Assembly, NuGet, and Scripting

The automation story is one of WinSCP's distinct features compared to other file transfer clients. The /dotnet directory in the repository contains the WinSCP .NET assembly, which is published to NuGet as the WinSCP package. The NuGet badge in the README links directly to the package. This assembly lets .NET applications invoke WinSCP operations programmatically, wrapping the full protocol support in a managed API that C#, VB.NET, PowerShell, and other .NET-compatible languages can call.

Batch file scripting is the second automation path, for users who do not want a .NET development dependency. WinSCP exposes a scripting interface through its console component, which lives in /source/console in the source tree. The README describes this as one of the "automation options" alongside the .NET assembly.

The combination makes WinSCP usable in contexts well beyond interactive file management: scheduled uploads to S3, automated SFTP deliveries, directory synchronization jobs triggered from Windows Task Scheduler, and CI/CD pipeline steps that move build artifacts to remote servers. The README does not document the scripting API in detail; the documentation at winscp.net covers the full scripting reference.

## Building WinSCP from Source

Building WinSCP requires several Windows-specific tools. The README lists four required components:

- Embarcadero C++Builder 11 Professional for the main C/C++ compilation
- Build Tools and Agents for Visual Studio 2022 for the C# 9.0 .NET assembly
- nasm, the Netwide Assembler, stored to `buildtools/tools/nasm.exe`
- Agner Fog's Object File Converter (objconv), stored to `buildtools/tools/objconv.exe`

Once these tools are in place, the build runs from the root folder:

```bat
build.bat
```

The need for Embarcadero C++Builder, a commercial Windows IDE with its own Visual Component Library (VCL), means that building WinSCP from source is not accessible to developers without that license. Most contributors to the project likely run modified builds of specific components rather than rebuilding the entire application from scratch.

The repository also includes an Inno Setup script in the /deployment directory for building the Windows installer package. The /translations directory holds the localization strings for all supported interface languages.

## Source Architecture: PuTTY and FileZilla Code Inside WinSCP

WinSCP's source tree embeds code from two separate open-source projects. The /source/putty directory contains the PuTTY SSH client source code; WinSCP uses this for all SSH-based protocols (SFTP and SCP). The /source/filezilla directory contains FileZilla's FTP client source code; WinSCP uses this for FTP and FTPS.

This design means WinSCP is not a thin wrapper around these tools; it integrates their protocol implementations directly into its own codebase. Updates to PuTTY or FileZilla's underlying protocol code require corresponding updates in WinSCP's own source tree rather than a library version bump. The NOTICE and license.txt files document the license conditions for these embedded codebases.

The core WinSCP protocol code lives in /source/core and handles the integration layer for SSH, SFTP, FTP, WebDAV, S3, and SCP from WinSCP's perspective. The /source/forms directory holds the visual interface (dialogs and windows), /source/components handles native visual components, and /source/dragext is the Windows shell extension that provides drag-and-drop support from Windows Explorer into WinSCP sessions.

This layered structure means that WinSCP's architecture reflects the complexity of combining multiple protocol stacks with a rich GUI and an automation layer in a single C-based Windows application. The README directs contributors to the license.txt file for the complete license conditions covering all of these components.

## FileZilla as the Cross-Platform Alternative

FileZilla is a widely-used open-source FTP, FTPS, and SFTP client that runs on Windows, macOS, and Linux. Given that WinSCP embeds FileZilla's FTP implementation, the two projects share protocol code, but they serve different purposes.

The core difference is platform scope and feature breadth. FileZilla covers Windows, macOS, and Linux in a single application. WinSCP is a Windows-only tool. Users on macOS or Linux who need SFTP and FTP clients cannot use WinSCP; FileZilla is the direct alternative for cross-platform transfer needs.

On the Windows side, the two tools differ in automation and protocol coverage. WinSCP adds S3, WebDAV, SCP, and the .NET assembly on NuGet; FileZilla's protocol coverage is narrower, and its automation story is different. WinSCP adds Windows shell integration through its drag-and-drop extension and deeply integrates with the Windows desktop experience through its Inno Setup-based installer.

For teams that run mixed-OS environments and need a consistent tool across Windows and Linux, FileZilla is the practical cross-platform choice. For teams operating entirely on Windows, WinSCP's broader protocol list, .NET automation assembly, and directory synchronization make it the fuller tool.

## Conclusion

WinSCP is the right choice for Windows users who need a single GUI tool for SFTP, FTP, FTPS, SCP, S3, and WebDAV file management, directory synchronization, and automation via .NET or batch scripting. Verify the license terms in the license.txt file before commercial redistribution, as GitHub's automatic detection returned NOASSERTION rather than a recognized license identifier. Users on macOS or Linux need a different tool; WinSCP is a Windows-only application. The last push to the repository was on 2026-09-26.

## FAQ

### What is WinSCP used for?

WinSCP is used for transferring files between a Windows machine and remote servers or cloud storage over SFTP, FTP, FTPS, SCP, S3, and WebDAV. It also handles directory synchronization, file editing on remote servers, and automation through a .NET assembly on NuGet or batch file scripting.

### Is WinSCP the same as FileZilla?

No. WinSCP and FileZilla are separate applications. WinSCP includes FileZilla's FTP client source code internally for its FTP and FTPS support, but the two are different products. FileZilla runs on Windows, macOS, and Linux; WinSCP is a Windows-only file manager with broader protocol support including S3 and SCP.

### What is WinSCP and PuTTY?

WinSCP is a Windows file manager for SFTP, FTP, S3, and other transfer protocols. PuTTY is a Windows SSH client and terminal emulator. WinSCP embeds PuTTY's SSH implementation internally to handle SFTP and SCP connections, but they are separate tools that serve different purposes.

### Is WinSCP trustworthy?

WinSCP is an open-source project with source code available at github.com/winscp/winscp. The README describes it as open-source and well documented. The license terms are in the license.txt file in the repository; GitHub's automatic license detection returned NOASSERTION, so teams with compliance requirements should read that file directly.

## Sources

- [Issues](https://github.com/winscp/winscp/issues)
- [Project website](https://winscp.net)
- [README](https://github.com/winscp/winscp/blob/master/README.md)
- [winscp/winscp on GitHub](https://github.com/winscp/winscp)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/winscp-winscp
