In praise of Beyond Compare

November 29, 2005

It's a shame that Beyond Compare isn't listed in more "favorite tool" lists. This amazing little folder and file differencing tool has earned its spot in my core toolset a dozen times over. Here's a screenshot of it in action:

Screenshot of Beyond Compare in action

I've mentioned Beyond Compare before, but even a year later, few developers seem to know about it. If you haven't tried it yet, what are you waiting for? Are you writing your own diff program in c#? Give it a 30-day trial spin, and check out the viewer plugins, too.

Here are a few beginner tips when using Beyond Compare:

  • Make use of the ultra-handy right-click explorer file and folder context menus to compare stuff.
  • The default comparison is file size plus date and time, which is super speedy but not always accurate. Use the little scales icon (or the Session | Comparison Control menu) to switch the comparison type to Size and CRC.
  • When viewing a file comparison, use the referee icon (or the Tools | Edit Current Rules menu) to tweak the file comparison rules. I usually turn off all the options under "Unimportant Text" such as leading whitespace, case, line endings, etcetera.

Posted by Jeff Atwood
51 Comments

Not only is Beyond Compare one of my must have development tools, it is also one of my must have Windows Power User tools. The ability to sync entire drives and directories is great, it even supports syncing over FTP.

I am using it right now to remove data from a dying 200 gig hard drive. Unlike other file copy tools it will continue if one of the files fails. Then it shows a whole tree view allowing you to drill down into the individual directories and files to see what is in sync.

Also the image comparison plug-in is amazing. I've never seen anything like it. If you do any kind of graphic work you will find it indispensable.

Beyond the incredible feature list I would say one of the main things I love about BC is that it is very fast and intuitive to use. Sure, someone else might expect it to work a different way, so the best way to find out if you cannot live without it is to download it and try the 30 trial. That is what hooked me and got me to switch from what I was previously using.

Jim McKeeth on December 1, 2005 2:00 AM

I've used BC for quite a while, and it's an excellent tool.

One of the things that's nice about it is the extensibility; you can write your own comparison add-ins.

Ken White on December 1, 2005 2:02 AM

Yep, its a great tool. I used WinMerge until I was told about this tool by a guy on our release managment team. Most of our devs hadn't heard of it.

Erik Lane on December 1, 2005 2:54 AM


Aside a more expensive license price, Araxis Merge is way much nicer and easier to use IMHO.

Stephane Rodriguez on December 1, 2005 3:50 AM

Personally, I prefer ExamDiff Pro. And if you ever need to search something on your hard disk, try FileLocator Pro!

Chris Nahr on December 1, 2005 4:04 AM

we've been praising beyond compare for a long time.

in addition to giving out a few copies in our november software drawing, members of donationcoder.com can get 25% off beyond compare through the first week in december:
http://www.donationcoder.com/Specials/index.html

make sure while you're at the site to check out the Dina Programming font mentioned previously on codinghorror.

(donating any amount to our site makes you a member).

mouser on December 1, 2005 4:23 AM

FileLocator Pro is a great tool. They have a free version called agent ranksack.

Both are great and remove all thoses problems that ms-windows file search has.

will on December 1, 2005 4:29 AM

I've used Beyond Compare for years now and have a personal copy. We used it at my last position and it worked flawlessly. Highly recommended!

Brian Swiger on December 1, 2005 4:51 AM

I haven't tried ExamDiff, but I have used Araxis quite a bit and I think Beyond Compare is both better AND cheaper than Araxis Merge.

Here's another second for Beyond Compare:

http://www.donationcoder.com/Reviews/Archive/CompareTools/

Jeff Atwood on December 1, 2005 5:01 AM

Can anyone provide a breakdown of the features in Beyond Compare (or Araxis) that make it worth the price over WinMerge?

Beyond Compare is only $30! I know free is free, but $30 is only $30. And a 25% discount on top of that if you join Donation Coder. You cheapskates ;)

Give the 30-day free trial a shot. I have zero affiliate stake in this, I just think BC is an essential -- and very inexpensive -- tool.

Jeff Atwood on December 1, 2005 5:37 AM

I'll second that emotion, Jeff. BeyondCompare is a great tool I have used for years.

Araxis Merge is great also, but I like the vibe of BC more.

AndyToo on December 1, 2005 6:56 AM

forgot to mention, donationcoder.com did a giant review of comparison tools and beyondcompare came out on top.

you can read all about why we loved it so much, and see how it compares to araxis, and even see tons of screenshots and movies in our review:

http://www.donationcoder.com/Reviews/Archive/CompareTools/index.html

mouser on December 1, 2005 7:19 AM

hmmmm,I'll have to try out BC. I've been using KDiff for a long time. Previous to that I just used whatever diff tool was built into the SCM I was using at the time.

