meikipop - universal japanese ocr popup dictionary for windows, linux and macos
Python
668
102 commits
updated Sep 21, 2026
instantly look up japanese words anywhere on your screen. meikipop uses optical character recognition (ocr) to read text from websites, games, scanned manga, or even hard-coded video subtitles, giving you effortless dictionary lookups with the press of a key (or even without)!
https://github.com/user-attachments/assets/a1834197-3059-438c-a2dc-716e8ec9078f
meikipop is designed to do one thing and do it exceptionally well: provide fast, frictionless, on-screen dictionary lookups.
it is heavily inspired by the philosophy of Nazeka, a fantastic browser-based popup dictionary, and aims to bring that seamless experience to the entire desktop. it also draws inspiration from the ocr architecture of owocr.
to maintain this focus, there are a few things meikipop is not:
there are a few different ways to install and run meikipop. note that when meikipop is started for the first time, a dictionary and ocr models may be downloaded.
just download, unpack and start the executable binary. no python installation required:
if you already have python 3.10+ installed, this is the most flexible option that lets you run directly from source, enables you to edit the program and lets you add your own custom ocr providers.
#... activate your environment if any
pip install --upgrade meikipop
meikipop # run the application
if you are planning to modify, fork or contribute to meikipop, it is best to checkout this repo and create an editable install
#... activate your environment if any
git clone https://github.com/rtr46/meikipop.git
cd meikipop
pip install -e .
meikipop # run the application
see for platform specific setup details:
note that there may be problems when using python 3.14. use one of these workarounds if necessary.
it is possible to run meikipop on wayland in principle, but depending on your specific setup you may need to take additional steps like installing additional dependencies, fixing some of the wayland specific code or changing some of your setup. since the wayland eco system is terribly fragmented and deliberately prevents apps like meikipop from working natively, don't expect any support, but feel free to open an issue regardless.
here are some tips and recommendations:
pip install pygobjectsudo dnf install libxcb xcb-util xcb-util-cursor libxkbcommon-x11 libxkbcommon xcb-util-wm xcb-util-keysyms pipewire-gstreamersudo apt install cmake libcairo2-dev libgirepository-2.0-dev libgstreamer1.0-dev gstreamer1.0-pipewire libxcb-xkb-dev libxcb-cursor-dev libxcb-xinerama0 libxkbcommon-x11-0 libxcb-cursor0 libxcb-icccm4 libxcb-keysyms1-dev libxcb-shape0meikipop).region mode, you will be prompted to select an area of your screen to scan.you can fully customize meikipop's behavior and appearance. right-click the tray icon and choose "settings" to open the configuration gui.
changes are saved to a platform-specific user data directory which contains config.ini and dictionary.pkl:
%LOCALAPPDATA%\meikipop\~/.config/meikipop/~/Library/Application Support/meikipop/meikipop's architecture allows you to choose whatever ocr suits your use case best:
owocr lets you run any relevant ocr engine and lets meikipop use it. just run a local owocr instance and select the owocr ocr provider from meikipop's system tray menu.
make sure you:
pip install -U "owocr>=1.15"
owocr -r websocket -w websocket -of json -e glens # replace glens with your favorite owocr backend
you can develop your own ocr provider. to get started, you can copy the dummy provider and use it as a template.
for a complete guide, see: how to create a custom ocr provider
in case you want to update your dictionary you can simply run:
meikipop build-dict
if you want to import a yomitan dictionary that is possible as well. you can import multiple yomitan dictionaries at once, but be aware that this will overwrite your default dictionary:
# try to keep as much of the dictionary's original formatting
meikipop import-yomitan-dict-html my_yomitan_dict.zip
# or create a compact, text only dictionary
meikipop import-yomitan-dict-text my_yomitan_dict.zip
# or import multiple dictionaries at once
meikipop import-yomitan-dict-text dict1.zip dict2.zip
meikipop is licensed under the GNU General Public License v3.0. see the LICENSE file for the full license text.
Python
100.0%
meikipop - universal japanese ocr popup dictionary for windows, linux and macos
Python
668
102 commits
updated Sep 21, 2026
instantly look up japanese words anywhere on your screen. meikipop uses optical character recognition (ocr) to read text from websites, games, scanned manga, or even hard-coded video subtitles, giving you effortless dictionary lookups with the press of a key (or even without)!
https://github.com/user-attachments/assets/a1834197-3059-438c-a2dc-716e8ec9078f
meikipop is designed to do one thing and do it exceptionally well: provide fast, frictionless, on-screen dictionary lookups.
it is heavily inspired by the philosophy of Nazeka, a fantastic browser-based popup dictionary, and aims to bring that seamless experience to the entire desktop. it also draws inspiration from the ocr architecture of owocr.
to maintain this focus, there are a few things meikipop is not:
there are a few different ways to install and run meikipop. note that when meikipop is started for the first time, a dictionary and ocr models may be downloaded.
just download, unpack and start the executable binary. no python installation required:
if you already have python 3.10+ installed, this is the most flexible option that lets you run directly from source, enables you to edit the program and lets you add your own custom ocr providers.
#... activate your environment if any
pip install --upgrade meikipop
meikipop # run the application
if you are planning to modify, fork or contribute to meikipop, it is best to checkout this repo and create an editable install
#... activate your environment if any
git clone https://github.com/rtr46/meikipop.git
cd meikipop
pip install -e .
meikipop # run the application
see for platform specific setup details:
note that there may be problems when using python 3.14. use one of these workarounds if necessary.
it is possible to run meikipop on wayland in principle, but depending on your specific setup you may need to take additional steps like installing additional dependencies, fixing some of the wayland specific code or changing some of your setup. since the wayland eco system is terribly fragmented and deliberately prevents apps like meikipop from working natively, don't expect any support, but feel free to open an issue regardless.
here are some tips and recommendations:
pip install pygobjectsudo dnf install libxcb xcb-util xcb-util-cursor libxkbcommon-x11 libxkbcommon xcb-util-wm xcb-util-keysyms pipewire-gstreamersudo apt install cmake libcairo2-dev libgirepository-2.0-dev libgstreamer1.0-dev gstreamer1.0-pipewire libxcb-xkb-dev libxcb-cursor-dev libxcb-xinerama0 libxkbcommon-x11-0 libxcb-cursor0 libxcb-icccm4 libxcb-keysyms1-dev libxcb-shape0meikipop).region mode, you will be prompted to select an area of your screen to scan.you can fully customize meikipop's behavior and appearance. right-click the tray icon and choose "settings" to open the configuration gui.
changes are saved to a platform-specific user data directory which contains config.ini and dictionary.pkl:
%LOCALAPPDATA%\meikipop\~/.config/meikipop/~/Library/Application Support/meikipop/meikipop's architecture allows you to choose whatever ocr suits your use case best:
owocr lets you run any relevant ocr engine and lets meikipop use it. just run a local owocr instance and select the owocr ocr provider from meikipop's system tray menu.
make sure you:
pip install -U "owocr>=1.15"
owocr -r websocket -w websocket -of json -e glens # replace glens with your favorite owocr backend
you can develop your own ocr provider. to get started, you can copy the dummy provider and use it as a template.
for a complete guide, see: how to create a custom ocr provider
in case you want to update your dictionary you can simply run:
meikipop build-dict
if you want to import a yomitan dictionary that is possible as well. you can import multiple yomitan dictionaries at once, but be aware that this will overwrite your default dictionary:
# try to keep as much of the dictionary's original formatting
meikipop import-yomitan-dict-html my_yomitan_dict.zip
# or create a compact, text only dictionary
meikipop import-yomitan-dict-text my_yomitan_dict.zip
# or import multiple dictionaries at once
meikipop import-yomitan-dict-text dict1.zip dict2.zip
meikipop is licensed under the GNU General Public License v3.0. see the LICENSE file for the full license text.
Python
100.0%