ePubCheck App for Mac

If you have a Mac and don't want to spend money on an EPUB validator, there are two easy ways to use EPUBCheck (Or, if you prefer a graphical interface, Pagina GmbH also offer a free EPUB checker.)

I — The "Look Like a 90s Hacker" Method (Terminal)

First, download the package from the official site:

https://www.w3.org/publishing/epubcheck/

Mac users will need Java installed (if you don't already have it).

Then open Terminal and run this command:

java -jar epubcheck.jar my_ebook.epub

That's it.

If you're new to Terminal, this might feel slightly confusing at first. The command needs to be run from the correct directory — meaning the folder where your EPUB file is located. You can change directories using the cd command. For example: cd ~/Desktop

II — Turn It Into a Drag-and-Drop App (No Terminal Required)

macOS includes a surprisingly powerful app called Automator that lets you build your own mini-applications.

Here's how:

  1. Download the EPUBCheck package.
  2. Open Automator.app
  3. Choose Application as the document type.
  4. From the Library, add Run Shell Script
    • Shell: /bin/bash
  5. Paste the following (adjust the path to where your epubcheck.jar is located):
for f in "$@"
do
  RESULTS=$(java -jar /Desktop/Hesperus_Press/ebooks/software/epubcheck-5.1.0/epubcheck.jar "$f")
  if [[ $RESULTS == "No errors or warnings" ]]; then
    osascript -e "display notification \"✅ EPUB is valid\" with title \"EPUBCheck Results\""
  else
    osascript -e "display dialog \"$RESULTS\" with title \"EPUBCheck Results\" buttons {\"OK\"}"
  fi
done
  1. Save the application anywhere you like.

Now you can simply drag an EPUB file onto your new app icon.
If it's valid, you'll get a friendly notification.
If not, you'll see the error report in a pop-up.

Bonus Tip

To customise the icon:

  • Right-click the app
  • Click Get Info
  • Drag any image onto the icon in the top-left corner

(Using the EPUBCheck logo makes it look properly official.)

Happy EPUB checking!

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.