A SwiftUI macOS graphical front end for rsync that manages sync tasks and parameters without the command line.
bcpierce00/unison
Unison is a cross-platform file synchronizer that propagates changes between two replicas of a directory tree, flagging conflicts for review.
Open-source alternative to:Dropbox
Resilio Sync
- Stars
- 5,570
- Forks
- 278
- Open issues
- 106
- Last commit
- 2 months ago
What is it?
Unison keeps two replicas of a collection of files and directories in step. The replicas can live on different hosts or on different disks of the same machine, and each can be edited separately. Unison then propagates the changes to the other side, applying non-conflicting updates automatically and presenting conflicting ones for a decision.
Unlike mirroring or backup tools, it handles edits made on both sides. Unlike many network filesystems, it keeps real copies of the data, so synchronized files stay readable and writable while offline. It runs as an ordinary user-level program without kernel changes, superuser rights, or FUSE, and typically connects over ssh or directly over TCP. Transfers of small changes to large files use an rsync-like compression protocol to save bandwidth. It also supports a repeat mode with a filesystem monitor for near-immediate sync.
Unison runs on POSIX systems such as BSD, GNU/Linux and macOS, as well as Windows. It is distributed as source code under GPL-3.0, and many Linux distributions package it as a binary.
Key features
- 01Two-way sync that detects and displays conflicting edits on both replicas.
- 02Works across Windows and POSIX systems such as Linux, macOS and BSD.
- 03Connects over ssh or plain TCP without kernel changes, root access or FUSE.
- 04Uses rsync-style delta transfers to save bandwidth on large files with small changes.
- 05Optional repeat mode with a filesystem monitor for near-real-time sync.
Use cases
- Keeping a Windows laptop and a Unix server in sync with each other.
- Syncing project or document folders between a home machine and a remote host over ssh.
- Maintaining offline-usable copies of data on a laptop that is sometimes disconnected.
- Mirroring files between two disks on the same machine while handling edits on both sides.
Quick start
- 1
Read the building instructions in INSTALL.md
- 2
Install a binary package from your system's packaging system (e.g. a GNU/Linux distribution)
Things to know
- Only a very small number of people actively maintain it.
- Earlier releases are no longer maintained, so you should use the latest release or git master.
- Licensed under GPL-3.0, a copyleft license.
Topics
FAQ
- What is unison?
- Unison is a cross-platform file synchronizer that propagates changes between two replicas of a directory tree, flagging conflicts for review. Unison keeps two replicas of a collection of files and directories in step. The replicas can live on different hosts or on different disks of the same machine, and each can be edited separately. Unison then propagates the changes to the other side, applying non-conflicting updates automatically and presenting conflicting ones for a decision.
- Is unison free to use? What license does it have?
- unison is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is unison still maintained?
- Updated within 6 months. The last commit to unison was on Sep 20, 2026.
- What can I use unison for?
- Keeping a Windows laptop and a Unix server in sync with each other. Syncing project or document folders between a home machine and a remote host over ssh. Maintaining offline-usable copies of data on a laptop that is sometimes disconnected. Mirroring files between two disks on the same machine while handling edits on both sides.
- How do I install unison?
- Read the building instructions in INSTALL.md Install a binary package from your system's packaging system (e.g. a GNU/Linux distribution)
- Where can I get unison?
- The source code and installation instructions are on GitHub: https://github.com/bcpierce00/unison
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source continuous file synchronization that keeps folders in sync across two or more computers without a central server.
A terminal UI for rsync that manages reusable transfer profiles, previews changes as a dry-run diff, and shows live progress, including over SSH.
The official Nextcloud installer: a single Docker mastercontainer that deploys and maintains a full Nextcloud stack with optional Office, Talk, backup and antivirus add-ons.
Open source cross-platform file explorer built on a virtual distributed filesystem written in Rust, with no hosted account required.
Open source self-hostable cloud storage with file sync, sharing, team libraries, and extensible file metadata views.