Mergeall — Backup and Sync Your Stuff Your Way


Welcome to the products page for Mergeall, a cross-platform tool for syncing content folders. Mergeall is both a GUI and a script, does both incremental backups and fast change propagation, and can serve as a manual but private alternative to cloud storage. With Mergeall, your stuff is your property, not someone else's point of control. For a quick tour of Mergeall's features, see its User Guide's Introducing Mergeall, its PC screenshots, and its Android how-to.

New: Mergeall 3.3 was rereleased in Oct-2022 in all its download packages below, with improved path normalization for Unicode variants.

New: Mergeall 3.3 was released in Mar-2022, with Unicode normalization for filename matching, and minor GUI and report mods. All download packages below were rebuilt to use 3.3, and include 3.2's changes.

New: Mergeall 3.2 was released in Oct-2021 in the source-code package only, with a script that collects changes to be applied later, a nonportable-filename fixer, and more. See the release notes.


Mergeall runs on macOS (f.k.a. Mac OS X), Windows, Linux, and Android. It's available as a platform-specific Mac app, Windows 64-bit exe, and Linux executable, plus a complete source-code package that runs on all four platforms. Click the download link below to fetch the package you wish to use. The app, exe, and executable may be easier to install and run, but source code can be studied, runs where others do not, is required on Android today, and nullifies some of the issues covered by the next section's pointers.

macOS app Download
Windows exe Download
Linux executable Download
Source-code package Download

Though not normally needed, the prior versions of any of the above are available with a "prev-" name suffix on the full products page here. For example, fetch for the prior 3.1 build of the macOS app.


For more details on Mergeall's download packages, as well as their complete install and usage instructions, see the main README.txt. In brief, you'll fetch, unzip, and run either the unzipped app itself (macOS), a same-named executable inside the unzip (Windows and Linux), or the program's main script in the unzipped source code (all platforms).

The latest getting-started pointers:

macOS users
See the tips and fixes for your platform's first-run warnings. This applies only to the macOS app, not source code, and the app does not require app-folder permissions. The readme covers Launchpad on your platform, and additional usage notes. Mojave users: see also this.
Windows users
See the tips and fixes for your platform's first-run warnings, executable start-up speed, and GUI blurriness on Windows 10+. The first two of these apply only to Windows executables, not source code. Command-line users: be sure to also see the PYTHONIOENCODING note here. 32-bit users: you cannot run the 64-bit package, but can run the source code, fetch 3.1's 32-bit build, or make an executable of your own with the build script.
Linux users
You can add Mergeall to your applications launcher by fetching this file and installing it per steps 1..4 in this tip. The latest Linux executable is immune to the font breakages of this note, but the source-code package remains a fallback for future morph. See also this note for pointers on external-drive filesystems for your platform.
Android users
Mergeall runs in both GUI and command-line modes on your platform. This doc covers GUI mode, in which you'll fetch and patch the source-code package and run it in an app's IDE. This doc covers command-line mode, in which you'll fetch the source-code package and run it in a terminal app. For Android USB-drive filesystems, see this.
Android 11+ users
Per this and this, changes in USB access in your platform may invalidate both of the preceding note's options. As a work-around, an alternative set of scripts for Android 11 and later automate Mergeall runs to sync content from PC to phone indirectly. See here and here for details. Android 12's process killer may also impose additional steps: details here.


[Home page] Books Code Blog Python Author Train Find ©M.Lutz