The easiest way to backup your Kobo e-reader library. Back up books, annotations, highlights, and reading progress — 100% in your browser, zero uploads, zero accounts.
🌐 Live app: kobup.org
KoBup (kobup.org) is a free, open-source web tool that lets you create a complete backup of your Kobo e-reader directly in the browser — no app to install, no account to create, no data ever leaving your device.
Whether you want to protect against a factory reset, switch to a new Kobo device, or simply keep a safe copy of your books and reading progress, KoBup handles it in a few clicks.
- 🔒 100% Private — All processing happens locally in your browser. Your books never touch a server.
- 📚 Complete Kobo Backup — Backs up sideloaded books (EPUB, PDF), the Kobo database, annotations, highlights, and reading progress.
- ⚡ Handles Any Library Size — Streaming ZIP engine writes directly to disk, so even 4 GB+ libraries back up without running out of memory.
- 💾 Database-Only Mode — Skip the book files and back up only the database (reading progress, highlights, annotations) for a fast, small backup.
- 🔄 Full Restore — Restore your entire library to a new or reset Kobo device.
- 🌐 No Installation — Works directly in Chrome or Edge — just visit kobup.org.
- 📖 Open Source — Fully transparent, auditable code. Anyone can inspect exactly what the app does.
- 🎨 Beautiful UI — Clean, Kobo-inspired design with an intuitive step-by-step wizard.
- Open kobup.org in Chrome or Edge (desktop)
- Connect your Kobo e-reader via USB and unlock it
- Click "Create Backup"
- Select your Kobo device folder when prompted
- Choose what to include (books, annotations, reading progress)
- Chrome will ask where to save the ZIP file — pick a location
- Done! Store the backup in a safe place (cloud, external drive)
- Open kobup.org in Chrome or Edge
- Connect the target Kobo via USB
- Click "Restore Backup"
- Select your
kobo_backup_*.zipfile - Select the Kobo device folder
- Confirm and wait — your library is restored
| Browser | Backup | Restore | Notes |
|---|---|---|---|
| Chrome 86+ | ✅ | ✅ | Recommended |
| Edge 86+ | ✅ | ✅ | Fully supported |
| Opera 72+ | ✅ | ✅ | Fully supported |
| Brave | Enable File System API in settings | ||
| Firefox | ❌ | ❌ | File System Access API not supported |
| Safari | ❌ | ❌ | File System Access API not available |
Why Chrome/Edge only? KoBup uses the File System Access API to read directly from your Kobo device and write the backup directly to disk without loading everything into memory. This API is only available in Chromium-based browsers.
- ✅ Kobo Database (
KoboReader.sqlite) — reading progress, bookmarks, highlights, collections - ✅ Book Files — all sideloaded EPUB, PDF, and other ebook files (optional: can be skipped for a database-only backup)
- 📝 Annotations & Highlights — all your notes and highlighted passages, also exported as Markdown
- 📖 Reading Progress — current page positions and reading statistics
- ⚙️ Device Settings — font and reading preferences
- ❌ Kobo Store Purchases — re-downloadable from your Kobo account
- ❌ System / Firmware Files — not needed for library backup
Your data never leaves your device.
- The app runs entirely in your browser — there is no backend server
- Your books and database are read locally via the File System Access API
- The backup ZIP is written directly to your chosen location on disk
- The only external service used is Vercel Analytics — cookieless, anonymous page-view counts only
- No account, no login, no tracking of what you read
The complete source code is public on GitHub. You can audit every line, or self-host your own copy with zero analytics.
| Layer | Technology |
|---|---|
| UI Framework | React 18.3+ |
| Build Tool | Vite 5+ |
| Styling | TailwindCSS 3.4+ |
| State | Zustand |
| SQLite in browser | sql.js (WebAssembly) |
| ZIP creation | client-zip (streaming, replaces JSZip) |
| ZIP extraction | JSZip |
| File System | File System Access API + browser-fs-access |
| Analytics | Vercel Analytics (cookieless) |
| Hosting | Vercel |
KoboOfflineBackup/
├── src/
│ ├── components/
│ │ ├── common/ # Button, Card, Checkbox, etc.
│ │ ├── layout/ # Header, Footer
│ │ ├── backup/ # Backup wizard steps
│ │ └── restore/ # Restore wizard steps
│ ├── hooks/
│ │ ├── useBackup.js # Backup orchestration (streaming-first)
│ │ ├── useKoboDevice.js # Device scanning
│ │ └── useRestore.js # Restore orchestration
│ ├── pages/ # Home, Backup, Restore, History, FAQ, etc.
│ ├── utils/
│ │ ├── backup.js # ZIP creation via client-zip (streaming)
│ │ ├── restore.js # ZIP extraction and device restore
│ │ ├── koboDatabase.js # SQLite parsing with sql.js
│ │ └── fileSystem.js # File System Access API wrapper
│ └── App.jsx
├── public/
│ ├── robots.txt
│ ├── sitemap.xml
│ └── sql-wasm.wasm
├── index.html # SEO meta tags, OG, JSON-LD
├── vercel.json # COOP/COEP headers for SharedArrayBuffer
└── package.json
# Clone
git clone https://github.com/Fanfulla/KoboOfflineBackup.git
cd KoboOfflineBackup
# Install dependencies
npm install
# Start dev server
npm run dev
# Build for production
npm run build
# Preview production build
npm run previewThis is a personal project, shared as-is under the MIT License.
- No support, assistance, or updates are guaranteed
- Always keep a separate copy of your books independently of this tool
- Not affiliated with or endorsed by Rakuten Kobo Inc.
- Issues and pull requests are welcome but may not receive a timely response
MIT License — see LICENSE for details.
- Streaming backup engine — replaced JSZip with client-zip; files are written to disk one at a time, fixing OOM crashes on large libraries (4 GB+, 500+ books)
- Database-only backup — option to skip book files and back up only reading progress, annotations, and highlights
- Accurate size estimate — estimated backup size now reflects actual file sizes
- Error visibility — backup failures now show a clear error message instead of silently restarting
- Vercel Analytics — cookieless, privacy-preserving page-view tracking
- Initial release
- Full backup and restore functionality
- Browser compatibility detection
- Privacy-first architecture
Made with ❤️ for the Kobo community — kobup.org