← all repositories
mayocream/koharu

A desktop manga translator that runs entirely offline

Koharu chains detection, OCR, inpainting, and LLMs into a local-first Rust app for scanlation workflows.

koharu
Velocity · 7d
+11
★ / day
Trend
steady
star history

What it does Koharu is a Rust desktop app that automates manga translation end-to-end: it detects text regions and speech bubbles, runs OCR, inpaints away the original lettering, translates via local or remote LLMs, and renders the result back onto the page with proper vertical CJK and RTL support. It exports finished pages as flat images or layered PSDs with editable text layers. A headless mode and built-in MCP server let you drive it programmatically.

The interesting bit The project is built entirely in Rust—from the Tauri frontend down through candle and llama.cpp for inference—yet it still manages to orchestrate a half-dozen specialized vision models (YOLO variants, PaddleOCR, manga-specific inpainters) plus your choice of local Gemma or Qwen weights. The text renderer is custom: Unicode-aware OpenType shaping, real glyph bounds, and constrained-box fitting designed for speech bubbles rather than generic browser text.

Key highlights

  • Runs vision models and LLMs locally by default; no cloud required for the core pipeline
  • Supports CUDA (sm80+), Metal, Vulkan, and experimental ZLUDA for AMD GPUs, with CPU fallback
  • Built-in MCP server and HTTP API for automation; headless mode serves a web client
  • PSD export preserves helper layers and writes translated text as editable layers
  • Google Fonts integration with local caching; models download automatically on first use

Caveats

  • Detection and inpainting require CUDA, ZLUDA, or Metal; the Vulkan backend only covers OCR and LLM inference, so AMD/Intel GPUs without ROCm/HIP on Windows get partial acceleration
  • The README notes ZLUDA support is “experimental” and requires manual AMD HIP SDK installation
  • LLM translation quality depends on your choice of local model weights or remote provider; the project does not ship a single default translator

Verdict Worth a look if you do scanlation or need a private, offline manga translation pipeline with professional export options. Skip it if you want a simple one-click web tool or lack the GPU memory to run local vision and language models.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.