By Dan Moren
March 30, 2020 6:10 AM PT
Beyond Compare is the file-comparison tool you need
If you’ve got a need to compare folders, text files, image files—really, anything that can be compared, Beyond Compare is the app you want. I looked at a handful of other comparison tools and spent a lot of time searching the web, trying to figure out the best way to reconcile lots of old files, and Beyond Compare was the one tool I found continually name-checked—and, as it turns out, for good reason.
Essentially, you can drag any two folders into Beyond Compare’s two panes and have it compare their contents. You can choose to have it show only the files that are missing on one side or the other, or all of the differences in files, or even just the files that are the same. Plus, you can add filters that exclude certain filename patterns (for example, I frequently set it up to ignore directories that begin with a period, since those hidden files are generally configuration files I didn’t care about).
Beyond Compare excels when comparing identical or very similar folder structures, and it offers options for comparing files, folder structure, both, or neither. But there are also commands that help when things don’t line up quite right. For example, the “Align with…” command lets you line up two sub-directories to compare, even if they don’t have the same name. If you need to go more in depth on files, Beyond Compare can also compare images and text documents, and can even provide side-by-side hex comparisons, which is way more than I need, but will doubtless prove useful to others.
The app can be a little tricky to use: it took me a while to get the hang of it, figuring out which views I wanted, and what all the various colored icons meant. (Purple, for example, are orphans—files on one side that aren’t on another, whereas red just means there are differences within the files.) One complication arose from the fact that my Synology NAS, which is now my official file server, is formatted with the BTRFS filesystem, and several of my older files got renamed, leading to lots of file differences that were merely differences in file name, not in content. 1
I’ve spent a lot of time in Beyond Compare over the last few weeks, and I definitely got more adroit at using it as time went by, though I’m certain I missed features that could have saved me even more time. In the end, it still didn’t handle exactly the task I’d like it to—namely, scan a folder hierarchy and tell me all the files that are missing from another drive—but that’s a pretty intensive procedure that I frankly couldn’t find any software to handle. So I ended up spending a little more time manually drilling down into folder hierarchies and comparing file sizes and dates.
Despite those travails, Beyond Compare has proved to be more than worth its $30 price tag, not least of all for the peace of mind it brings in being sure that I have all of the data I want. (And, I’ll add, it has an extensive—and perhaps even too generous trial option that allowed me to do pretty much all of my comparisons for free, so I made sure to buy a license anyway.) If your file comparison needs are even more in-depth—say you need to handle three-file comparisons or folder merges—there’s also a $60 Pro version, but for most users, the standard will probably suffice.
Fun trivia time! In the classic Mac OS, directory hierarchies were indicated using the colon (“:”). But, when Apple moved to Mac OS X, which was based on BSD, directories instead used the more common forward-slash (“/”) delimiter. Problem is, back in the classic Mac OS days, you could put all the forward-slashes you wanted in a filename and the system didn’t care—until you migrated all those files to Mac OS X, where the file system very much did not want slashes in file names. But, in order to keep backwards compatibility with classic APIs, Apple essentially converted all those slashes in file names to colons, but still displays them as forward slashes anywhere in the GUI. To this day, you can still put forward slashes in your filenames, but if you go and look in the Terminal, they’re colons. However, if you try to put colons in filenames, it’ll generally automatically use a hyphen instead. Computers are weird. ↩
[If you appreciate articles like this one, support us by becoming a Six Colors subscriber. Subscribers get access to an exclusive newsletter, podcast, and community.]