xresources.net / rsync for Windows

rsync logo rsync for Windows

Free rsync 3.5.1 binaries for Windows 10 and 11. Download the native rsync.exe, a single file with no cygwin1.dll that works with the OpenSSH client already built into Windows. Prefer a POSIX environment? Portable Cygwin and MSYS2 builds come with their own ssh.

Which one do I need?

BuildrsyncCPUFilessshPath styleBest for
Native x643.5.1x86-641 exeWindows OpenSSHC:\dataMost Windows PCs and servers; fastest
Native ARM643.5.1ARM641 exeWindows OpenSSHC:\dataSnapdragon / Windows on ARM
Cygwin3.3.0x86-6422 filesbundled/cygdrive/c/dataACLs, xattrs, iconv; Cygwin scripts
MSYS23.5.1x86-6433 filesbundled/c/dataLatest rsync with every feature; Git Bash users

Native rsync for Windows x64 recommended

rsync 3.5.1 compiled as a plain Win32 program with zig cc. It only uses Windows system DLLs, so there is no cygwin1.dll and no msys-2.0.dll. Copy rsync.exe anywhere on your PATH and run it.

  • Accepts Windows paths (C:\data\), long paths and Unicode file names
  • Starts C:\Windows\System32\OpenSSH\ssh.exe directly, so no -e option is needed
  • All optimizations on: SIMD-roll, asm-roll, asm-MD5
  • Bundled zstd, lz4, xxHash, zlib
  • File permissions follow the same mapping as the Cygwin build
Download rsync-win-x64-3.5.1.7z

0.5 MB · Windows 10/11 x64 · SHA-256 419fc47d61f77ad243245db61e31548887d0c4789389992fbe4b7922cd2bdd31 · VirusTotal

rsync.exe -V
rsync  version 3.5.1  protocol version 33
Copyright (C) 1996-2026 by Andrew Tridgell, Wayne Davison, and others.
Web site: https://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, symlinks, no symtimes, hardlinks, no hardlink-specials,
    no hardlink-symlinks, IPv6, atimes, batchfiles, inplace, append, no ACLs,
    no xattrs, optional secluded-args, no iconv, no prealloc, stop-at,
    no crtimes, no IDN
Optimizations:
    SIMD-roll, asm-roll, no openssl-crypto, asm-MD5
Checksum list:
    xxh128 xxh3 xxh64 (xxhash) md5 md4 none
Compress list:
    zstd lz4 zlibx zlib none
Daemon auth list:
    md5 md4
Known limitations of the native build
  • It cannot run an rsync daemon on Windows (there is no fork()). Connecting to an rsync:// daemon works.
  • No --read-batch, ACLs (-A), xattrs (-X), --iconv, IDN host names or --crtimes.
  • Windows has no uid/gid, so -o / -g carry no information. When receiving, only the write bit (the read-only attribute) is applied.
  • Creating symlinks needs Developer Mode or an elevated prompt.
  • UNC paths (\\server\share) are not supported as arguments. Map a drive letter instead.
  • Cygwin or MSYS2 rsync cannot start this rsync.exe as its remote side through their own ssh.
  • For a receiving --files-from, use a real file instead of - (stdin).

Native rsync for Windows on ARM64

The same native rsync 3.5.1, built for ARM64 Windows PCs such as Snapdragon X laptops and Surface Pro. It is a single rsync.exe with no runtime DLLs and works with Windows OpenSSH.

  • Runs natively, without x64 emulation
  • The default xxh128 checksum uses NEON automatically
  • The rolling checksum uses portable C, because rsync's SIMD code is x86-only
  • Cross-compiled, and so far tested less than the x64 build
Download rsync-win-arm64-3.5.1.7z

0.4 MB · Windows 11 ARM64 · SHA-256 0d7f944e29c81292b25b01b3f259fafb4d5c6adfceacc8c2d040ac7dce14bd94 · VirusTotal

Same features as the x64 build, apart from the optimizations:

Optimizations:
    no SIMD-roll, no asm-roll, no openssl-crypto, no asm-MD5

rsync for Windows – Cygwin build

rsync 3.3.0 from the Cygwin distribution (runtime Cygwin 3.6.11), taken out of Cygwin with every DLL it needs. It is portable: unzip it anywhere, with no Cygwin install.

  • Includes OpenSSH 10.5p1: ssh, ssh-keygen, ssh-agent, ssh-add, ssh-keyscan
  • ~ is your Windows profile, so %USERPROFILE%\.ssh keys and known_hosts just work
  • ACLs, xattrs, iconv, crtimes and the sha256/sha512 daemon auth are all compiled in
  • Paths are written /cygdrive/c/data/
Download rsync-cygwin64-3.3.0.7z

