Move files to servers over SFTP, FTP, and S3
WinSCP is a Windows client for transferring files to and from remote systems using SFTP, FTP, FTPS, SCP, WebDAV, and S3. It presents a two-pane view of local and remote directories, supports drag-and-drop and synchronised browsing, and includes a console-mode companion program for scripted transfers. The project is distributed under the GNU General Public License version 3 or later.
Interfaces and everyday transfers
The default commander interface shows local files on one side and the server on the other, with familiar shortcuts for copy, move, rename, and delete. An explorer-style interface is available for users who prefer a single remote pane. Sessions store connection details, and editor integration lets a remote file be opened locally, edited, and uploaded again when saved, which is convenient for configuration files on servers. Transfers can be queued, resumed where the protocol allows, and rate-limited so a large copy does not saturate a link.
Automation and scripting
The separate winscp.com executable runs transfer scripts from a batch file or the Windows Task Scheduler, with commands to open a session, synchronise, upload, download, and exit with a status the calling script can check. Stored sessions are referenced by name so credentials and host keys do not have to be written into the script itself. A .NET assembly is also published for programmatic use from PowerShell and other .NET languages. Keeping host keys verified is what makes SFTP meaningful, so scripts should fail loudly when a key changes rather than accepting the new one silently.
Details that affect reliability
The standard installer provides a 32-bit build that runs on both 32-bit and 64-bit Windows, while an experimental 64-bit portable package is offered separately. Synchronisation compares timestamps and sizes by default, so clock differences between the workstation and the server can cause files to be copied in an unexpected direction until the comparison mode is changed. Sessions can be imported from PuTTY, and the built-in editor can be replaced with any external program. Protocol choice matters most: plain FTP sends credentials in the clear, so SFTP or FTPS should be the default.
When to use something else
For one-off downloads, a browser or the command-line curl is simpler. For continuous two-way folder replication with conflict handling, a dedicated sync service or a version control remote is usually a better fit. Teams that manage many servers through configuration may prefer infrastructure tooling to per-transfer scripts. WinSCP stands out when a person needs a dependable Windows client with both a clear interface and a scriptable command line.
- Best for
- Administrators and developers who move files to servers and want both a clear two-pane client and scriptable transfers.
- Good to know
- The standard installer is a 32-bit build that runs on 64-bit Windows; a separate experimental 64-bit portable package exists.
How to get started
- Download the installer from winscp.net and run it.
- Create a session with the protocol, host, port, user name, and key or password.
- Verify the server's host key fingerprint before saving the session.
- Connect, then drag files between the local and remote panes to transfer them.
- Use Synchronize to copy only what differs, after checking the direction.
- For recurring jobs, write a script and run it with winscp.com from Task Scheduler.
Questions & answers
Which protocol should I choose?
Prefer SFTP or FTPS. Plain FTP sends credentials and data without encryption and belongs only on trusted networks.
Why did files copy the wrong way during synchronisation?
Timestamp or size comparison can misjudge direction when clocks differ. Check the comparison mode before running a large sync.
Is the installer 64-bit?
The standard installer is a 32-bit build that runs on both 32-bit and 64-bit Windows; a separate experimental 64-bit portable package is published.