Unison
Bidirectional file synchronizer for local and remote directories
5.5k stars 273 forks last commit first released GPL-3.0
Actively maintained
Last commit 6 Aug 2026.

Unison is a file-synchronization tool for POSIX systems (Linux, BSD, macOS) and Windows. It keeps two replicas of a set of files and directories synchronized, allowing changes to be made independently on each side and then propagated in both directions.
Key Features
- Bidirectional synchronization (not one-way mirroring) with automatic propagation of non-conflicting changes
- Conflict detection and presentation when both replicas are modified
- Works locally (different disks) or across networks between hosts
- Communication over SSH or direct TCP connections
- Efficient transfers over slow links, optimizing small updates to large files with an rsync-like delta/compression approach
- Offline-friendly behavior since data is copied rather than accessed via a network filesystem
- Resilient to failures, aiming to keep replicas and internal state consistent after interruptions
- Repeat mode with filesystem monitoring to sync changes soon after they happen
Use Cases
- Keeping a laptop and a server directory synchronized across SSH
- Syncing personal work folders between multiple computers without relying on a centralized cloud drive
- Maintaining consistent configuration or project directories across machines while handling occasional conflicts
Limitations and Considerations
- Designed for synchronizing exactly two replicas at a time; it is not a multi-node distributed filesystem
- Conflicts require user resolution when both sides change the same file or structure
Unison is a mature, long-used synchronizer focused on correctness, cross-platform support, and reliable two-way syncing. It fits best where you want direct control over replication behavior and a robust tool that works well over real-world networks.
Categories:
Tags:
Tech Stack:
Similar to Unison

FTPGrab
CLI tool to periodically download files from FTP or SFTP servers
FTPGrab is a Go-based CLI and Dockerized scheduler that periodically downloads files from remote FTP/SFTP servers to your NAS, server, or computer with filtering and notifications.
OpenSSH SFTP server
SFTP server subsystem of the OpenSSH secure-remote-access suite
The sftp-server subsystem in OpenSSH provides SFTP file-transfer services over SSH with support for internal-sftp, chroot jails, public-key and certificate authentication, and protocol extensions.

Syncthing
Open-source, peer-to-peer file synchronization tool.
Open-source peer-to-peer file synchronization with TLS encryption, no central server, and a browser-based UI.

Pydio Cells
Self-hosted enterprise file sharing and collaboration platform
Self-hosted, secure platform for file sharing, collaboration, and document management with no vendor lock-in.

TimeTagger
Tag-based time tracking with an interactive timeline and reporting
Open source web-based time tracker with an interactive timeline, tag-based workflow, targets, and CSV/PDF reporting for individuals and freelancers.

PinePods
Self-hosted podcast server with multi-device sync and native clients
PinePods is a self-hosted podcast management server with multi-user support, gPodder sync, smart playlists, and apps for web, mobile, desktop, and CLI.