4.5 MB · Windows 10/11 x64 · SHA-256 0d966025c99737f4c94dd0430fb12b260911c683d366a583e971bcc573c2f006 · VirusTotal

rsync.exe -V
rsync  version 3.3.0  protocol version 31
Copyright (C) 1996-2024 by Andrew Tridgell, Wayne Davison, and others.
Web site: https://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, symlinks, symtimes, hardlinks, no hardlink-specials,
    hardlink-symlinks, IPv6, atimes, batchfiles, inplace, append, ACLs,
    xattrs, optional secluded-args, iconv, prealloc, stop-at, crtimes
Optimizations:
    no SIMD-roll, no asm-roll, openssl-crypto, no asm-MD5
Checksum list:
    xxh128 xxh3 xxh64 (xxhash) md5 md4 sha1 none
Compress list:
    zstd lz4 zlibx zlib none
Daemon auth list:
    sha512 sha256 sha1 md5 md4

rsync for Windows – MSYS2 build

rsync 3.5.1 from MSYS2 (runtime MSYS2 3.6.10), the same environment Git for Windows is built on. It is portable, has every DLL included, and ships with its own ssh.

  • Includes OpenSSH 10.6p1: ssh, ssh-keygen, ssh-agent, ssh-add, ssh-keyscan
  • ~ is your Windows profile, so %USERPROFILE%\.ssh just works
  • ACLs, xattrs, iconv, IDN and crtimes are all compiled in
  • Paths are written /c/data/. noacl is on, so copies don't get odd NTFS permissions
  • Keep the usr\bin folder layout: the runtime finds etc\ from it
Download rsync-msys64-3.5.1.7z

5.6 MB · Windows 10/11 x64 · SHA-256 aeafcb96e1fe9cbb964fc70e15d1a15f60073d597344567dcd338de26f6f59fb · VirusTotal

rsync.exe -V
rsync  version 3.5.1  protocol version 33
Copyright (C) 1996-2026 by Andrew Tridgell, Wayne Davison, and others.
Web site: https://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, symlinks, symtimes, hardlinks, no hardlink-specials,
    no hardlink-symlinks, IPv6, atimes, batchfiles, inplace, append, ACLs,
    xattrs, optional secluded-args, iconv, prealloc, stop-at, crtimes, IDN
Optimizations:
    no SIMD-roll, no asm-roll, openssl-crypto, no asm-MD5
Checksum list:
    xxh128 xxh3 xxh64 (xxhash) md5 md4 sha1 none
Compress list:
    zstd lz4 zlibx zlib none
Daemon auth list:
    sha512 sha256 sha1 md5 md4

Examples

Native (x64 / ARM64)

# local mirror
rsync -av --delete C:\data\ D:\backup\data\

# push over ssh (Windows OpenSSH)
rsync -avz C:\data\ user@host:/backup/data/

# pull from a daemon
rsync -av rsync://host/module/ D:\mirror\

Cygwin

cygwin\bin\rsync.exe -avz -e cygwin/bin/ssh ^
  /cygdrive/c/data/ user@host:/backup/data/

MSYS2

msys64\usr\bin\rsync.exe -avz -e msys64/usr/bin/ssh ^
  /c/data/ user@host:/backup/data/

Need help with the options? Try the rsync command line generator.

FAQ

Is there an official rsync for Windows?
No. The rsync project only publishes source code, and Windows users normally get rsync through Cygwin, MSYS2 or WSL. The native build here is upstream rsync with a Windows compatibility layer, so it runs as an ordinary Windows program.
Do I need Cygwin or WSL installed?
No. The native rsync.exe is a single file that needs nothing else. The Cygwin and MSYS2 downloads are portable as well: they include every DLL they need and run from any folder.
Which ssh does rsync use?
The native build runs ssh from your PATH, normally the OpenSSH client built into Windows 10 and 11 (C:\Windows\System32\OpenSSH\ssh.exe). The Cygwin and MSYS2 builds must use their bundled ssh, so pass it with -e.
Why does "rsync C:/data host:/backup" fail with the Cygwin or MSYS2 build?
Those builds treat "C:" as a remote host name. Write the path as /cygdrive/c/data (Cygwin) or /c/data (MSYS2). The native build accepts C:\data and C:/data directly.
Can I run an rsync server (daemon) on Windows?
Use the Cygwin or MSYS2 build for that. The native build can connect to any rsync daemon, but can't run one itself, because the daemon needs fork().
Which build is the fastest?
The native x64 build. It turns on rsync's SIMD and assembly checksum code and avoids the Cygwin/MSYS2 POSIX emulation, so scanning a large tree is noticeably quicker. Copying many small files is limited by NTFS and antivirus scanning for every build.
Is it free?
Yes. rsync is free software under the GNU GPL v3, and so are these builds.