Which one do I need?
| Build | rsync | CPU | Files | ssh | Path style | Best for |
|---|---|---|---|---|---|---|
| Native x64 | 3.5.1 | x86-64 | 1 exe | Windows OpenSSH | C:\data | Most Windows PCs and servers; fastest |
| Native ARM64 | 3.5.1 | ARM64 | 1 exe | Windows OpenSSH | C:\data | Snapdragon / Windows on ARM |
| Cygwin | 3.3.0 | x86-64 | 22 files | bundled | /cygdrive/c/data | ACLs, xattrs, iconv; Cygwin scripts |
| MSYS2 | 3.5.1 | x86-64 | 33 files | bundled | /c/data | Latest 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.exedirectly, so no-eoption 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
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 md4Known limitations of the native build
- It cannot run an rsync daemon on Windows (there is no
fork()). Connecting to anrsync://daemon works. - No
--read-batch, ACLs (-A), xattrs (-X),--iconv, IDN host names or--crtimes. - Windows has no uid/gid, so
-o/-gcarry 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
Same features as the x64 build, apart from the optimizations:
Optimizations:
no SIMD-roll, no asm-roll, no openssl-crypto, no asm-MD5rsync 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%\.sshkeys andknown_hostsjust work- ACLs, xattrs, iconv, crtimes and the sha256/sha512 daemon auth are all compiled in
- Paths are written
/cygdrive/c/data/
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 md4rsync 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%\.sshjust works- ACLs, xattrs, iconv, IDN and crtimes are all compiled in
- Paths are written
/c/data/.noaclis on, so copies don't get odd NTFS permissions - Keep the
usr\binfolder layout: the runtime findsetc\from it
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 md4Examples
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.