koodo-reader
A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux, Android, iOS and Web
Top Related Projects
:books: Web app for browsing, reading and downloading eBooks stored in a Calibre database
A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux, Android, iOS and Web
An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices
A cross platform desktop reading app, based on the Readium Desktop toolkit
Quick Overview
Koodo Reader is an open-source, cross-platform eBook reader with a clean and modern interface. It supports multiple eBook formats, including EPUB, PDF, MOBI, and more, and offers features like bookmarking, highlighting, and note-taking.
Pros
- Cross-platform compatibility (Windows, macOS, Linux, and Web)
- Supports a wide range of eBook formats
- Clean and intuitive user interface
- Customizable reading experience (fonts, themes, layouts)
Cons
- Limited advanced features compared to some commercial eBook readers
- Occasional performance issues with large PDF files
- Lacks integration with popular eBook stores or cloud services
- Some users report syncing issues between devices
Getting Started
To get started with Koodo Reader:
- Visit the Koodo Reader releases page on GitHub.
- Download the appropriate version for your operating system.
- Install the application following the standard installation process for your OS.
- Launch Koodo Reader and start importing your eBooks by clicking the "Import" button or dragging and dropping files into the application.
For web users:
- Visit https://reader.960960.xyz/ to access the web version of Koodo Reader.
- Click "Add Books" to start importing your eBooks.
Note: The web version may have limited functionality compared to the desktop applications.
Competitor Comparisons
:books: Web app for browsing, reading and downloading eBooks stored in a Calibre database
Pros of Calibre-web
- Integrates with Calibre library, providing access to a wide range of e-book management features
- Supports multiple users with customizable permissions
- Offers a responsive web interface accessible from various devices
Cons of Calibre-web
- Requires Calibre to be installed and configured separately
- Less focus on the reading experience compared to Koodo Reader
- May have a steeper learning curve for users unfamiliar with Calibre
Code Comparison
Calibre-web (Python):
@app.route("/book/<int:book_id>")
@login_required_if_no_ano
def show_book(book_id):
entries = db.session.query(db.Books).filter(db.Books.id == book_id).first()
if entries:
return render_title_template('book.html', entry=entries, title=entries.title, page="book")
else:
flash(_(u"Error opening eBook. File does not exist or file is not accessible:"), category="error")
return redirect(url_for("index"))
Koodo Reader (JavaScript):
const handleReadingBook = (book: BookModel) => {
if (!book.key) return;
const bookPath = book.path || "";
const ref = storage.getItem("ref");
navigate(`/reader?key=${book.key}&file=${bookPath}&ref=${ref}`);
};
Both projects serve different purposes: Calibre-web focuses on managing and accessing a Calibre library through a web interface, while Koodo Reader is primarily an e-book reader application. The code snippets reflect these differences, with Calibre-web handling book display in a web context and Koodo Reader managing the navigation to a reading interface.
A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux, Android, iOS and Web
Pros of koodo-reader
- No unique pros identified as both repositories are identical
- Both offer the same features and functionality
Cons of koodo-reader
- No unique cons identified as both repositories are identical
- Both have the same limitations or drawbacks
Code comparison
As both repositories are identical, there is no meaningful code comparison to be made. The codebase, structure, and contents are the same for both koodo-reader repositories.
Summary
The comparison between koodo-reader/koodo-reader and koodo-reader/koodo-reader reveals that they are identical repositories. This situation could occur if:
- The repository was accidentally duplicated
- There's a naming convention or organizational structure reason for the duplication
- It's a temporary situation during a migration or restructuring process
Given the identical nature of the repositories, users would have the same experience, features, and limitations regardless of which one they choose to use or contribute to. It's recommended to clarify with the repository owners about the purpose of having two identical repositories and which one should be considered the primary or official version.
An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices
Pros of KOReader
- More extensive device support, including e-ink readers and Android devices
- Advanced features like text reflow, hyphenation, and custom CSS styling
- Highly customizable and extensible through Lua plugins
Cons of KOReader
- Steeper learning curve due to more complex interface and features
- Less modern and polished user interface compared to Koodo Reader
- Limited support for DRM-protected ebooks
Code Comparison
KOReader (Lua):
local ReaderUI = require("apps/reader/readerui")
local ReaderView = ReaderUI:extend{
-- Reader view implementation
}
Koodo Reader (JavaScript/React):
import React from 'react';
import { ReaderView } from './components/ReaderView';
const Reader = () => {
return <ReaderView />;
};
KOReader uses Lua for its core functionality, while Koodo Reader is built with JavaScript and React. KOReader's codebase is more complex and allows for deeper customization, whereas Koodo Reader's approach is more modern and web-oriented.
A cross platform desktop reading app, based on the Readium Desktop toolkit
Pros of Thorium Reader
- Built with Electron, offering cross-platform compatibility
- Supports a wider range of e-book formats, including EPUB, PDF, and DAISY
- Focuses on accessibility features for visually impaired users
Cons of Thorium Reader
- Less customizable user interface compared to Koodo Reader
- Larger application size due to Electron framework
- May have slower performance on low-end devices
Code Comparison
Thorium Reader (TypeScript):
export function createWindow(): BrowserWindow {
const window = new BrowserWindow({
width: 1200,
height: 800,
webPreferences: {
nodeIntegration: true,
},
});
window.loadFile('index.html');
return window;
}
Koodo Reader (JavaScript):
const createWindow = () => {
const win = new BrowserWindow({
width: 960,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
},
});
win.loadURL(isDev ? 'http://localhost:3000' : `file://${path.join(__dirname, '../build/index.html')}`);
return win;
};
Both projects use Electron for creating desktop applications, but Thorium Reader is written in TypeScript, while Koodo Reader uses JavaScript. Thorium Reader's window creation is simpler, while Koodo Reader includes additional configuration for development and production environments.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
ç®ä½ä¸æ | हिà¤à¤¦à¥ |Português | Indonesian | English

