LinuxAlternative

Linux · Accessories

Unison

Unison is a cross-platform file synchronization tool that keeps two directories in sync across different systems.

Open sourceFreeFlatpak
5.0 · 1 votes
License
GPL-3.0-or-later
Latest version
2.54.0 (June 13, 2026)
Developer
The Unison Project
Installs
278 (Flathub, 30 days)

What is Unison?

Unison is a mature file-synchronization tool originally developed in the early 2000s by The Unison Project. It runs natively on Linux, macOS, and Windows, and supports bidirectional sync over SSH, local disks, or network paths. Unlike simple one-way tools, Unison detects changes on both sides and helps resolve conflicts intelligently.

It's best suited for users who need reliable, scriptable synchronization between machines—like developers, system administrators, or anyone maintaining mirrored directories across devices. Its design favors precision and safety over flashy interfaces, making it ideal for technical users comfortable with configuration files and command-line workflows.

Compared to Windows tools like SyncBack, Unison feels more minimal and less GUI-driven. There’s no built-in scheduler or wizard-style setup. Instead, it relies on profiles and manual or scripted execution. If you're used to point-and-click sync tools, expect a steeper learning curve but greater control once set up.

Best for: Users who need precise, bidirectional sync between systems and don’t mind working with config files.

Key features of Unison

  • Bidirectional file synchronization
  • Supports local, remote (SSH), and network paths
  • Detects and resolves two-way changes
  • Cross-platform: Linux, macOS, Windows
  • Preserves permissions, ownership, and symlinks
  • Configurable conflict detection and handling
  • Profile-based configuration system
  • Runs in terminal or with GUI frontends

Pros

  • Reliable and battle-tested across decades
  • Works consistently across platforms
  • Handles complex sync scenarios safely
  • Lightweight and scriptable
  • Open source with active maintenance

Cons

  • No built-in scheduler—requires cron or systemd
  • Steeper learning curve for beginners
  • GUI is basic and not always stable
  • Configuration requires manual editing of text files

Windows programs Unison replaces

How to install Unison on Linux

Flatpak (Flathub)flatpak install flathub io.github.bcpierce00.unison
Ubuntu / Mintsudo apt install unison-2.53
Debiansudo apt install unison-2.53
Fedorasudo dnf install unison
Arch / Manjarosudo pacman -S unison
openSUSEsudo zypper install unison

Tips for Windows users

If you're coming from SyncBack or Windows Live Sync, know that Unison doesn’t use the same project format. You’ll need to recreate sync jobs as text profiles. There are no drag-and-drop interfaces or automatic background monitoring—use inotify or cron to trigger runs. GUI tools like Unison-gtk help, but the real power is in scripting. SSH is the default remote method, so set up key-based authentication first.

Recent releases

  • 2.54.0 —

    - Drop old wire protocol. Unison will no longer interoperate with versions before 2.52.0 and will no longer read pre-2.52.0 archive files. - Document that LLM output is unwelcome in the Unison project (code, issues, mailinglists, etc.).

  • 2.53.8-2 —

    Switched to runtime version 25.08.

  • 2.53.8 —

    - Add ability to use reflinking instead of copying (if supported by filesystem). - Don't write file fingerprint cache if it is not necessary. - Experimental default-off support to detect moves/renames and rename on destination instead of copying (see…

  • 2.53.7 —

    First version on Flathub

Unison: frequently asked questions

How do I install Unison on Linux?

On most distributions, install via package manager: sudo apt install unison on Debian/Ubuntu, sudo dnf install unison on Fedora. Also available via Flathub.

Does Unison sync file permissions and ownership?

Yes, Unison can preserve permissions, timestamps, and ownership when run with appropriate privileges, especially over SSH or on local filesystems.

Can Unison sync over the internet securely?

Yes, Unison uses SSH by default for remote synchronization, ensuring encrypted and secure transfers between machines.

Is there a GUI for Unison?

Yes, the unison-gtk package provides a basic graphical interface, though many prefer scripting with the command line for reliability.

Updated