拡張機能研究所

Introducing recommended browser extensions in manga format!

Column

extention_lab

"I Want Overseas Readers to Enjoy My Manga Too" - Trying Free Translation with manga-image-translator

"I Want Overseas Readers to Enjoy My Manga Too" - Trying Free Translation with manga-image-translator

It's such a waste to keep your heartfelt manga only in Japanese...

"I want fans around the world to see it too!"
Have you ever searched for translation tools with that excited feeling?

But...💧

  • Paid services cost money every month
  • Free tools disappoint when text overflows from speech bubbles...

Have you given up on publishing because of these frustrations?

Don't worry anymore
Let's make your dreams come true

"manga-image-translator" will
deliver your work to readers worldwide✨

What is manga-image-translator?

It's an open-source tool
specialized for manga image translation

It can handle everything in one go:
detecting text from images,
translating, and replacing it

What is manga-image-translator?

Benefits

  • Completely free: Commercial use is possible
  • Fully customizable: Fine-tune translation engines, text detection accuracy, and fonts
  • Local processing: Image data doesn't leak externally
  • Multilingual support: Japanese, English, Chinese, and over 20 languages

Considerations

  • Environment setup required: Need to prepare a Python programming environment
  • Recommended specs: More comfortable to use on PCs with decent performance for image processing (works without GPU too)

Recommended for:

  • Those unsatisfied with existing translation tools
  • Those who want to adjust detailed settings themselves
  • Those wanting high-quality translation for free

Here's what the translation looks like

Japanese

Preview

English

Preview

Your Japanese manga
gets transformed into English like this

Speech bubble text gets translated into natural English

※The font being slightly smaller
is something I intentionally changed in the settings

While not perfect,
it's overwhelmingly more efficient than manual work
Once you set it up,
the processing completes automatically

Let's try running it first

What is manga-image-translator?

Environment

  • Python: Version 3.10 or higher
  • GPU recommended: Works without one. I don't use a GPU.
  • OS: Windows 11

Installation Steps

I'll explain Python and manga-image-translator in order

1. Installing Python 3.10

  1. Download the Python 3.10 installer (or later version) from the Python official website.
    Download page: https://www.python.org/downloads/release/python-3100/
    Download page
  2. Run the installer.
  3. On Windows, make sure to check the "Add Python to PATH" checkbox.
    Download page

After installation, check the version in Command Prompt or Terminal. If it shows Python 3.10.x, you're successful.

$ python --version
Python 3.10.6 # example

2. manga-image-translator

Clone it from GitHub.
※Requires git installation beforehand
Download page: https://gitforwindows.org/

# Clone the repository
git clone https://github.com/zyddnys/manga-image-translator.git

# Move to the downloaded folder
$ cd manga-image-translator

This step isn't mandatory, but strongly recommended to create independent environments per project and prevent dependency conflicts with other Python projects.

  1. Create virtual environment: Create a virtual environment named venv.

    $ python -m venv venv
    
  2. Activate virtual environment:

    • Windows (PowerShell):
      $ .\venv\Scripts\Activate.ps1
      
    • Windows (Command Prompt):
      $ .\venv\Scripts\activate.bat
      

    If (venv) appears at the beginning of the command line, you're successful.

4. Installing dependency libraries

After activating the virtual environment, install all required libraries at once.

# Install required dependencies
$ pip install -r requirements.txt

$ Note for Windows users: Compiling some dependencies requires "Microsoft C++ Build Tools".
If you get errors during pip install, install this tool first.

Basic execution command

Installation is complete!
Next, let's test it with a command.

# input is the input folder. dest is the output folder
python -m manga_translator local  --input "input"  --dest "output"
  • Put images you want to translate in the input folder
  • Translated images will appear in the output folder

※Models are automatically downloaded on first run
Please note it takes some time

Improve quality with customization

The true value of manga-image-translator
lies in fine parameter adjustments

It works with defaults,
but adjustments are essential for ideal results.

What is manga-image-translator?

Configuration file I actually use

This configuration file is optimized for English translation from Japanese manga.
Please fine-tune it for your own work.

Download config.json
※This setting assumes the original manga uses mostly bold fonts. Adjustment may be needed for normal manga.

Place the downloaded config file in the project root and execute with this command:

# Execute with config and font-path added
python -m manga_translator local  --input "input"  --dest "output" --config "config.json" --font-path "fonts/comic shanns 2.ttf"

Parameter details

I'll explain the main items,
focusing on the parameters I changed

Text detection settings (Detector)

{
  "detector": "default",
  "detection_size": 2048,
  "text_threshold": 0.3,
  "det_rotate": true,
  "det_auto_rotate": true,
  "box_threshold": 0.5,
  "unclip_ratio": 1.5
}

detection_size: 2048

Image size for detection. Means 2048×2048.

Larger values can detect smaller text but
increase memory usage.
Slightly larger than input image is fine.

text_threshold: 0.3

★Important parameter★
Threshold for text area detection.
Lower values detect more text.
Default is 0.5.
If you want to perfectly detect non-speech bubble text (written text or design text like signs), lower values work better.

det_rotate: true & det_auto_rotate: true

Improves vertical text detection accuracy.
Essential for Japanese manga.

box_threshold: 0.5

Bounding box confidence threshold.
Set lower to prevent missed detections.
Default: 0.75.
If text isn't being translated, lowering this value helps.

unclip_ratio: 1.5

★Important parameter★
Text area expansion ratio.
Ensures proper speech bubble margins.
Default: 2.3
If text overflows from speech bubbles, lower this value.

Character recognition settings (OCR)

