RsyncUI is a SwiftUI macOS GUI for rsync — it handles task organisation and parameter configuration so you can get the most out of rsync without touching the command line.
If RsyncUI is useful to you, a ⭐ on the repository is always appreciated!
- macOS Sonoma or later
Install via Homebrew:
brew install --cask rsyncuiOr download directly from the releases page. The application is signed and notarized by Apple.
- v3.0.5 — September 10, 2026 — in active development
- User documentation (built on the Hugo-based Docsy theme)
- Release notes
RsyncUI uses the following Swift Package Manager dependencies:
| Package | Function in RsyncUI |
|---|---|
| DecodeEncodeGeneric | Encodes application data as JSON for persistent storage. |
| ParseRsyncOutput | Parses rsync output into transfer statistics, including file counts, created and deleted files, and data sizes for estimates and execution results. |
| ProcessCommand | Runs supporting commands, such as SSH key creation, connection checks, and snapshot deletion, with output and termination handlers. |
| RsyncArguments | Builds rsync and SSH arguments for synchronization, dry runs, snapshots, restoration, verification, and remote file listings. |
| RsyncProcessStreaming | Executes rsync processes and streams their output to handlers for progress, errors, and completion. |
| RsyncUIDeepLinks | Creates, parses, and validates deep-link URLs for profile actions and widget integration. |
| SSHCreateKey | Prepares SSH key creation and connection arguments, manages key paths, and checks whether a public key exists. |
