← Back to the app

About & Help

kobo2readwise gets highlights out of your sideloaded Kobo books and into Readwise. When you sideload a book, its highlights are saved only on the device — Readwise can't fetch them, so this reads them in your browser and sends them over.

How to use it

  1. Connect your Kobo by USB and open the hidden .kobo folder on the drive.
  2. Click Choose KoboReader.sqlite… and pick that file.
  3. Review the highlights it found (keep Only sideloaded books on).
  4. Paste your Readwise token, click Connect to Readwise, then Sync.

FAQ

Doesn't Readwise already sync my Kobo?

Yes — for books from the Kobo store, Kobo Plus, and library loans. Those go through Readwise's own Kobo integration. But highlights from books you sideloaded never reach the cloud, so Readwise can't see them — that's the gap this fills. Keep Only sideloaded books checked so you don't duplicate what Readwise already has.

What happens to my Readwise token?

It's sent to Readwise to check and sync, then forgotten — never stored or logged on the server (there's no database and no request logging).

Remember on this device is optional: it saves the token only in this browser's local storage, never on the server. Click Disconnect to erase it, and leave it off on a shared computer.

Does my Kobo data get uploaded?

No. The database is read entirely in your browser (with sql.js, which is also served from this site), and the file never leaves your computer. Only the highlights you sync are sent — through a thin proxy — to Readwise.

Which browsers work?

Chrome or Edge on desktop. They support the File System Access API this relies on. Firefox, Safari, and phone/tablet browsers don't — there's no workaround on those.

I can't find KoboReader.sqlite

It's in a hidden .kobo folder at the root of the Kobo drive. Turn on "show hidden files" in your file manager, or copy the file to your Desktop first and pick it from there.

It says "No highlights found", or a book is missing

By default only sideloaded books are shown. Uncheck Only sideloaded books to include everything. Empty highlights are skipped.

It says "Readwise rejected the token"

Re-copy the full token from readwise.io/access_token and connect again.

Is it open source?

Yes. Read the code — including the proxy — on GitHub (app.py).