Konshus

A practical guide · ~7 min read

How to Export Every Apple Books Highlight

Apple Books highlights are gorgeous — they sync across every device you own, they never leave the Apple ecosystem, and they're almost impossible to export. Which is the polite way of saying: everything you've underlined for the last decade lives in a SQLite file three folders deep in a hidden Library folder, and Apple would rather you didn't think about it. Here's exactly where to find it.

Why Apple Books highlights are worth the effort

Highlights are the byproduct of paying attention. When you underline a sentence, you're marking a small moment where a book changed something in you — an idea, a doubt, a feeling you didn't have a word for. Multiply that by hundreds of books and you have the closest thing to a written record of how you've been thinking, drifted by reading.

Apple's design bet is that you don't want that record — you just want the book to remember it on your next device. Which is fine until you want to leave the ecosystem, or search your own history, or ask an AI what you've been reading about grief the last two years. Then it's suddenly worth 15 minutes.

Where the SQLite files live

On macOS, Apple keeps two SQLite databases:

  • ~/Library/Containers/com.apple.iBooksX/Data/Documents/AEAnnotation/AEAnnotation*.sqlite — every highlight and note.
  • ~/Library/Containers/com.apple.iBooksX/Data/Documents/BKLibrary/BKLibrary*.sqlite — book metadata (titles, authors, IDs).

The Containers folder is hidden by default. In Finder: Cmd+Shift+G → paste the path above → hit Return. Copy the files out to a working folder before you open them. Never edit the originals in place.

Reading the files

Install DB Browser for SQLite (free, open source). Open the AEAnnotation file. The table you want is ZAEANNOTATION. The columns that matter:

  • ZANNOTATIONSELECTEDTEXT — the highlighted passage.
  • ZANNOTATIONNOTE — any note you attached.
  • ZANNOTATIONASSETID — the book's ID (joins to BKLibrary).
  • ZANNOTATIONCREATIONDATE — when you made it (Apple epoch — add 978307200 to get Unix time).

Then open the BKLibrary file. Table ZBKLIBRARYASSET: ZASSETID matches the annotation's asset ID, and ZTITLE / ZAUTHOR give you the book. A single SQL query joins them.

Never lose your AI again

Konshus is one way to solve this — a persistent memory vault and portable persona that follows you across ChatGPT, Claude, Gemini, and whatever ships next.

Meet Konshus

The easier way: a helper script

If SQLite is not your idea of a Tuesday night, there are open-source scripts on GitHub (search "apple books highlights export") that do the join for you and emit Markdown or JSON. Vet them — you're pointing them at a file that contains everything you've ever underlined — but the good ones are ~100 lines of Python and easy to read end-to-end.

Alternatively, share individual books to Notes from the Books app (long-press a highlight → Share → Notes). Slow, but requires no tools.

Then what?

A file of 3,000 highlights sitting in iCloud does nothing. The whole point of exporting is to use them — to search them, to notice patterns across years, to ask "what have I been reading about ambition?" and get an actual answer.

Konshus imports Apple Books highlights alongside Kindle and the rest of your reading, clusters them by theme, and lets your Konshus reference what you've actually read — not what a base model happens to know.

Frequently asked

Frequently Asked Questions

Your reading, as memory that talks back

Konshus reads your Apple Books SQLite export, clusters by book and theme, and lets your Konshus quote your own underlines back to you.

Meet Konshus