Koodo Reader
A cross-platform ebook reader
Preview


Feature
- Format support:
- EPUB (.epub)
- PDF (.pdf)
- DRM-free Mobipocket (.mobi) and Kindle (.azw3, .azw)
- Plain text (.txt)
- FictionBook (.fb2)
- Comic book archive (.cbr, .cbz, .cbt, .cb7)
- Rich text (.md, .docx)
- Hyper Text (.html, .xml, .xhtml, .mhtml, .htm)
- Platform support: Windows, macOS, Linux, Android, iOS and Web
- Utilize OneDrive, Google Drive, Dropbox, MEGA, pCloud, Aliyun Drive, Box, FTP, SFTP, WebDAV, Object Storage to sync and backup your data.
- Easily import books from OneDrive, Google Drive, MEGA, Aliyun Drive, Box, FTP, SFTP, WebDAV, Object Storage
- AI Translation, AI Dictionary, AI Summarization
- Single-column, two-column, or continuous scrolling layouts
- Text-to-speech, translation, dictionary, touch screen support, batch import
- Add bookmarks, notes, highlights to your books
- Adjust font size, font family, line-spacing, paragraph spacing, background color, text color, margins, and brightness
- Night mode and theme color
- Text highlight, underline, boldness, italics and shadow
Installation
Desktop Version:
- Stable Version (Recommended): Download
- Developer version: Download ( With new feature and bug fix, but may induce some unknown bugs)
Web Versionï¼Visit
Android Version (works with developer version)ï¼Download
iOS Version (works with developer version)ï¼Download
Install with Scoop:
scoop bucket add extras
scoop install extras/koodo-reader
Install with Homebrew:
brew install --cask koodo-reader
Install with Docker:
If you only need to deploy the web version, simply use the command below.
docker run -d \
--name koodo-reader \
-p 80:80 \
-p 8080:8080 \
-e ENABLE_HTTP_SERVER=false \
-e SERVER_USERNAME=admin \
-e SERVER_PASSWORD=securePass123 \
-v /path/to/host/uploads:/app/uploads \
ghcr.io/koodo-reader/koodo-reader:master
If you also want to enable the data source feature, please:
- Set
ENABLE_HTTP_SERVER
totrue
- Change
SERVER_USERNAME
andSERVER_PASSWORD
to a secure username and password - Replace
/path/to/host/uploads
with the folder where you want to store reading data
Then, select Docker as the data source in Koodo Reader.
Data source functionality use port 8080, and web version use port 80 by default. If you want to switch to port 8090, just change -p 8080:8080
to -p 8090:8080
.
If you want to use Docker Secrets to set SERVER_PASSWORD
, please refer to docker-compose-secret.yml
Screenshot

Book display

List mode

Cover mode

Reader menu

Dark mode

Develop
Make sure that you have installed yarn and git
-
Download the repo
git clone https://github.com/koodo-reader/koodo-reader.git
-
Enter desktop mode
yarn yarn dev
-
Enter web mode
yarn yarn start
Translation
Edit current language
-
Select your target language from the following list.
-
Click the view button to examine the source file. The untranslated terms are listed at the bottom of each file.
-
Translate the terms to your target language based on the given English reference
-
Sumbit the translation file or just translation snippets based on the amount of your translation to this link. Pull request is also welcomed.
Language(A-Z) | Code | View |
---|---|---|
Amharic | am | View |
Arabic | ar | View |
Armenian | hy | View |
Bengali | bn | View |
Bulgarian | bg | View |
Chinese (CN) | zh-CN | View |
Chinese (MO) | zh-MO | View |
Chinese (TW) | zh-TW | View |
Czech | cs | View |
Danish | da | View |
Dutch | nl | View |
English | en | View |
Esperanto | eo | View |
Finnish | fi | View |
French | fr | View |
German | de | View |
Greek | el | View |
Hindi | hi | View |
Hungarian | hu | View |
Indonesian | id | View |
Interlingue | ie | View |
Irish | ga | View |
Italian | it | View |
Japanese | ja | View |
Korean | ko | View |
Persian | fa | View |
Polish | pl | View |
Portuguese | pt | View |
Portuguese (BR) | pt-BR | View |
Romanian | ro | View |
Russian | ru | View |
Slovenian | sl | View |
Spanish | es | View |
Swedish | sv | View |
Tamil | ta | View |
Thai | th | View |
Tagalog | tl | View |
Tibetan | bo | View |
Turkish | tr | View |
Ukrainian | uk | View |
Vietnamese | vi | View |
Add new language
Top Related Projects
:books: Web app for browsing, reading and downloading eBooks stored in a Calibre database
A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux, Android, iOS and Web
An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices
A cross platform desktop reading app, based on the Readium Desktop toolkit
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot