Read Japanese manga inside browser with selectable text.
HTML
1,753
86 commits
updated Jul 20, 2026
Read Japanese manga with selectable text inside a browser.
See demo: https://kha-white.github.io/manga-demo
Demo contains excerpt from Manga109-s dataset. うちの猫’ず日記 © がぁさん
mokuro is aimed towards Japanese learners, who want to read manga in Japanese with a pop-up dictionary like Yomitan. It works like this:
Alternatively, you can still use the old method from mokuro 0.1.*: Instead of a .mokuro file, generate an HTML file, which you can open in a browser. You can transfer the resulting HTML file together with manga images to another device (e.g. your mobile phone) and read there. This method is still supported for backward compatibility, but it is recommended to use the new .mokuro format and the web reader. For details, see Legacy HTML vs. new .mokuro format.
mokuro uses comic-text-detector for text detection and manga-ocr for OCR.
Try running on your manga in Colab:
See also:
You need Python 3.10 or newer. Please note, that the newest Python release might not be supported due to a PyTorch dependency, which often breaks with new Python releases and needs some time to catch up. Refer to PyTorch website for a list of supported Python versions.
Some users have reported problems with Python installed from Microsoft Store. If you see an error:
ImportError: DLL load failed while importing fugashi: The specified module could not be found.,
try installing Python from the official site.
If you want to run with GPU, install PyTorch as described here, otherwise this step can be skipped.
Run in command line:
pip3 install mokuro
mokuro /path/to/manga/vol1
This will generate /path/to/manga/vol1.html file, which you can open in a browser.
If your path contains spaces, enclose it in double quotes, like this:
mokuro "/path/to/manga/volume 1"
mokuro /path/to/manga/vol1 /path/to/manga/vol2 /path/to/manga/vol3
For each volume, a separate HTML file will be generated.
If your directory structure looks somewhat like this:
manga_title/
├─vol1/
├─vol2/
├─vol3/
└─vol4/
You can process all volumes by running:
mokuro --parent_dir manga_title/
--pretrained_model_name_or_path: Name or path of the manga-ocr model.
--force_cpu: Force the use of CPU even if CUDA is available.
--disable_confirmation: Disable confirmation prompt. If False, the user will be prompted to confirm the list of volumes to be processed.
--disable_ocr: Disable OCR processing. Generate mokuro/HTML files without OCR results.
--ignore_errors: Continue processing volumes even if an error occurs.
--no_cache: Do not use cached OCR results from previous runs (_ocr directories).
--unzip: Extract volumes in zip/cbz format in their original location.
--disable_html: Disable legacy HTML output. If True, acts as if --unzip is True.
--as_one_file: Applies only to legacy HTML. If False, generate separate CSS and JS files instead of embedding them in the HTML file.
--version: Print the version of mokuro and exit.
Before version 0.2.0, mokuro generated a separate HTML file for each processed volume, which caused some usability issues:
Starting from version 0.2.0, a new .mokuro format is introduced, which is generated for each volume and contains only the OCR results and metadata necessary for the web reader GUI. Web reader is now a separate web app, which can open manga volumes with their associated .mokuro files.
The old HTML format is still generated for backward compatibility, but it will not be developed further, and it is recommended to use the new .mokuro format and the web reader.
For any inquiries, please feel free to contact me at [email protected]
3,649 followers · starred Mar 2023
388 followers · starred Jan 2025
224 followers · starred Mar 2023
32 followers · starred Jun 2025
Read Japanese manga inside browser with selectable text.
HTML
1,753
86 commits
updated Jul 20, 2026
Read Japanese manga with selectable text inside a browser.
See demo: https://kha-white.github.io/manga-demo
Demo contains excerpt from Manga109-s dataset. うちの猫’ず日記 © がぁさん
mokuro is aimed towards Japanese learners, who want to read manga in Japanese with a pop-up dictionary like Yomitan. It works like this:
Alternatively, you can still use the old method from mokuro 0.1.*: Instead of a .mokuro file, generate an HTML file, which you can open in a browser. You can transfer the resulting HTML file together with manga images to another device (e.g. your mobile phone) and read there. This method is still supported for backward compatibility, but it is recommended to use the new .mokuro format and the web reader. For details, see Legacy HTML vs. new .mokuro format.
mokuro uses comic-text-detector for text detection and manga-ocr for OCR.
Try running on your manga in Colab:
See also:
You need Python 3.10 or newer. Please note, that the newest Python release might not be supported due to a PyTorch dependency, which often breaks with new Python releases and needs some time to catch up. Refer to PyTorch website for a list of supported Python versions.
Some users have reported problems with Python installed from Microsoft Store. If you see an error:
ImportError: DLL load failed while importing fugashi: The specified module could not be found.,
try installing Python from the official site.
If you want to run with GPU, install PyTorch as described here, otherwise this step can be skipped.
Run in command line:
pip3 install mokuro
mokuro /path/to/manga/vol1
This will generate /path/to/manga/vol1.html file, which you can open in a browser.
If your path contains spaces, enclose it in double quotes, like this:
mokuro "/path/to/manga/volume 1"
mokuro /path/to/manga/vol1 /path/to/manga/vol2 /path/to/manga/vol3
For each volume, a separate HTML file will be generated.
If your directory structure looks somewhat like this:
manga_title/
├─vol1/
├─vol2/
├─vol3/
└─vol4/
You can process all volumes by running:
mokuro --parent_dir manga_title/
--pretrained_model_name_or_path: Name or path of the manga-ocr model.
--force_cpu: Force the use of CPU even if CUDA is available.
--disable_confirmation: Disable confirmation prompt. If False, the user will be prompted to confirm the list of volumes to be processed.
--disable_ocr: Disable OCR processing. Generate mokuro/HTML files without OCR results.
--ignore_errors: Continue processing volumes even if an error occurs.
--no_cache: Do not use cached OCR results from previous runs (_ocr directories).
--unzip: Extract volumes in zip/cbz format in their original location.
--disable_html: Disable legacy HTML output. If True, acts as if --unzip is True.
--as_one_file: Applies only to legacy HTML. If False, generate separate CSS and JS files instead of embedding them in the HTML file.
--version: Print the version of mokuro and exit.
Before version 0.2.0, mokuro generated a separate HTML file for each processed volume, which caused some usability issues:
Starting from version 0.2.0, a new .mokuro format is introduced, which is generated for each volume and contains only the OCR results and metadata necessary for the web reader GUI. Web reader is now a separate web app, which can open manga volumes with their associated .mokuro files.
The old HTML format is still generated for backward compatibility, but it will not be developed further, and it is recommended to use the new .mokuro format and the web reader.
For any inquiries, please feel free to contact me at [email protected]
3,649 followers · starred Mar 2023
388 followers · starred Jan 2025
224 followers · starred Mar 2023
32 followers · starred Jun 2025