A notebook for every book on your Kindle. For jailbroken Kindles, including older models like the Paperwhite 2.
Each book gets its own notebook. Your Kindle highlights and the notes you make on them in the reader appear there automatically, next to longer notes you write in Notebooks itself.
The app with public-domain sample books at the Paperwhite 2's app size (758×908). The keyboard is a real Paperwhite 2 screenshot.
- Reading now at the top: the book you last opened, with its cover and progress, one tap from its notebook
- A notebook per book, newest first, with three kinds of entry:
- Your notes, written in Notebooks
- Highlights you made in the Kindle reader
- Kindle notes, shown with the highlight they belong to
- Read book jumps straight back into the book
- A full-height writing screen in a book font, with autosave
- Bullet lists, numbered lists and checklists (tick items off right in the notebook)
- Loose notes for anything not tied to a book
- Page numbers for highlights, from the Kindle or worked out from the book's page file (APNX)
- Picks up where you left off: reopening brings back the same notebook, page or note
- Notes are plain text files, one folder per book, so they're readable on your computer:
notebooks/Walden/2026-10-18 201503.txt - Never silently loses a note: "Saved" only appears once the text has been read back from disk
Highlights and Kindle notes are read from My Clippings.txt and are never changed. Edit or delete them in the book itself.
You need a jailbroken Kindle with Scriptlet support (the Library runs .sh files from documents/).
- Download
notebooks-<version>.zipfrom Releases. - Unzip it and copy
documentsandextensionsinto the root of the Kindle. If those folders already exist, copy the contents into them. - Eject and open Notebooks from the Library.
The first launch registers Notebooks with the Kindle's app manager.
Copy the new extensions/notebooks over the old one. Your notes in /notebooks/ are never touched. The next tap of Notebooks closes the old version if it's still open.
Delete documents/Notebooks.sh and extensions/notebooks/. Keep /notebooks/ if you want your notes.
- The app is a web page run by the Kindle's built-in
mesquitebrowser engine. - A small native helper (
notebooks_helper, C) does the file work. The page sends it requests over LIPC; it can only save or delete.txtfiles inside/mnt/us/notebooks/, refresh the data, and open a book fromdocuments/. It never runs a shell with anything the page sends. - After every change the helper rewrites
/tmp/notebooks/data.js(library from the Kindle's database,My Clippings.txt, all notes, and an acknowledgement for the request). The page reloads it and compares the saved text with what you typed. - Nothing stays running in the background. Once you leave Notebooks (Home, another app, Read book) the helper closes the app's window and exits: on a 256 MB Paperwhite 2 a browser window left loaded can starve other apps of memory. Your place (notebook, page, open note) is kept in
/tmp/notebooks/state.js, so reopening lands where you left off. - The helper runs from a copy in
/tmp, so plugging in over USB can't leave it holding files open.
The helper is cross-compiled by GitHub Actions with koxtoolchain and kindle-sdk for kindlepw2 (soft-float, older firmware) and kindlehf.
Tests run on any machine:
./tests/run_core_tests.sh # helper: paths, base64, JSON, atomic writes, URL encoding
node tests/test_lib.js # app logic: clippings, library, notebooks, listsKindle Paperwhite 2 (6th gen), firmware 5.12.2.2. Other models and firmware are untested.
- Inspired by KNotes by kurizu; Notebooks is a separate app written from scratch.
- LIPC header from openlipc (MIT).
- The Kindle modding community's write-ups on Illusion-style mesquite apps.
MIT
