MouseTooltipTranslator: hover translation for PDFs, YouTube subtitles and images
Mouseover Translate Any Language At Once - Chrome Extension: PDF Translator, EBOOK, EPUB, OCR, TTS, NETFLIX, YOUTUBE DUAL SUBTITLES, GOOGLE DOCS, AI, VIEWER, GMAIL, WRITING, IMAGE, DUAL SUBS, MANGA, HOVER, DICTIONARY, WEBTOON, EDGE, JAPANESE, ENGLISH
At a glance
- What is it?
- A Chrome, Edge and Firefox extension that translates text under the cursor, adds dual subtitles to YouTube, and runs OCR on images. The repository is MIT licensed and the last push was on 2026-09-06.
- Who is it for?
- Adopt it if you read foreign-language pages, PDFs or manga in a browser and want translation on hover rather than in a separate tab. Skip it if you need a supported translation API with a service-level agreement, because the README names only Google and Bing translators and documents no fallback.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 9 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What MouseTooltipTranslator solves for people reading foreign-language pages
Reading a page in a language you do not speak usually means one of two workflows. You copy a paragraph into a translation site, losing the surrounding context, or you let the browser translate the whole page, which replaces the original text and makes it hard to check a specific word. MouseTooltipTranslator takes a third route: the original stays on screen and a tooltip appears over the text under the cursor. The README lists the trigger as hovering or selecting text, with the left ctrl key used to hear pronunciation through Google TTS and the right alt key used to translate text typed into an input box.
The audience is narrow but real. Someone reading a Japanese manga page wants OCR on the artwork. Someone watching a YouTube video in another language wants dual subtitles rather than a single translated track. Someone reading a PDF wants a tooltip without leaving the viewer, which the README says is done through PDF.js. These are three different jobs that share one interaction model, and the extension keeps them in one install instead of three.
How the hover tooltip, PDF and OCR paths work
The repository is a webpack-built extension written mainly in JavaScript, with Vue in the build toolchain: the devDependencies include vue-loader, unplugin-vue-components and unplugin-vue-router. There are separate webpack configs for Chrome and Firefox, which is why the package scripts split into build and build-firefox. The manifest version is not stated in the README, but the manifest-v3 topic on the repository points to the current extension format.
Translation itself is delegated. The README says Google translator and bing translator are used for translation, so the extension is a client that captures text and renders the response, not a translation engine. That has a direct consequence for anyone evaluating it: quality, rate limits and availability track whatever those two services return at that moment. Nothing in the README describes a fallback chain if one of them is unreachable.
The PDF path is the most interesting design choice. Rather than injecting into the browser's built-in PDF viewer, the README says the extension supports PDF display with translated tooltips using PDF.js, meaning the extension ships its own viewer. OCR runs on a different trigger again: the README says to hold left shift and mouse over an image, with manga given as the example. Speech recognition is listed as another input path. Each of these is a separate code path with its own failure surface, which is worth knowing before you file a bug against the wrong one.
Installing MouseTooltipTranslator from the stores or building it yourself
Most users install from a store listing. The README links three: the Chrome Web Store, the Microsoft Edge Addons store, and Firefox Addons. There is no self-hosted download page, so the store listing is the distribution channel and the version you get is the version the store has approved.
If you want to run the code from the repository, the README gives a build path that requires Node 18. Clone the repository, install dependencies and run the production build:
git clone https://github.com/ttop32/MouseTooltipTranslator.git
cd MouseTooltipTranslator
npm install
npm run buildThe README states that this produces a build directory at MouseTooltipTranslator/build. For development it suggests npm run watch instead, which the package scripts define as webpack in development mode with the watch flag.
Loading the unpacked build in Chrome follows the standard extension workflow. The README's steps are to open chrome://extensions/, enable developer mode in the top right corner, and open the build folder as an unpacked extension:
# after npm run build, the README points to this output folder
MouseTooltipTranslator/buildThe package scripts also define Firefox-specific targets, build-firefox and build-firefox-web-ext, the latter using web-ext to package from the build directory into web-ext-artifacts. If you only need the extension for daily reading, the store route avoids all of this; building from source is for people changing the code or testing a commit that has not shipped yet.
Where MouseTooltipTranslator is the wrong tool
The extension depends on third-party translation endpoints it does not control. The README names Google and Bing as the translators and does not describe an offline mode, a self-hosted endpoint, or a documented retry policy. If your organisation blocks those domains, or you need translation to stay inside your network, this extension cannot satisfy that requirement as documented.
OCR and TTS inherit the same shape. OCR is triggered by holding left shift over an image, and TTS by the left ctrl key, so both are bound to keyboard modifiers. On a page or an application that already uses those keys, the interaction will collide. The README does not document a rebinding mechanism, so treat the modifier keys as fixed unless you change the source.
There is also a scope limit. This is a browser extension, not a desktop tool or a library. It does not translate a file you have on disk outside a browser tab, and it does not expose an API for a script to call. If your workflow is batch translation of documents, or translation inside an editor, the interaction model here does not apply.
MouseTooltipTranslator compared with full-page browser translation
The obvious alternative is the built-in translate feature in Chrome, Edge and Firefox, which translates the entire document. The difference is what happens to the source text. Full-page translation replaces the rendered text, so you read the translation and lose quick access to the original wording. MouseTooltipTranslator leaves the page alone and shows the translation in a tooltip, which is better when you are checking one phrase, reading a name, or working through a page where the original script matters.
The trade-off runs the other way for long reading sessions. A tooltip is a per-hover interaction, and a full-page translation is one action that covers everything. For a 5,000 word article you intend to read end to end, the built-in translator is less work. For a manga page, a PDF with a figure caption in another language, or a YouTube video where you want both subtitle tracks visible, the built-in translator does not do the job and this extension is aimed at exactly those cases.
Maintenance, build cost and the MIT licence
The repository is not archived and the last push was on 2026-09-06, with release 0.1.248 published the same day. The two previous releases were 0.1.247 on 2026-08-17 and 0.1.246 on 2026-08-05, so the cadence over that window is roughly one release every two to three weeks. That is a real signal about how often the code moves, but it says nothing about whether a specific bug you care about is fixed.
Upgrade cost for store users is close to zero: the browser updates the extension. The cost sits with people who build from source. The toolchain pins Node 18, and the devDependencies include webpack 5, sass, babel, jest and a set of unplugin Vue helpers, so a Node version bump or a webpack major change is work you inherit. There are separate Chrome and Firefox webpack configs, which means a change to shared source has to be checked against both build paths.
The licence is MIT. That permits commercial use, modification and redistribution provided the copyright notice and permission notice are kept. It does not grant rights to the Google or Bing translation services the extension calls, and store distribution adds its own review rules on top. This is a description of the licence text, not legal advice; check it against your own policy.
Editorial conclusion
Adopt it if you read foreign-language pages, PDFs or manga in a browser and want translation on hover rather than in a separate tab. Skip it if you need a supported translation API with a service-level agreement, because the README names only Google and Bing translators and documents no fallback. Before installing, check that the permissions requested by the published build match what your browser profile can grant, and confirm the current version in the store listing rather than the version in package.json, which reads 0.1.89 while the latest release is 0.1.248.
Frequently asked questions
How do I install MouseTooltipTranslator?
Install it from the Chrome Web Store, the Microsoft Edge Addons store, or Firefox Addons, all linked from the README. To build it yourself you need Node 18, then clone the repository, run npm install and npm run build, and load the resulting build folder as an unpacked extension from chrome://extensions/ with developer mode enabled.
How do I use MouseTooltipTranslator on a page?
Hover over or select text and the translation appears in a tooltip. The README also lists left ctrl for Google TTS pronunciation, right alt to translate text you type into an input box, and holding left shift while mousing over an image to run OCR.
Does MouseTooltipTranslator work on PDFs and YouTube?
The README states that PDF tooltips are displayed using PDF.js, so PDFs are handled by the extension's own viewer rather than the browser's built-in one. It also lists dual subtitles for YouTube videos as a feature.
Which translation services does MouseTooltipTranslator use?
The README says Google translator and bing translator are used for translation. No other provider, offline mode or self-hosted endpoint is documented.
What licence is MouseTooltipTranslator released under?
The repository is MIT licensed, which allows commercial use, modification and redistribution as long as the copyright and permission notices are retained. The licence covers the extension code, not the Google and Bing services it calls.
Community notes