1 min read

How to Fix EPUBs Exported from Apple Books for Import into Other Reader Apps

I encountered an issue while trying to use EPUBs that I had previously stored in, and later downloaded from, Apple Books. It turns out that Apple Books exports EPUBs as folders instead of files, which causes problems when trying to upload them to apps like Readwise Reader and ElevenLabs Reader. To fix this, I found a helpful GitHub project. Here’s how you can use it.

1. Download this file: pack-epub1

2. In a terminal, grant pack-epub write access:

chmod +x /path/to/pack-epub

3. In the terminal, convert your Apple Books EPUB file2

/path/to/pack-epub --dir-path=/path/to/your.messed.up.apple.epub

4. On the first run, macOS may block the app as it's unverified. Click Cancel.

5. Go to System Settings > Privacy & Security, find "pack-epub was blocked..." and click Allow Anyway.

6. Run the conversion again in a terminal

/path/to/pack-epub --dir-path=/path/to/your.messed.up.apple.epub

7. The fixed EPUB will be in your ~/ (eg home) directory. You can now import it successfully into your other reader app.

[1] If you're concerned about running the linked binary you can clone the repository and compile it yourself. In that case the fixed EPUB will be saved in the folder pack-epub-1-2.0.

[2] If you're new to Terminal.app, you can drag and drop the pack-epub file into it to find its path. Then, drag and drop your EPUB file after path=.