Skip to content

Latest commit

Β 

History

202 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Panels+ logo
Panels+
Read manga and comics panel by panel, without losing the page and other panel zooming utilities with no setup required!

Latest Release Downloads KOReader Compatibility MIT License GitHub Stars Sponsor on GitHub ZEN Package Manager

demo_revamped.mp4

Core feature: Panel by panel smooth travelling. Battle-tested for performance on low-specs e-readers and old KOReader versions support. (Starting from 2025 versions)
comics-showcase.mp4

Comics showcase: Reading comic books panel by panel with custom panel flow and navigation.

Panels+ is a KOReader plugin that improves manga and comic reading by replacing the default KOReader single-panel zoom flow with a custom direction-aware panel reader with in-live panel scanning. No complex pre-mangas-scanning setup required, install Panels+ and it just works.

  • Zoom-friendly screenshot support while reading panels.
  • Panels finding on dark-background pages.
  • Animated panel transitions (or even pages transition, optional)
  • Comics & Mangas support
  • Customizable and performant in low-end e-ink devices.
  • And much more.

Currently we're looking for translators. If you'd like to help us translate this plugin to your native language, go to the translators section.

🧩 Compatibility

KOReader versions

This plugin is compatible with KOReader across the following version range:

Environment Supported Version
Oldest Tested Version KOReader v2025.04 "Full Moon"
Newest Tested Version KOReader v2026.03 "SnowFlake" & Newer

This could work with even older versions, but not personally tested. If any issues with versions outside the previous range, open a github issue in this repo.

File types formats supported

  • .cbr (digital comic book archive): Usual standard format for western comics
  • .cbz (Comic Book Zip Archive): The standard for mangas, usually found in this format when downloading from internet or in (.cbr). I strongly recommend using Hakuneko (Downloader) and KCC (Kindle Comic Converter) to adapt hakuneko downloads to .cbz for mangas. This is the top priority format I give support/compatibility with this plugin
  • .pdf (Portable Document Format): Another common format when downloading mangas/comics.
  • .epub / .kepub / .mobi: Panels+ automatically opens embedded raster images under a long press and detects panels inside them. This includes Kobo-synced .kepub.epub books and directly named .kepub files when KOReader opens them. Text remains handled by KOReader's normal reader.

Kobo Compatibility (kobo.koplugin >= 0.4.1)

This plugin works well with:

  • Physical buttons (Page-turning)
  • Bluetooth devices with page-turning features

Tested against 0.4.1 version thanks to users feedback.If any problems, create a github issue in this repo.

πŸ“¦ Installation

πŸ›οΈ Package Managers

Panels+ is structured for installation via KOReader package and plugin managers:

Package Manager Search / Package Name Installation Method
Plugin Appstore (appstore.koplugin) Panels+ (panelsplus.koplugin) Search and install directly inside the KOReader Plugin Appstore (or view on the Appstore Web Catalog)
ZEN Package Manager (zen_ui.koplugin or zenos.koplugin) (panelsplus) Available directly in the ZEN package manager catalog.

zenpm_plugin_showcasesearch_zenpm_showcase

πŸ› οΈ Manual Installation

  1. Download panels_plus.koplugin.zip from the releases page and unzip it.
  2. You should now have this folder: panelsplus.koplugin

Note

GUI zip extractors note: Some desktop GUI archive managers (such as GNOME Archive Manager, Ark, or Windows Explorer "Extract All") may create an extra parent folder level matching the zip filename (e.g. panels_plus.koplugin/panelsplus.koplugin/). Take this into account when extracting: make sure you copy the actual panelsplus.koplugin folder (the one directly containing _meta.lua and main.lua) into your KOReader plugins/ directory.

  1. Copy the whole panelsplus.koplugin folder into your KOReader plugins directory. (Do not copy only the files inside it).

Common plugin paths:

Device / OS KOReader plugins directory
Kindle /mnt/us/koreader/plugins/
Kobo .adds/koreader/plugins/
Android /sdcard/koreader/plugins/
Linux (Native / Arch / AppImage) ~/.config/koreader/plugins/
Linux Flatpak ~/.var/app/rocks.koreader.KOReader/config/koreader/plugins/

The final path should look like this:

<koreader plugins directory>/panelsplus.koplugin
  1. Restart KOReader after copying the folder.

βš™οΈ Configuration & Usage

Configuration is as easy as just using the plugin itself!

config_overlay.mp4

All your important config, straight in the zooming view!. No more looking over many hidden config screens.
additional_config.mp4

If you still need more advanced config, you can find it here
  • You can customize:
    • The swipe direction
    • Cropped panel? No cropped? Margin?, already got in.
    • Smooth animations (Recommended in no ink-devices)

🎬 Developer's Personal Tip: The Cinematic Experience

