Linguist
linguister.ioLinguist is a privacy‑focused translation solution in-browser that has an embedded offline translator and lets users create custom translators to use any translation API, even if it's locally deployed. Full-page translation, selected text translation, dictionary, history, and other features you may expect of a full-featured translation solution in-browser. Download: Chrome / Firefox
- Homepage: linguister.io
- GitHub: github.com/https://github.com/translate-tools/linguist
- Web info: web-check.xyz/check/linguister.io
Linguist Source Code
Author
Description
Translate web pages, highlighted text, Netflix subtitles, private messages, speak the translated text, and save important translations to your personal dictionary to learn words even offline
Homepage
https://linguister.ioLicense
BSD-3-Clause
Created
20 Jun 21
Last Updated
08 Jun 26
Latest version
Primary Language
TypeScript
Size
24,086 KB
Stars
999
Forks
48
Watchers
999
Language Usage
Star History
Top Contributors
-
@vitonsky (1408)
-
@hirehamir (8)
-
@jwenjian (6)
-
@dependabot[bot] (4)
-
@steindvart (1)
-
@ViktorOn (1)
-
@zeref-dragneel (1)
-
@wordpure (1)
Recent Commits
-
Robert Vitonsky (07 Jun 26)
docs: screenshots is missing in readme (#610) * docs: fix screenshots * docs: update readme
-
Robert Vitonsky (07 Jun 26)
docs: update the docs (#609) * docs: update offline translation instruction * refactor: organize the docs * docs: update custom module details * chore: update logo size * fix: use link on docs * docs: improve instruction * docs: proofread the docs * docs: improve consistency
-
Robert Vitonsky (22 Mar 26)
7.0.5 (#601)
-
Robert Vitonsky (22 Mar 26)
fix: YandexTranslator does not work (#600)
-
Robert Vitonsky (11 Mar 26)
chore: add more locales (#597) * feat: add localizations * chore: improve mobile layout * feat: add more languages * chore: add locales cache into git * fix: use large image card
-
Robert Vitonsky (11 Mar 26)
feat: update site (#596) * refactor: create pages for specific languages * feat: add links to alt languages * chore: update source text * chore: watch localization files for changes * chore: allow wbr tag * style: improve landing style * feat: improve tagline and title * fix: use correct tags * feat: invert direction of every 2nd feature row * feat: improve landing texts * chore: delete locale files * chore: update docusaurus config * chore: add sitemap * feat: build alt links via site origin * feat: add alt versions meta tags * feat: add faq section * chore: improve why Linguist section * chore: mention both built-in translators and extensions * chore: mention a paywalls * chore: mention ridiculous cases * chore: sort faq * feat: explain the logo * feat: update logo * feat: localize text via transmart * chore: tune landing texts * chore: add images translation section * chore: update words * chore: run docker via user from .env * chore: translate via qwen/qwen3.5-35b-a3b * chore: use google/gemini-3.1-pro-preview * fix: use lang attribute on html * chore: translate locales * fix: layout * fix: proper alt urls generation * feat: update analytics * feat: track FAQ clicks * feat: track reading engagement * feat: add engagement time for all events * feat: add alt texts * chore: use ga4 package * fix: hydration error The Link component passed to a Trans generates `style` tag. The style tag is not allowed inside `p`, so browser tried to fix that. In result we have hydration error. To fix that problem, we wrap Trans component via `div`. * chore: tune texts * chore: add content scheme * refactor: move images into landing dir
-
Hamir Mahal (26 Jan 26)
ci: use node v20 (#521) * chore: changes from formatting on save * fix: usage of `node12 which is deprecated`
-
Ivan Kalashnikov (20 Oct 25)
fix: update Russian localization for consistency and clarity (#590)
-
Robert Vitonsky (05 Sept 25)
Blog post: custom translators (#587) * chore: add blog post about custom translators * chore: update email in authors list * chore: move blog post * chore: proofread post
-
Robert Vitonsky (28 Aug 25)
fix: default translator does not work if network blink while token fetching (#586) * fix: update translators package * 7.0.4 * docs: update build instructions
-
Robert Vitonsky (30 Jul 25)
Release 7.0.3 (#582)
-
Robert Vitonsky (30 Jul 25)
fix: throw error immediately for unsupported langauge codes (#581)
-
Robert Vitonsky (30 Jul 25)
fix: Uncaught Error when automatically translating new content (#580)
-
Robert Vitonsky (30 Jul 25)
fix: Offline translation does not work in new version (#579)
-
Robert Vitonsky (25 Jul 25)
fix: Incorrect coordinates for floating button (#570) * fix: consider scroll * 7.0.2
-
Robert Vitonsky (25 Jul 25)
Update logo for site (#572) * chore: update gitignore file * chore: update favicon * chore: remove unused icon * chore: add script to compile favicon
-
Robert Vitonsky (23 Jul 25)
Release version 7.0.1 (#568) * 7.0.0 * fix: a MicrosoftTranslator token lifetime Original issue: https://github.com/translate-tools/core/pull/129 * 7.0.1
-
Robert Vitonsky (23 Jul 25)
395 context menu item translate page is sometimes not displayed (#567) # Problem We have single context menu for all tabs and dynamically update it when user toggle/refresh tab. While this update we fetch content script for state of page translation and sometimes it happens too quickly, so content script is not ready to response for requests. This lead us to an exception and `catch` block is hide context menu in result. # How this change fixes it Implemented retries mechanism for query content script. Now background script can wait response (with reasonable deadline time). --- * fix(#395): wait response of content script * chore: update debug print
-
Robert Vitonsky (23 Jul 25)
Merge pull request #566 from translate-tools/549-injected-contentscript-div-may-affect-page-content Injected contentscript div may affect page content
-
Robert Vitonsky (23 Jul 25)
fix(#529): use relative coordinates to a root node
-
Robert Vitonsky (23 Jul 25)
fix: render container out of layout flow
-
Robert Vitonsky (22 Jul 25)
docs: update images paths in readme (#565)
-
Robert Vitonsky (22 Jul 25)
Update packages (#561) - Updated translators package. Now we use latest version of `anylang` - Added translator `MicrosoftTranslator` and set as default translator - Eslint is updated and code is formatted. Now we use latest eslint with a flat config. Created issue #564 to fix a new found problems - Site is moved to a `packages` directory and all packages is updated - All unnecessary packages is deleted - Permissions is granted to a workflow files --- * chore: update package with translators * feat: add Microsoft translator and make it default * test: update snapshots * chore: update dev packages * chore: update test deps * chore: update eslint * chore: update stylelint config * chore: temporary disable eslint rules with conflicts * chore: add lint script * ci: run linter * chore: prettify code * chore: organize eslint config * refactor: move docs site to packages directory * chore: update linters * ci: update site build job * test: exclude node modules in nested dirs * ci: update hooks and permissions * fix: webpack build Compile only files that is needed for build * ci: trigger only by push in master * chore: run audit fix * chore: update translators package for site * chore: remove google-tts-api * chore: update plausible package
-
Robert Vitonsky (15 Jul 25)
Merge pull request #557 from translate-tools/555-review-locale-files Closes #555 # Key changes - Removed localized languages names with prefix `langCode_`. Now used `Intl` API - Updated some locales keys - Texts in source locale is updated with proofreading. Unused keys is removed - All exists languages is synchronized with source locale with use LLM (`openai/gpt-4o`) - Added over 30 new languages from [top 100 languages](https://github.com/translate-tools/langstats). Texts is translated with use LLM (`openai/gpt-4o`) - Improved styles on settings page for better text rendering - Docs links is replaced from GitHub URLs to site docs URLs Updated `locales` package - Introduced LLM response validators that may return correction message - Introduced life cycle hooks for LLM processor - Exclude properties from original object by filter - Implemented correction for invalid requests to LLM. Now whole history with messages is preserved - Now object diffs are deep, to select only different parts of objects - Implemented skip for object properties - Add option to skip errors
-
Robert Vitonsky (15 Jul 25)
chore: remove debug prints
-
Robert Vitonsky (15 Jul 25)
refactor: remove unused method
-
Robert Vitonsky (14 Jul 25)
refactor: use Intl API for language names
-
Robert Vitonsky (13 Jul 25)
feat: add hooks for success/error handling
-
Robert Vitonsky (13 Jul 25)
feat: introduce hook to fix parsing errors
-
Robert Vitonsky (13 Jul 25)
feat: add locales
Linguist Website
Website
Linguist - Translate Web Pages Privately | Browser Translator Extension for Chrome & Firefox
Privacy‑first browser translator extension for Chrome and Firefox. Translate web pages, selected text, subtitles and messages instantly. Works offline and supports translation service integrations and APIs.
Redirects
Does not redirect
Security Checks
All 65 security checks passed
Server Details
- IP Address 185.199.109.153
- Hostname cdn-185-199-109-153.github.com
- Location California, Pennsylvania, United States of America, NA
- ISP GitHub Inc.
- ASN AS54113
Associated Countries
-
US
Safety Score
Website marked as safe
100%
Blacklist Check
linguister.io was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Linguist Reviews
More Browser Extensions
-
-
-
-
-
Firefox Multi-Account Containers lets you keep parts of your online life separated into color-coded tabs that preserve your privacy. Cookies are separated by container, allowing you to use the web with multiple identities or accounts simultaneously. Download: Firefox
-
Displays a country flag depicting the location of the current website's server, which can be useful to know at a glance. Click icon for more tools such as site safety checks, whois, validation etc Download: Firefox
-
-
Emulates remote frameworks (e.g. jQuery, Bootstrap, Angular) and delivers them as local resource. Prevents unnecessary 3rd party requests to tracking CDNs Download: Firefox
-
Notifies you when visiting a known or potential phishing site, and detects suspicious JavaScript (including skimmers and miners). Also provides a simple rating for a given site's legitimacy and security. Great for less technical users. Netcraft also has a handy online tool: Site Report for checking what any given website is running. Download: Chrome \ Firefox \ Opera \ Edge
-
-
-
-
-
-
-
Spoofs browser's User-Agent string, making it appear that you are on a different device, browser and version to what you are actually using. This alone does very little for privacy, but combined with other tools, can allow you to keep your fingerprint changing, and feed fake info to sites tracking you. Some websites show different content, depending on your user agent. Download: Chrome - Firefox - Edge - Opera - Source
-
-
Provides user control over WebRTC privacy settings in Chromium, in order to prevent WebRTC leaks. Download: Chrome. For Firefox users, you can do this through browser settings. Test for WebRTC leaks, with browserleaks.com/webrtc
About the Data: Linguist
Change History
- Added #334
API
You can access Linguist's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/linguist The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Linguist
Help your friends compare Browser Extensions, and pick
privacy-respecting software and services.
Share Linguist and Awesome Privacy with your network!