Your shelf is empty — open a comic to start reading.
Couldn't load your library. Your saved data may be from a newer version of the app — try clearing this site's data, then reload.
Comic Reader
Drop a comic book file here
or use the button below
All reading is done locally in your browser.
No uploads. No accounts. No tracking.
v ·
Opening…
Drop a file onto the drop zone, or click Browse File. On Android, share a file from your file manager directly to Inkwell. On iOS, use Open In → Inkwell from the Files app. Previously opened files appear in the Library.
Supported formats: .cbz, .cbr, .cb7, .cbt, .pdf, .epub.
Previous / next page. Also: swipe left or right, tap the left or right edge of the screen, scroll wheel, or ← → Space PgDn.
Tap the center of the screen to show or hide the controls. Click the page number in the bottom bar to jump to a specific page.
Spread — two-page side-by-side view. RTL-aware page ordering. Nudge left/right buttons appear to shift which pages are paired together.
RTL — right-to-left reading for manga. Reverses page and panel order. Auto-enabled when the embedded panels.json sets "reading_direction": "rtl".
Rotate — rotates the view 90° clockwise. Resets when changing pages. The dropdown next to the rotate button has a Save rotation option that bakes the current rotation into the page image (and any associated panel coordinates) so it persists across sessions and gets included in downloaded CBZs.
Fullscreen — hides the browser chrome. Press F or click the button.
Press P or click the panel button to step through individual panels in reading order with smooth zoom transitions.
Gold — panel data is embedded in the file as panels.json. Panels load instantly.
Teal — panels auto-detected by the on-device YOLO model (WebGPU-accelerated, WASM fallback). Detection runs in the background; results are saved to IndexedDB so each page is only processed once.
Clears auto-detected panels for the current file so they can be re-detected.
To detect panels for every page in one batch, open the Library on the landing screen, long-press (or right-click) a book, and choose Detect panels. Detection runs in the background and can be cancelled at any time.
When a two-page spread has been split across two image files in the CBZ, you can join them back into a single image. Enable Spread mode, open the dropdown next to the spread button, and pick Stitch pages. Adjust the overlap with the −5 / −1 / +1 / +5 buttons until the seam aligns, then press Stitch. The two source images are replaced in-place by a single combined image; downstream panel data is re-indexed automatically, and panel detection re-runs on the new stitched page.
Edit panels — opens the panel editor. Draw new boxes by dragging on the page. Drag a box to move it; drag corners to resize. Number badges show reading order; use the +/− controls to re-order. Delete a box with the × button. Approve a page to mark its panels as user-verified — approved pages are flagged with "approved": true in the saved CBZ.
The toolbar also has an exposure slider to adjust page brightness and a gamma correction control to help distinguish panel borders when editing. Full undo/redo is available within the editor session.
Zoom out, fit to screen, zoom in. Also: pinch-to-zoom or Ctrl+scroll.
Save CBZ — re-packages the CBZ with a panels.json containing every page that has panel data, then triggers a download. User-verified pages carry "approved": true; unapproved auto-detected pages are included without that flag, so downstream tools can key off it to filter.
Save Image and Share Image are available via the overflow menu (⋮) or by right-clicking / long-pressing the page. Save Image downloads the current page as a PNG; Share Image opens the OS share sheet on mobile.
Downscales page images to a chosen maximum height to reduce file size and improve performance on lower-end devices. Runs in the background and can be resumed if interrupted.
Inkwell is a PWA. After the first visit online, the app caches itself and all dependencies — including the ONNX panel detection model — and works fully offline. No internet connection is required after the initial load.
Inkwell Reader is free software licensed under the GNU Affero General Public License v3 (AGPL-3). A copy of the license is included with the source code.
Inkwell uses the following open-source libraries, vendored locally for offline use:
Ultralytics YOLO — AGPL-3 License (panel detection model training framework)
fflate by Arjun Barrett — MIT License
ONNX Runtime Web v1.20.1 by Microsoft Corporation — MIT License
PDF.js v5.7.284 by Mozilla Foundation — Apache 2.0 License
7z-wasm by Nickolas Willis — LGPL-2.1 (based on 7-Zip by Igor Pavlov)
EPUB.js by FuturePress — MIT License
JSZip v3.10.1 by Stuart Knightley — MIT License
Reset to Defaults?
All preferences will be reset to their default values.
Close this book?
Stitch Pages
Save panel data to CBZ?
Preparing…
Save changes to panel data?
Optimize Resolution
Downscale images to improve performance and save space. Select a maximum height:
Continue Optimization?
This book was interrupted during image optimization. Would you like to finish now?
Book Not Fully Loaded
Panel Order Mismatch
The current panel order differs from the reading order expected by the model.
PDF Too Large to Import
Large PDF — Import May Be Slow
High-Resolution Images Detected
Continue Where You Left Off?
Already in Library
Protected Book
is protected from removal. Are you sure you want to delete it?
Panels Imported From File
This book includes panel definitions from its source file. Detection can overwrite non-approved pages with new detections, or skip pages that already have panel data.
Detecting Panels
Preparing…
Adding to Library
Reading file…