Koharu

Koharu is a local-first manga translator written in Rust, with a Tauri desktop app. Detection, OCR, inpainting, and LLM translation run on the machine. The license is GPL-3.0. Pre-built binaries cover Windows, macOS, and Linux.

Definition

Koharu is a local-first manga translator written in Rust that uses Tauri for its desktop app. It combines object detection, OCR, inpainting, and LLMs into an automated manga translation workflow. All ML models run locally to ensure privacy.

Key Metrics

  • Stars: 3,000
  • Forks: 158
  • Language: Rust (80.7%), TypeScript (19.1%)
  • Releases: 99+

Architecture

┌──────────────────────────────────────────────┐
│              Koharu (Rust + Tauri)            │
├──────────────────────────────────────────────┤
│  koharu-core    │  koharu-ml   │  koharu-llm │
│  (pipeline)     │  (candle)    │  (llama.cpp)│
│  koharu-renderer│  koharu-psd  │  koharu-rpc │
│  (text layout)  │  (PSD export)│  (MCP/API)  │
├──────────────────────────────────────────────┤
│         koharu-app (Tauri Desktop)           │
│         koharu-runtime (GPU/CPU)             │
└──────────────────────────────────────────────┘

GPU Acceleration

Backend Platform Description
CUDA Windows (NVIDIA) Compute capability 7.5+
ZLUDA Windows (AMD) Experimental
Metal macOS (Apple Silicon) Native support
Vulkan Windows/Linux OCR + LLM inference
CPU All Always-available fallback

ML Models - Staged Pipeline

Computer Vision

Stage Models
Detection comic-text-bubble-detector, comic-text-detector, PP-DocLayoutV3, speech-bubble-segmentation
OCR PaddleOCR-VL-1.5, Manga OCR, MIT 48px OCR
Inpainting aot-inpainting, lama-manga
Font Analysis YuzuMarker.FontDetection

LLM Translation

Type Models
General-purpose local Gemma 4 (E2B→31B), Qwen 3.5 (0.8B→35B)
NSFW-capable Gemma 4 uncensored, Qwen 3.5 uncensored
Fine-tuned translation vntl-llama3-8b, sakura-galtransl-7b, sugoi-14b/32b, hunyuan-mt-7b
Cloud providers OpenAI, Gemini, Claude, DeepSeek
OpenAI-compatible LM Studio, OpenRouter, self-hosted

Key Features

Feature Description
Auto detection Text regions, speech bubbles, cleanup masks
OCR Manga dialogue, captions, page text
Inpainting Remove source lettering
Translation Local or remote LLM backends
Text rendering Vertical CJK, RTL support, OpenType shaping
PSD export Layered export with editable text
MCP server Built-in, for AI agent integration
Headless mode Runs without a GUI
Google Fonts Built-in font catalog

Installation

Pre-built binaries

Download from the releases page for Windows, macOS, and Linux.

From source

# Prerequisites: Rust 1.92+, Bun 1.0+, LLVM 15+
bun install
bun dev       # Development
bun run build # Build binaries

Usage

GUI Mode

koharu                    # Normal launch
koharu --cpu              # Force CPU
koharu --port 9999        # Pin MCP port

Headless Mode

koharu --port 4000 --headless
# Web client at http://localhost:4000

MCP Server

koharu --port 9999
# Point client to http://localhost:9999/mcp

Export

  • Image: Flattened rendered image
  • PSD: Layered Photoshop file with editable text layers

Tech Stack

Component Technology
Core Rust
Desktop Tauri
ML Inference candle (Hugging Face), llama.cpp
UI TypeScript
Text Rendering Custom OpenType shaper

Pros

Pro Description
Local-first All models run locally, for privacy
Rust performance Fast and safe
GPU support CUDA, Metal, Vulkan, ZLUDA
Rich LLM options Local + cloud providers
PSD export Editable text layers for post-processing
MCP integration For AI agent automation
Active development 99 releases, frequent updates
Advanced text rendering Vertical CJK, RTL, OpenType shaping

Cons

Con Description
GPL-3.0 Copyleft license
Large downloads Many models need to be downloaded
GPU recommended CPU mode is much slower
Rust build complexity Building from source needs many dependencies

When to Use

  • Privacy-focused: when you don't want to send data elsewhere
  • Professional workflow: you need PSD export with editable text
  • MCP integration: when you want to integrate with AI agents
  • Apple Silicon: native Metal support
  • Rust enthusiasts: when performance and safety are the priority
  • Fine-tuned LLMs: when you need good translation quality with local models

References:

See also: Comic Translate · Manga Image Translator · Translator Comparison