Scott on December 1, 2005 8:48 AM

Very awesome tool. I've been using Beyond Compare for over a year now.

Raymond Lewallen on December 1, 2005 9:37 AM

After reading about Araxis and BC here last December, I tried them both and bought a license for BC; haven't looked back since, great tool.

Chris Carter on December 1, 2005 10:18 AM

Yep, Beyond Compare is a really nice application. Written in Delphi, too (a href="http://www.borland.com/Delphi)"http://www.borland.com/Delphi)/a

Nick Hodges on December 1, 2005 10:36 AM

I'll second the recommendation for WinMerge. Can anyone provide a breakdown of the features in Beyond Compare (or Araxis) that make it worth the price over WinMerge?

Eric Hoch on December 1, 2005 11:38 AM

Yeah, I agree. A comparison between Beyond Compare and other file/folder comparison tools would be very handy. I have been using Beyond Compare for about a year now, too and would probably need a good reason to switch ;-)

Alex Bendig on December 1, 2005 12:41 PM

Araxis Merge Professional is the version that can handle a full 3-way compare and merge. That functionality is VERY VERY nice, especially when you need to manage a client who has really let their code go all over the place (not my current employer!). I like the way Araxis handles "alignment" between the 3 sources -- much better than VSS. This is discussed in the donationcoder site.

I like WinMerge, and wish they would add 3-way compare-merge to their product -- maybe they need some help :).

Beyond Compare looks like it handles alignment well also. I will be testing it now. The donationcoder site has a animation of it also: a href="http://www.donationcoder.com/Reviews/Archive/CompareTools/flash/BeyondCompare1.html"http://www.donationcoder.com/Reviews/Archive/CompareTools/flash/BeyondCompare1.html/a

I'm testing another tool, called SibSerf a href="http://world.std.com/~jdveale/index.html#sibserf"http://world.std.com/~jdveale/index.html#sibserf/a
-- which takes a different approach to 3-way compare and merge. Pretty interesting.

vorik on March 30, 2006 12:28 PM

Dear goodness. Beyond Compare is essential for my dev work, webdesign work, deployment work, debugging work, etc. It is amazing what it will do for the price, and it keeps getting better.

hachiihcah on October 17, 2006 11:24 AM

Beyond Compare rocks!

I have been using the tool for years. I am speachless when I see how much time and effort BC saves to me every day. Amazing.

boskovuk on November 9, 2006 8:12 AM

I've changed 2 work places in the last 4 years and BC was and still is my best companion regarding merging and comparison. I use WinMerge at home cause it's free.

John on March 12, 2007 12:42 PM

I'm with Chris, my allegiance is with ExamDiff Pro. As a standard text file / directory comparison tool they look very similar but ExamDiff Pro's extensions look like they edge out BC. My favorite is the Word extension. Rather than treating them as binary files, it pre-processes Word files and does a text compare so you can actually see what differs in the Word document. Pretty nice.

mhardy on April 1, 2007 10:18 AM

http://www.scootersoftware.com/ubbthreads/postlist.php?Cat=0Board=BC3News

Beyond Compare 3 Professional is coming this year. BC3Pro is a complete re-architecture of the product bringing 3-way merge, syntax highlighting, dynamic recompare, full-screen editing, and much much more. The bang for the buck is going to get bigger fast.

Michael on April 3, 2007 11:09 AM

Been using BC many years. Continues to be awesome. It is a real workhorse of an application. Can't wait for BC3 but hope they don't over shoot. Part of what makes BC2 so great is its strait forward approach.

Shrike on April 7, 2007 2:37 AM

I absolutely LOVE BeyondCompare. Honestly, I started my computing life about the same time as the first PC's really came out (1983), and I really find BeyondCompare to be one of the nicest, and generally most useful, and also visually easiest/nicest programs I have ever used.

I have tried about a dozen other differencing programs over the years, and this is just so far superior, there is not even a contest.

Chris Burbridge on August 18, 2007 5:31 AM

I have a question about Beyond Compare. I work for a large company and we have a huge amount of code. I am new to Visual Studio 2005 Team Foundation System, but I am the configuration manager for this. I will still be using Visual Studio 6.0 for our older products.

Our process is to do inspections by comparing the original version (version 0) with the newer version (version 1). But many times the developer has to do rework. Is this tool able to compare the newer version (version 1) of the inspection with another newer one (version 2) with the rework?

Thanks,
kennerlj

kennerlj on August 27, 2007 11:57 AM

I am a licensed user of BC2. I am in need of 3-way comparison and merge. It is crucial to have this feature for version control software, because you will be performing 3-way comparisons and merges in this situation. BC2 cannot become a cimplete replacement for Ratinal CLearCase's merge manager due to the lack of 3-way comparisons, for example.

What I need even more than 3-way comparison is a diff tool that can parse XML documents and compare/merge them. BC2 does not do this. Does anyone know if Araxis Merge does?

Imagine an XML document that exists on a single line. Try comparing and merging that in BC2, to see how useless it is for XML documents.

JT on September 30, 2007 9:22 AM

use pspad freeware editor to conver one line of xml and reformat it. this tool will make it multi line.
do it with both the files and use Beyond compare! just because you have bad data, it does not make BC a bad tool..
It is great tool!

jack on October 3, 2007 1:13 PM

Just to let you know, there is absolutely nothing wrong or bad with an XML document exsting on a single line. It is used quite frequently. Araxis Merge does not currently support parsing XML documents for comparison, so it would not help in this situation either. In searching, the only diff tool that does is Altova's diffdog, but that utility is lacking in other areas, IMO.

Sure -- I could certainly format the files manually prior to using a diff tool, but if there's one that does it for me automatically AND reformats it back to the way it was before it made changes, that would be an IDEAL diff tool for my needs.

JT on October 4, 2007 5:05 AM

kennerlj,

Beyond Compare can compare any two text files, show you differences between the two, and allow you to selectively choose which differences to include or exclude to one or both versions you are comparing. Beyond Compare is a great choice for casual users in need of a diff tool. The tool is not perfect, however, and may not be the best choice for Software Engineers.

Some features that would make Beyond Compare even better include:

* In-line editing (manually editing in BC2 is extremely cumbersome)
* Customized syntax coloring for source code
* An improved way to manually align incorrectly matched comparisons (the current way to do it is very cumbersome). No diff tool is going to match things up perfectly, so a quick way to fix it is ideal.
* The ability to compare and show differences in binary files.

Although the tool is great, these reviews really are ignoring the stuff above missing (except for in-line editing).

JT on October 7, 2007 5:47 AM

@JT

"Just to let you know, there is absolutely nothing wrong or bad with an XML document existing on a single line."

...except that, for example, it's unreadable by a human being, like a program on one line.

imak on October 16, 2007 10:59 AM

imak, I agree that it is unreadable. Its intent was to be machine readable, however. Imagine transmitting XML via SOAP. Most developers would transmit machine readable XML. When debugging this code, it would help to have a diff utility that could parse XML.

XML has been around for a long time now. It's time that diff utilities caught up and supported it correctly, I think.

JT on October 19, 2007 5:57 AM

To the people wanting xml comparison - check the xml tidy extension on beyond compare (available from the beyond compare site).

It uses the xml tidy tool to normalise and indent xml in a standard way, so you can compare two files that are laid out in different ways, for example one on a single line, the other half indented.

you can even play with the xml tidy parameters, and do things like sort the attributes, in case that's an issue.

bob on February 4, 2008 12:00 PM

To Bob, re xml tidy - good call! took a while to find it - quickest is to go to support tab, click knowledge base articles, entered xml tidy in search, then scroll down... works a treat, thanks.

Steve Bissell on February 11, 2008 3:04 AM

Just a note, I love BC. But, it doesn't handle files with hebrew character set. Perhaps a future update can fix this?

wes on February 13, 2008 10:18 AM

BC is used a lot in our shop. It can do binary searches in folder compares which can be very, very helpful.

whocares on February 14, 2008 6:42 AM

3-way merging is to be supported in Beyond Compare 3.

Also, you can download rules from Beyond Compare's site for Microsoft Word files, etc.. There are lots of rules and plug-ins on there, check them out.

http://www.scootersoftware.com/download.php?c=kb_morerules

Beyond compare is the greatest.

kmg on March 25, 2008 1:51 PM

FYI: The beta for beyond compare is now available. The developer is making the beta versions available for free until the product is out of beta and the final candidate for 3.0 is released.

The number of improvements in 3.0 are very exciting.. as mentioned 3 way merge is in there, along with much improved ftp support, folder comparisons, and a tab interface that supports multiple compares in a single window (each running in parallel, allowing you to have several directory comparisons going at once in the background using multiple tabs).

-Michael (Seattle, WA)

Michael Moore on May 21, 2008 1:34 PM

I would totally agree!!!

I'm a developer and our company has had a corporate license for Beyond Compare for about 5 years. I've been using it about that long. It's probably in my top 5 favorite "core tools" that I can't live without.

Their support is great too if you have to contact them for anything. I just contacted them yesterday to ask about the possibility of a Linux version. It seems one is in beta (for version 3 about to come out) and about ready to be released as well. They sent me a link. I had that answer/link within about 1 hour.

Beyond Compare rocks!

Chris C on June 3, 2008 11:32 AM

@JT

