Unison logo

Unison

Website

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 screenshot

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:

Share:

Similar to Unison

FTPGrab logo

FTPGrab

CLI tool to periodically download files from FTP or SFTP servers

562
77
Last commit

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.

MITActively maintained
Alternative to:
GoodSync logo
GoodSync
+1
OpenSSH SFTP server logo

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.

Activity unknown
Alternative to:
Files.com logo
Files.com
+12
Syncthing logo

Syncthing

Open-source, peer-to-peer file synchronization tool.

88k
5.4k
Last commit

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

MPL-2.0Actively maintained
Alternative to:
Resilio Sync logo
Resilio Sync
+6
Pydio Cells logo

Pydio Cells

Self-hosted enterprise file sharing and collaboration platform

2.2k
228
Last commit

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

AGPL-3.0Actively maintained
Alternative to:
Dropbox logo
Dropbox
+19
TimeTagger logo

TimeTagger

Tag-based time tracking with an interactive timeline and reporting

1.8k
166
Last commit

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

GPL-3.0Actively maintained
Alternative to:
Toggl Track logo
Toggl Track
+19
PinePods logo

PinePods

Self-hosted podcast server with multi-device sync and native clients

969
68
Last commit

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

GPL-3.0Actively maintained
Alternative to:
Spotify logo
Spotify
+2