koharu
App Featured
ML-powered manga translator, written in Rust.
- Downloads
- 6,338
- Dependents
- Not applicable
- Stars
- 6,620
- Forks
- 492
- Contributors
- 55
- Commits
- 2,456
- Latest release
About
ML-powered manga translator, written in Rust.
Getting Started · Docs · Bug reports · Discord
Koharu introduces a local-first workflow for manga translation, utilizing the power of ML to automate the process. It combines the capabilities of object detection, OCR, inpainting, and LLMs to create a seamless translation experience.
[!NOTE] Koharu runs its vision models and LLMs locally on your machine to keep your data private and secure.

[!NOTE] Join our Discord server for support and discussion.
Read the full README
Features
- Multi-format project management for raster images, archives, and PDFs with page sequencing
- Selective pipeline for detection, OCR, translation, and inpainting at page or project scope
- Detection and segmentation for text regions, speech bubbles, and cleanup regions
- Multimodal OCR for dialogue, captions, and general page text
- Local GGUF inference and hosted providers for LLM and machine-translation workflows
- Generative inpainting for source-text removal and artwork reconstruction
- Proofreading for correcting OCR and translation output
- WebGPU-based canvas for manual cleanup, text placement, and page composition
- Multilingual text shaping and layout with automatic fitting, font fallback, vertical CJK, and right-to-left text
- Layered PSD export for flattened delivery and layered editing
- Agent-based workflow for project inspection, editing, and pipeline control
Hardware Acceleration
Koharu supports CUDA and ROCm / HIP on Windows and Linux, Metal on Apple silicon, and Vulkan on Windows and Linux. Keep your graphics driver current; a full CUDA or ROCm SDK installation is not required. See Runtime and hardware requirements for model-specific guidance.
CUDA
CUDA 13.3 requires an NVIDIA Turing-class or newer GPU and an R610 or newer driver. Check NVIDIA's official CUDA toolkit, driver, and architecture matrix and install the latest NVIDIA driver.
ROCm / HIP
ROCm 10.0 support depends on the exact AMD GPU, operating system, and driver combination. Check AMD's official ROCm 10.0.0 compatibility matrix and install a compatible AMD driver.
Metal
Metal is available on Apple silicon Macs.
Vulkan
Vulkan is available on Windows and Linux as an alternative to CUDA and ROCm / HIP.
WebGPU
The editor canvas uses WebGPU and requires a current graphics driver even when inference runs on the CPU.
CPU
CPU inference is available for supported workloads but is substantially slower.
Machine Learning Models
Koharu uses separate models for detection, OCR, inpainting, and translation. Vision and inpainting and translation and generation have separate model settings.
Computer Vision Models
Detection, OCR, and inpainting models are selected separately.
Detection and Layout
The detection model finds text regions, speech bubbles, and segmentation masks.
OCR
OCR reads source text from detected regions.
Inpainting
Inpainting reconstructs the image behind source text before the translation is rendered.
Large Language Models
Translation can use a local language model or a remote API.
General-Purpose Local Models
- LFM 2.5: lfm2.5-1.2b-instruct
- Ministral 3: ministral-3-8b-instruct
- Gemma 4: gemma4-e2b-it, gemma4-e4b-it, gemma4-12b-it, gemma4-26b-a4b-it, gemma4-31b-it
- Qwen 3.5: qwen3.5-0.8b, qwen3.5-2b, qwen3.5-4b, qwen3.5-9b, qwen3.5-27b, qwen3.5-35b-a3b
- Qwen 3.6: qwen3.6-27b, qwen3.6-35b-a3b
- Qwen 3.8: qwen3.8-27b
Uncensored Local Models
- Gemma 4 uncensored: gemma4-e2b-uncensored, gemma4-e4b-uncensored, gemma4-12b-uncensored, gemma4-26b-a4b-uncensored, gemma4-31b-uncensored
- Qwen 3.5 uncensored: qwen3.5-2b-uncensored, qwen3.5-4b-uncensored, qwen3.5-9b-uncensored
- Qwen 3.6 uncensored: qwen3.6-27b-uncensored, qwen3.6-35b-a3b-uncensored
- Qwen 3.8 uncensored: qwen3.8-27b-uncensored
Cloud Providers
Hosted LLM providers: OpenAI, Gemini, Claude, Grok, MiniMax, DeepSeek, and OpenRouter.
Machine Translation Providers
Machine-translation providers: DeepL, Google Cloud Translation, and Caiyun.
OpenAI-Compatible Providers
OpenAI-compatible endpoints are also supported.
Installation
Download release builds from the releases page. Installation requirements and first launch vary by operating system.
Builds are available for Windows, macOS, and Linux.
WinGet
Install on Windows with winget:
winget install koharu
Homebrew
Install on macOS with Homebrew:
brew install --cask koharu
Troubleshooting
Startup, runtime, model, and provider errors are covered in Troubleshooting. Set RUST_LOG to debug or trace for verbose logs:
# macOS / Linux
RUST_LOG=debug koharu
# Windows (PowerShell)
$env:RUST_LOG="debug"; koharu.exe
Development
Platform dependencies and validation commands for local builds are listed in Development Setup.
Prerequisites
Install dependencies
bun install
Development
bun dev
Build
bun run build
The executable is written to target/release.
Sponsorship
If Koharu is useful in your workflow, consider sponsoring the project.
Contributors ❤️
Thanks to all the contributors who have helped make Koharu better!
License
Copyright 2025-2026 Mayo Takanashi and Koharu contributors.
Koharu is dual-licensed under the MIT License or the Apache License, Version 2.0, at your option.
Compatibility
- License
- Apache-2.0
- Crate facts
- Not measured
- Runs on, Native code and Python bindings read crates on crates.io. This entry lists no crate.
Compare with similar projects
Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days.
| Project | Downloads | Dependents | Stars | Latest release | Runs on (GPU) | Native code | License |
|---|---|---|---|---|---|---|---|
|
ML-powered manga translator, written in Rust. |
6,338 binary downloads per release | Not applicable | 6,620 | Not measured | Not measured | Apache-2.0 | |
|
opencv-rust Featured
Rust bindings for OpenCV |
262,425 downloads over 30 days | 96 | 2,500 | 0.101.1 | GPU support unknown | Build uses a native toolchain: cc, pkg-config, vcpkg | MIT |
|
inference Listed
Ultralytics YOLO inference library and CLI for Rust |
2,609 downloads over 30 days | 1 | 217 | 0.0.56 | CUDA, WebGPU, ROCm | Binds native code: ort-sys, ffmpeg-sys-next (feature video), openvino-sys (feature intel) | AGPL-3.0 |
|
kornia-rs Listed
Low-level computer vision library in Rust |
2,294 downloads over 30 days | 6 | 751 | 0.1.5 | CUDA | Binds native code: glib-sys (feature gstreamer), gobject-sys (feature gstreamer), gstreamer-app-sys (feature gstreamer), gstreamer-base-sys (feature gstreamer), gstreamer-sys (feature gstreamer) and 1 more | Apache-2.0 |
|
usls Listed
A Rust library integrated with ONNXRuntime, providing a collection of ML models. |
355 downloads over 30 days | 1 | 447 | 0.1.11 | CUDA, ROCm | Binds native code: ffmpeg-sys-next (feature video), ort-sys (feature acl) | MIT |
|
Type conversions among famous Rust computer vision libraries |
298 downloads over 30 days | 1 | 56 | 0.26.0 | CUDA | Binds native code: torch-sys (feature docs-only) | MIT |
Why FeaturedIt passes every Featured gate.
What it meets
- Its use signals read: binary downloads 19014, Homebrew unknown, Repology families 3, Docker growth unknown. Featured needs 2 of these to reach their limits.
- The last activity is on 24 Oct 2026, 16 days ago. The rules expect an update within 365 days. Dormancy rule
Not measured: First release.
Exact rules: Featured app. The check on applied thresholds version 9.
Every rule outcome, as the check records it
expected-interval: app: E = 365 daysdormancy: last activity 2026-10-24, 16 days ago, E = 365: activefeatured: featured: binary downloads 19014, Homebrew unknown, Repology families 3, Docker growth unknown
Measurements and sources
Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.
Sources5 sources
- Description: the GitHub repository description
- GitHub releases, fetched
- GitHub repository, fetched
- Repology project, fetched
- GitHub contributors, fetched
Adoption6,338 binary downloads per release4 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Active dependents | Not measured | Yes | ||
| New dependents (365 days) | Not measured | Yes | ||
| Peak active dependents | Not measured | Yes | ||
| Active dependents as a share of the peak | Not measured | Yes | ||
| Binary downloads per release | 6338 | GitHub releases | Yes |
MaintenanceLatest human commit: 16 days ago7 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Latest human commit | 2026-10-24 | GitHub repository | Yes | |
| Latest release | 2026-09-22 | GitHub releases | Yes | |
| First release | Not measured | Yes | ||
| Latest version | Not measured | Yes | ||
| Days the oldest outside issue waits for a reply | 57 | GitHub repository | Yes | |
| Maintainer replies over 365 days | 12 | GitHub repository | Yes | |
| Repository archived | false | GitHub repository | Yes | |
| Repository gone | false | GitHub repository | Yes | |
| Release commit or manifest in the repo | Not measured | Yes | ||
| Published docs | Not measured | Yes | ||
| Latest release fails cargo check | Not measured | Yes | ||
| Build check date | Not measured | Yes | ||
| Build check toolchain | Not measured | Yes |
SecurityNot measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Unpatched vulnerabilities past the grace window | Not measured | Yes | ||
| RustSec unmaintained advisory | Not measured | Yes | ||
| Deprecation notice | Not measured | Yes | ||
| Deprecated requirement | Not measured | Yes |
Distribution19,014 binary downloads over the last 3 releases9 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Releases | Not measured | Yes | ||
| Downloads over 30 days | Not measured | Yes | ||
| Binary downloads over the last 3 releases | 19014 | GitHub releases | Yes | |
| Homebrew installs on request over 365 days | Not measured | Yes | ||
| Repology repository families | 3 | Repology project | Yes | |
| Docker pull growth over 90 days | Not measured | Yes | ||
| Docker pulls at the growth baseline | Not measured | Yes | ||
| Every version a prerelease | Not measured | Yes | ||
| Every version 0.0.x | Not measured | Yes | ||
| Every version yanked | Not measured | Yes | ||
| Crate deleted from crates.io | Not measured | Yes |
Repository6,620 stars, 492 forks, 55 contributors, 2,456 commits. Stars alone never qualify a project.1 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| GitHub stars | 6620 | GitHub repository | Yes — one part of the repository route | |
| GitHub forks | 492 | GitHub repository | Yes — one part of the repository route | |
| Contributors with a GitHub account | 55 | GitHub contributors | Yes — one part of the repository route | |
| Commits on the default branch | 2456 | GitHub repository | No | |
| Repository's main crate left out of the entry | Not measured | Yes |
Facts that never count
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| License | Apache-2.0 | GitHub repository | No | |
| Runs on, from listed crates and their direct dependencies | Not measured | No | ||
| What shows each backend | Not measured | No | ||
| Native code, from listed crates and their dependencies | Not measured | No | ||
| Python bindings, from direct dependencies of listed crates | Not measured | No | ||
| Crates that depend on a listed crate directly | Not measured | No |
Corrections and review history
No correction applies to this entry.
Judgments
A judgment enters only through an approved issue and a merged pull request.
No judgment applies to this entry.