quote
An improved way to manually align incorrectly matched comparisons (the current way to do it is very cumbersome). No diff tool is going to match things up perfectly, so a quick way to fix it is ideal
/quote

Actually, I find BC's method to be pretty good. I've changed the keyboard bindings (ToolsOptionsKeyboardAlign Manually) so I do this:
1. Click the left line you want to align.
2. Hit space.
3. Click the right line
4. Hit space.

Now the two lines you selected should be aligned.

I'm just using BC again after a break with Araxis Merge, so I don't remember if it does as good of a job with multiple alignments.


For anyone on Linux or with Gtk available to them, there is a great open source diff program called Meld. (http://meld.sourceforge.net/) It is very similar to Araxis Merge (fancy graphics, 3-way diff...)

David on June 10, 2008 2:17 AM

Beyond compare is indeed great tool. The price is only complete icing. It provides a lot of simplistic comparing, but it's directory comparing is really useful, fast, and relaible. It takes a little getting used to, but once you've used it a few times you will completely appreciate the power for the price. For those comparing Araxis Merge and don't the price is a problem, don't think, just buy Araxis merge. It's a better tool (I've used both extensively in coding and file maintenance efforts; multi-years each), from it's report generation capabilities (yes I know BC2 has it also, but is much more limited) to it's sophistication and accuracy of it's merge engine. For the price of BC2, you will find no better (IMHO) tool to allign directories, files, or lines within a file. I never stop getting amazed at what it accomplishes. The rule based filtering quickly gets rid of the cruft files and allows quick focus on the concerns or areas of change; be they file or directory. It also offers a simplistic save these settings as a named compare allowing storage of session configuration. Same version upgrade and 1 year buyer protection upgrade. This could be important since they are about to release 3.0 and raise the price. Very nice tool. For the price, you cannot go wrong. It works VERY WELL!

If you're on the edge, the new 3-way merge version is coming out in July (pro version only contains 3-way); scheduled July 31st 2008. Standard will also be available; equivalent to BC2). Price is going up, amount depends on the license you choose. If you buy BC2 now, you 3.0 for free; although BC2 to BC3 Pro will still cost a difference upgrade fee.

Matt on June 13, 2008 3:54 AM

Araxis just recently released an update to Merge that natively supports XML. I'm testing it out now, but it looks pretty nice so far. It appears to use the BC's tidy approach without tidy (i.e., it does not appear to parse XML per say, but it formats it nicely prior to comparison).

JT on August 15, 2008 9:12 AM

In regards to Araxis Merge's XML support, it is not like BC's tidy approach at all. The formatted XML is only displayed that way. The original XML file remains as it was. Merges you make to a single element in the XML do not result in the entire file being altered. Only the specific element you merged gets changed.

This is pretty slick and very fast.

JT on August 15, 2008 9:24 AM

Scooter Software Just Came Out With Beyond Compare Three!

Actually, I was a little turned off by their last interface but the improvements here are way beyond the look and feel, I just bought it after 2 years on the other version and its exactly what I wanted to see.

Good Job Scooter!

Eric Rothchild on August 20, 2008 12:03 PM

I have been using BC for many years. It is really helpful when merging code and look for changes. The right click comparison feature is very useful. After many years of use I still haven't seen any erroneous behaviour.

Great work BC !

Samantha on September 16, 2008 10:31 AM

One great option with later versions of 2 and beyond is a portable (flash-drive) install. Combined with the personal licensing terms allowing one user to run it on any number of computers, means you can have it available anywhere with 'plug-and-diff' convenience.

The other great new feature in BC3 is the 'ignore replacements' feature. If you've changed a (or a few) strings to a different value in many places between two files, and want to check for other differences, you can right-click on difference text, choose 'replacement', and select 'ignore'. You get an immediate visual indication of differences other than the ones you know have been changed en masse. Helped me visualize one issue at work that could have been tedious to resolve otherwise.

Krishna Sethuraman on January 9, 2009 2:57 AM

Hello

Is there some way to capture Code Review Comments with context in BC ? I would love to see something like that

Anup Pachlag on January 13, 2009 6:14 AM

Can someone plz tell me how can i save the differences in beyond compare!!

Shrejal on January 26, 2009 11:44 AM

Does Beyond compare offer a line total of differences in files that be accessed from somewhere else than at the bottom of the file?

I'm new to this and trying to get some total counts of changes from one release to the next and wasn't sure if there was an easier way to find it?

thanks!!

Jen on June 17, 2009 7:21 AM

I've not used anything but WinMerge (http://winmerge.sourceforge.net/) for ages - the main improvement I'd like to see is a 'whole tree' view in the directory comparison view.

Stuart Dootson on February 6, 2010 9:46 PM

The comments to this entry are closed.