Tusk LogoTusk

← All posts

Rsync on Mac (2026): openrsync, GUIs, and Commands That Work

By Niklas Fischer · October 10, 2026

The rsync on a current Mac isn't the rsync most guides describe. Since macOS 15 Sequoia, Apple ships openrsync, a separate BSD-licensed implementation that reports itself as "rsync version 2.6.9 compatible" and rejects several flags people copy from tutorials, like --info=progress2 and -X. For a GUI, RsyncUI is the free, actively developed option, and for full rsync 3 features, brew install rsync.

I tested the common flags against the built-in version on macOS 15.5. The results, the working commands, and the GUI options are below.

TL;DR: macOS 15 ships openrsync as /usr/bin/rsync. On macOS 15.5 it rejected --info=progress2, --xattrs/-X, -A, and --append-verify, and plain -a dropped Finder tags (use -aE). It accepted -av, --progress, --delete, --checksum, --dry-run, --itemize-changes, --exclude, --partial, --link-dest, and --backup-dir. For rsync 3.x, brew install rsync. GUI: RsyncUI (free, open source, macOS 14 or later). For verified backups without scripting, Carbon Copy Cloner, ChronoSync, or Tusk.

Which rsync Does My Mac Have?

Run this in Terminal:

rsync --version

On macOS 15.5, the output starts with:

openrsync: protocol version 29
rsync version 2.6.9 compatible

Apple kept shipping rsync 2.6.9, from 2006, for years because newer rsync versions are licensed under GPLv3, which Apple doesn't ship. With macOS 15 it switched to openrsync, originally written for OpenBSD. It speaks the same protocol, so it can still talk to rsync on servers and NAS boxes, but it implements only part of rsync's options.

Which rsync Flags Work on macOS?

I ran each of these with rsync [flags] src/ dst/ on macOS 15.5 (M3 Pro).

FlagResult on built-in openrsync
-a (archive)Works, but dropped Finder tags in my test
-aE (archive plus extended attributes)Works, kept Finder tags
-v, --progress, --stats, -hWork
--deleteWorks
-c / --checksumWorks
-n / --dry-run, -i / --itemize-changesWork
--exclude=PATTERNWorks
--partialWorks
--link-dest=DIRWorks
--backup --backup-dir=DIRWorks
--ignore-existing, --size-only, -WWork
--info=progress2Fails: unrecognized option
--xattrs / -XFails
-A (ACLs)Fails
--append-verifyFails

The Finder tags result matters for anyone who color-codes folders. xattr on the copied file showed no tags after rsync -a and the tag present after rsync -aE. Use -aE with the built-in version.

How to Get rsync 3 on a Mac

If you need the flags openrsync lacks, install the current GPL rsync with Homebrew:

brew install rsync

That installed version 3.5.1 in October 2026. Homebrew puts it at /opt/homebrew/bin/rsync on Apple Silicon, ahead of /usr/bin/rsync in your path, so rsync --version in a new Terminal window should now show 3.x. Scripts that call /usr/bin/rsync by full path still get openrsync.

rsync Backup Commands for Mac

These work with the built-in openrsync. Replace the paths with your own; the trailing slash on the source means "the contents of this folder."

Copy a folder to an external drive, only what changed:

rsync -aE --progress ~/Projects/ /Volumes/Backup/Projects/

Mirror it, deleting files on the backup that you deleted locally:

rsync -aE --delete ~/Projects/ /Volumes/Backup/Projects/

Be careful with --delete. A mistyped source path can empty the backup. Run it with -n first.

Keep deleted and changed files instead of losing them:

rsync -aE --delete --backup --backup-dir=/Volumes/Backup/Deleted-$(date +%F) ~/Projects/ /Volumes/Backup/Projects/

Check a finished copy by content:

rsync -anic ~/Projects/ /Volumes/Backup/Projects/

This is the one most people skip. By default, rsync decides two files match if size and modification time match. In my test I changed one byte inside a copied video file without changing its size or date: rsync -ani reported nothing, and rsync -anic listed it as >fc...... clip2.mov. Any >f line in the output is a file whose contents differ.

Copy to a NAS or another Mac over SSH:

rsync -aE ~/Projects/ user@nas.local:/volume1/backup/Projects/

To run any of these on a schedule, use launchd (a .plist in ~/Library/LaunchAgents) or a GUI that schedules for you.

rsync GUI Apps for Mac

RsyncUI

RsyncUI is a free, open-source Mac app by Thomas Evensen, the developer of the older RsyncOSX. You set up tasks (source, destination, options), run a dry run to see what would change, then run the real thing, and it keeps a log of each run. It works with the built-in rsync or a Homebrew install, and supports remote destinations over SSH. It requires macOS 14 Sonoma or later and is distributed through GitHub and Homebrew, signed and notarized, not through the App Store. Version 3.0.0 was released in May 2026.

Choose it if you already think in rsync terms and want a window instead of a script.

Other rsync front ends

Several smaller Mac apps wrap rsync in a single window, some on the App Store. Before buying one, check which rsync it calls; an app that uses /usr/bin/rsync inherits openrsync's missing flags.

Mac Apps That Do rsync's Job Without the Command Line

Carbon Copy Cloner ($49.99 one-time) copies folders and whole drives on a schedule, keeps deleted and changed files in its SafetyNet, and can compare file contents. It started life as a front end for rsync and now uses its own copy engine. More in our CCC alternatives guide.

ChronoSync handles one-way backups and two-way syncs between folders, drives, and cloud storage, with scheduling and an optional verification pass. See our ChronoSync alternatives.

FreeFileSync is free and cross-platform, with a side-by-side compare view before you sync.

Tusk is for project folders that should live on several drives and in the cloud.

Tusk is a Mac app that automatically backs up your project folders to multiple locations and tracks where every file lives — even when your drives aren't connected.

Where rsync copies one source to one destination per run, Tusk copies a project to all its backup destinations (external drives, NAS shares, S3-compatible buckets, Google Drive, Dropbox) and checks every copy with a BLAKE3 hash, so the -c check isn't a separate step. It keeps a record of which file is on which destination, which rsync never does, and it can delete local copies only after confirming they're backed up everywhere. It's Mac only and costs $49 for the first 100 licenses, $79 after, one-time, with a 14-day trial.

FAQ

Yes, but since macOS 15 Sequoia the rsync command is openrsync, a separate BSD-licensed implementation that reports itself as rsync version 2.6.9 compatible. It handles the common flags but rejects some, including --info=progress2, -X, -A, and --append-verify. Install the full rsync 3 with brew install rsync if you need them.

RsyncUI, a free, open-source app that's actively developed and requires macOS 14 or later. It sets up rsync tasks, runs dry runs, and logs results. If you don't need rsync specifically, Carbon Copy Cloner, ChronoSync, FreeFileSync, and Tusk do the same backup jobs with their own interfaces and verification options.

Run rsync -aE --progress ~/Folder/ /Volumes/DriveName/Folder/. The -a keeps permissions and dates, -E keeps extended attributes like Finder tags, and the trailing slash on the source copies the folder's contents. Add --delete to mirror deletions, after testing with -n first. Check the result with rsync -anic using the same two paths.

Because macOS 15 and later ship openrsync, which doesn't implement --info. Use --progress for per-file progress, or install rsync 3 with Homebrew (brew install rsync) to get --info=progress2.

rsync checks each transfer internally, but it decides which files need copying by size and modification time unless you add -c. To confirm a finished backup matches by content, run rsync -anic source/ destination/; any line starting with >f is a file that differs. In our test, the default check missed a one-byte change that -c caught.

Related guides