{
  "ocr": "48px",
  "use_mocr_merge": false,
  "min_text_length": 0,
  "ignore_bubble": 0
}

ocr: 48px

  • For Japanese manga: 48px or mocr
  • 48px is strong with vertical writing and handwritten-style fonts
  • mocr is the "Manga OCR" high-precision model

use_mocr_merge: false

Disables merging of adjacent text boxes
like when speech bubbles are connected.

min_text_length: 0

Minimum text length restriction. Even 1-character text becomes translation target. Set to 2 etc. if there's much noise.

  • Setting to 2 ignores single-character text
  • Speech bubbles with only "!" or "?" won't be translated

ignore_bubble: 0(Ignore non-speech bubble)

Threshold for ignoring text outside speech bubbles.
Set to 5-10 if you want to skip sound effects etc.

Drawing settings (Render)

{
  "renderer": "manga2eng",
  "font_size_offset": -1,
  "font_size_minimum": 1,
  "disable_font_border": false
}

renderer: manga2eng

Optimized for English text rendering
Properly wraps long English sentences to fit within speech bubbles

font_size_offset: -1

Font size adjustment.
Makes size smaller by specified amount.
If text overflows, make even smaller (-2 etc.)
If too small, use positive values.
※Existing fonts are in 6px intervals like 12,18,24. I use -1 setting, but multiples of 6 are better.

font_size_minimum: 1

Minimum font size.
Won't go below this.

disable_font_border: false

Enables text outlining.
Ensures contrast between background and text, improving readability.

Text removal settings (Inpainter)

{
  "inpainter": "lama_large",
  "inpainting_size": 2048,
  "inpainting_precision": "bf16"
}

inpainter: lama_large

High-precision text removal model.
Cleanly erases original text and naturally restores background.

inpainting_size: 2048

Image size for removal processing.
For high-resolution images, increase to 4096 etc. to reduce text remnants.

inpainting_precision: bf16

Computation precision.
Good balance between memory efficiency and accuracy.

Translator (Translation engine)

{
  "translator": "sugoi",
  "target_lang": "ENG",
  "enable_post_translation_check": false
}

translator: sugoi

Best choice for English translation from Japanese manga.
Converts Japanese colloquial expressions and manga-specific phrases into natural English.
Works completely offline, no API key required.

You can choose various AI engines:

  • chatgpt
  • gemini
  • deepseek
  • deepl

But English translation inevitably makes
character count longer, so
personally I think sugoi is fine

enable_post_translation_check: false

Disables post-translation quality check.
Turned off for processing speed, but
change to true if prioritizing quality

target_lang: ENG

Sets output language to English.
Other languages can be specified.

CHS: Simplified Chinese
CHT: Traditional Chinese
CSY: Czech
NLD: Dutch
ENG: English
FRA: French
DEU: German
HUN: Hungarian
ITA: Italian
JPN: Japanese
KOR: Korean
POL: Polish
PTB: Portuguese (Brazilian)
ROM: Romanian
RUS: Russian
ESP: Spanish
TRK: Turkish
UKR: Ukrainian
VIN: Vietnamese
ARA: Arabic
SRP: Serbian
HRV: Croatian
THA: Thai
IND: Indonesian
FIL: Filipino (Tagalog)

Other settings

{
  "kernel_size": 3,
  "mask_dilation_offset": 20
}

kernel_size: 3

Kernel size for text removal.
Increase to 5 etc. if text remnants remain.

mask_dilation_offset: 20

Text mask expansion amount.
Adjusts removal range around text.

Font specification

You can specify fonts in execution parameters
They're in the font folder

--font-path "fonts/anime_ace.ttf"
  • anime_ace_3.ttf: Common manga font overseas
  • comic shanns 2.ttf: Focus on readability. This is what I use.

Adjustment points by situation

Text too small to detect

  • Increase detection_size (to 3072 or 4096)
  • Lower text_threshold (to around 0.3)

Weird places getting detected

  • Increase box_threshold (to 0.8 or 0.9)
  • Increase ignore_bubble (to around 10)

Translation overflows from speech bubbles

  • Make font_size_offset more negative (-2 or -4)
  • Change font
  • Set renderer to manga2eng

Translation accuracy is low

  • Try different translator (compare sugoi and deepseek)
  • Try API-based translation engines
  • Add dictionaries (check official docs for details... I haven't used this yet.)

What I learned from using it

What is manga-image-translator?

Good points

  • Significant time savings: About 1/10th the time of manual work
  • Customization flexibility: Can adjust detailed settings to personal preference
  • Learning effect: Naturally gain image processing knowledge through parameter adjustments

Room for improvement

  • Not perfect: Sometimes dialogue length doesn't match speech bubbles
  • Initial setup involves trial and error: Takes time to find settings that suit your manga
  • Environment setup: High initial hurdle for those unfamiliar with Python

A powerful tool if you master it‼️

Really helpful for those who want
to expand content overseas

Troubleshooting

Errors and won't run

python -m manga_translator config-help

You can see explanations for all parameters.

Processing too slow

  • Configure to use GPU
  • Reduce image size
  • Lower detection_size or inpainting_size

Text overflowing

  • Make font_size_offset even smaller (-6, -12 etc.)
  • Lower text_threshold
  • Lower unclip_ratio
  • Lower box_threshold

Deliver your manga to the world

With manga-image-translator,
multilingualizing your self-made manga becomes much more accessible

You might be confused by settings at first
Start by trying to run it
Gradually master it through repeated adjustments

"I want more people
to enjoy the manga I created"

Why not try it as the first step
to realizing that dream

What is manga-image-translator?

For those who want to know more


More Columns