I am looking for an application to compare two PDF files.

Application must:

  • be able to highlight differences between the two documents
  • be mac-compatible as I will be using it on a mac
  • be free, I do not want to spend any money

I will be mostly using this for comparing the new versions of license agreements (since I am too lazy to read a 40+ page document every time a minor change is made)

The application does not need to be from the App Store, nor does it need to need to be official all I need is for it to do what it is intended to do (compare PDF's) very well.

I won't use this application very often and will accept it in any of the following formats:

  • Mac app store app
  • Java app
  • Web app
  • AppleScript file (I will need to see the source code)
  • Automator workflow
  • basically anything that will run on Mac OS X Yosemite (non-beta) and perform the intended task effectively

You can use DiffNow:

  • it's free
  • web-app diff tool
  • works via pasting text; uploading files; using URLs

The only limitation is that files must be < 2048kb.

The sample on their site (first pdf vs. second pdf):

DiffNow UI

| improve this answer | |
  • So it supports non-ASCII PDF files? – DeveloperACE Feb 7 '15 at 23:46
  • yep - you can use normal pdf files – ᔕᖺᘎᕊ Feb 7 '15 at 23:48
  • 1
    Great! Thank you so much! – DeveloperACE Feb 8 '15 at 0:12
  • 1
    Is it just a web app or a downloadable application? – DeveloperACE Feb 8 '15 at 0:12
  • Web app only afaik – ᔕᖺᘎᕊ Feb 8 '15 at 0:26

compare (command from ImageMagick)

If you want to compare the visual appearance of page 4 of a.pdf with page 6 of b.pdf, you can use ImageMagick's command line tool compare. Here is a variation of commands to try:

compare              a.pdf[3] b.pdf[5]              delta1.pdf
compare -density 300 a.pdf[3] b.pdf[5]              delta2.pdf
compare              a.pdf[3] b.pdf[5] -compose src delta3.pdf
compare              a.pdf[3] b.pdf[5] -fuzz 5%     delta4.pdf

(ImageMagick's frame/page counting is zero-based; so "[3]" means "page 4"...) This will create "delta" documents, where each pixel that is different between the pages is painted in red:

  1. The first variant keeps a pale version of a.pdf as a background image to the page.
  2. The second variant uses a resolution of 300 PPI (instead of the default 72 PPI).
  3. The third variant creates a white+red delta only (leaving away the pale background).
  4. The fourth variant does mark as red only those pixels which have a color difference of more than 5%.

It should be noted, that the comparison only works if the respective page sizes for the compared files are exactly identical.

diffpdf (GUI application)

DiffPDF is a GUI application which can process 2 or 3 PDF input and show the differences:

  1. There is a mode that compares text content only, highlighting word and character differences.
  2. There is another mode that compares visual differences and highlights them.

The home page only offers a paying Windows version now, but earlier versions were free. You can grab the source code e.g. from Debian, it includes compilation instructions for OS X.

| improve this answer | |

DiffPDF nowadays is an paid software for Windows only, but it was previously free and also available for OS X. You can still download such a previous version.

It allows both visual and textual comparison.

Screenshot taken from Lifehacker.com

| improve this answer | |

When comparing PDF files, you have the choice between:

  • comparing the contents (i.e. the actual text)
  • comparing the pages as a whole (visual comparison).

While you might be looking for the first type of comparison, I wanted to offer a way to compare two PDF files page-by-page.

As I've had this requirement regularly in the past, and couldn't find the necessary software to perform the comparison, I wrote my own and made it available on GitHub. It's called pyPdfCompare and is available free of charge.

It runs fine on OS X and Windows but does require you to install Python 3, Ghostscript and ImageMagick. Furthermore, you'll need to perform a pip install for the libraries it uses.

It may be a little too technical and/or not exactly what you were looking for, but I wanted to offer the option anyway, for the sake of completeness.

| improve this answer | |

For your use case, comparing the text and discarding all formatting and non-text elements would work well. You can run the pdftotext utility on each file and then a text comparison tool on the result. On OS X, you can install pdftotext from various free software distribution channels such as Brew or MacPorts, it's part of the poppler package.

Cas Cremers's pdfdiff.py script automates the running of pdftotext (which needs to be installed separately) and of a diff viewer (ditto).

The result is similar to DiffNow cited by ᔕᖺᘎᕊ, I think they use pdftotext internally and plug the output into a text diff webapp.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.