For a more fluent and immersive navigation, my personal recommendation is to set KOReader to landscape (horizontal) rotation and enable strict-crop mode in Panels+ with classic navigation for e-ink based devices and smooth navigation for android and non-e-ink devices.
While playing and testing this pluging from months of usage I found this setup the most convenient way to experience your manga (and probably the way it was intended).

recommendation_horizontal_personal.mp4

Here is a quick look at how it runs on an actual Kindle

Of course if you prefer vertical, with margin, loose cropped or even animated, then use it that way!. I've made all this config fully customizable to make this plugin `adapt to you`, not you to the plugin. Your manga, your rules.

πŸ” OCR Word Lookup Setup (Experimental)

Panels+ introduces experimental OCR support, allowing you to touch & hold text inside a zoomed-in panel to look up words in the dictionaryβ€”even in comics/manga! Works across .CBZ, .CBR, and .PDF.

IMPORTANT: To use this feature, you'll need to set up a couple of things first:

(Note: Word detection is tricky on hand-lettered or stylized comic text and might not always get it exactly right. As a workaround, I recommend binding a comfortable multi-swipe gesture to "Open dictionary lookup" as a fallback!)

🎯 Why This Exists

I'm a manga fan and I read a lot in my e-reader and found out some panels are too small to read comfortably on the full page, then I tried using ko-reader native zoom, but then I need to zoom out, change panel, zoom-in, read the panel, zoom-out, zoom-in, read, and so on... (ugh!).

KOReader can detect panels, but the native flow often means zooming into one panel, leaving zoom, moving to the next panel, and repeating that cycle.

I wanted to create Panels+ so (we manga-comic readers) could have the panel navigation we deserve with a normal reading flow!.

This supports screenshots while zoomed into panels, so you can capture the exact panel view instead of only taking full-page screenshots, and use them as screen savers, book covers, anything you want.


🌐 For Translators (We Need Your Help!)

Starting from version v1.4.0, Panels+ includes localization support, and we'd love to translate the plugin into as many languages as possible!

Rather than relying on machine or AI translation slop, we are looking for community collaborators to help craft authentic, high-quality human translations.

If you're interested in contributing:

Currently there is only: English and Spanish support.


πŸ› οΈ For Developers

Documentation

  • Introduction β€” a first read: what the plugin replaces, how a page turns into a panel sequence, and the module map.
  • Architecture β€” how the plugin is put together, and what happens between a long hold and a panel on screen.
  • Panel detection β€” how Deep mode turns pixels into panels, including heuristics, fallbacks, and tuning.
  • Deep mode β€” the single panel-detection mode and how it differs from reading, crop, and navigation modes.
  • Embedded EPUB/KEPUB/MOBI images β€” how panel reading works inside reflowable books, including the detector and smooth-navigation limits.
  • Word lookup β€” touch-and-hold text selection, dictionary lookup, and the OCR debug review mode.
  • Performance β€” what each step costs, the memory budget, and how to measure it on your own device.
  • Known Limitations β€” current edge cases and known-behaviour (a todo-list to fix at the same time).
  • Testing β€” running the dependency-free test suite.

πŸ”— Development & Reference Repositories

When developing on Panels+, it is recommended to clone the koreader base codebase and kobo.koplugin repository directly into your local project root folder:

git clone https://github.com/koreader/koreader.git
git clone https://github.com/koreader/kobo.koplugin.git

These folders are ignored via .gitignore and are not committed into this repository. Keeping them locally is purely for documentation and remaining KOReader internals aware during development; they are not involved in the plugin's final release code.

🧹 Linting & Formatting

This project enforces a standard code style to maintain consistency across developers. We use:

  • StyLua: For automatic code formatting (.stylua.toml).
  • Luacheck: For static analysis and linting (.luacheckrc).
  • lua_ls: We also include a .luarc.json for developers using the Lua Language Server in their editors so that KOReader global variables are recognized properly.

If you don't have these tools integrated directly into your editor, you can run the provided check scripts to automatically format your code and run the linter:

Linux/macOS:

./check.sh

Windows (PowerShell):

.\check.ps1

Note: CI workflows will automatically run these checks when you open a Pull Request.

πŸ—οΈ Building From Source

Clone or download this repository, then run:

./build.sh

On Windows PowerShell, run:

.\build.ps1

The script creates dist/panels_plus.koplugin. Copy that generated folder into your KOReader plugins directory, then restart KOReader.

🀝 Contributions?

Project is actually stable, and personally tested in:

  • Kindle 12th Gen

I don't see any more options to include, but contributions are welcome for:

  • edge-cases bugs fixes
  • performance improvements
  • device-specific bugs fixes (this would help a lot)

Thanks for using the plugin or at least, taking a look into this repo.

πŸ“œ License

MIT License, check "LICENSE" file in this repository.

About

A KOReader plugin to experience manga and comics panel by panel with smooth auto-zooming and dedicated QOLs. Experience manga/comics in your e-reader they way they were intended.

Topics

Resources

Stars

43 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Contributors

Languages