Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

107 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kick Chat Translator

CI MIT GitHub Stars Chrome Web Store Chrome Users Firefox Add-on

日本語 · Español · Português

Real-time translation for Kick.com chat, on live streams and VOD replays. Open a stream, and any message in another language gets its translation rendered right underneath. Nothing to set up.

Kick chat with a translation under each foreign-language message

Runs on Brave, Chrome, Edge and Firefox, and understands 7TV emotes.

Japanese chat translated to English

Zero config. Incoming chat is translated into your browser's language. When you type, a live preview shows your own message in the channel's language (auto-detected from Kick) just above the chat box; click it or press Ctrl/Cmd+Enter to send that version. Both directions work on their own, so you never have to pick a language. (You still can, in settings.)

42 languages, right-to-left scripts included (Arabic, Hebrew, Persian) as well as regional variants (Brazilian Portuguese, Traditional Chinese).


Install

➥ Chrome / Brave / Edge · Chrome Web Store  ·  ➥ Firefox · Mozilla Add-ons

One click to install. Open any Kick stream, and a green bar at the top of chat tells you it's live. The green status bar at the top of chat

Or install manually (unpacked / dev build)

Grab the right zip from Releases and unzip it.

  • Chrome / Brave / Edge (…-chromium.zip): open chrome://extensions, turn on Developer mode, click Load unpacked, pick the folder.
  • Firefox 121+ (…-firefox.zip): open about:debugging#/runtime/this-firefox, click Load Temporary Add-on…, pick manifest.json.

Translation engines

Four providers chained together. If one fails, the next takes over:

Provider Key needed? Note
Google No Default, works out of the box
DeepL Yes (free) Best quality. Get a free key (1M chars/month, €0)
MyMemory No Fallback
Lingva No Fallback (self-hosted only: ~2 GB RAM, not recommended unless you run your own instance)

On Chrome/Edge you also get on-device translation: no network, no quota. Brave and Firefox don't support it yet, so they fall back to the cloud chain.

The order is yours to set in the settings.

Settings

Click the gear on the chat bar, or right-click the extension icon → Options.

  • Target language: what everything is translated into (42 to choose from)
  • Provider order: drag to reorder, paste your DeepL key
  • Engine mode: on-device first, cloud first, or on-device only
  • Display: translation below the message, inline, replacing it, or on hover; original text, source language and provider badges each optional
  • Compose preview: on or off, its target language, and whether clicking it replaces your text or sends straight away
  • Filters: skip bots, blocklist users or channels, restrict the source languages, or whitelist channels
  • Glossary: find and replace pairs applied to the translation, for names and in-jokes that engines mangle
  • Budget: DeepL quota share and smart routing, per-channel rate limit, cache size and lifetime, concurrency
  • Auto-pause: background tabs stop translating (saves your DeepL quota)
  • UI language for the extension's own interface, and buttons to clear the cache or reset stats and settings

Privacy

No account, no analytics, no server of mine. Messages go to the translation provider you picked and nowhere else, and in on-device mode, not even there. Details

FAQ

Q: The green bar disappeared / translation stopped working. A: Refresh the page. Kick updates its interface from time to time, which can break the extension's link to the chat.

Q: Messages aren't being translated. A: Open the settings and make sure the target language differs from the source language. Also check that at least one provider is enabled in the chain.

Q: Does it work on VOD replays? A: Yes. The extension translates chat on both live streams and VOD replays.

Q: Which browsers are supported? A: Chrome, Brave, Edge and Firefox are all supported.

Q: Is my data safe? A: There's no account system and no analytics. Chat messages are sent only to the translation provider you chose, and nowhere else.

Q: How do I get better translation quality? A: Add a free DeepL API key in the settings. DeepL's free tier covers up to 1 million characters a month and consistently beats the default providers.

Q: Some messages show odd characters or aren't translated. A: Very short messages and emote-only messages are skipped on purpose: they rarely hold translatable text and would burn API calls for nothing.

Q: The extension broke after a Kick update. A: Kick sometimes changes its chat structure, which can break message detection. Open a GitHub issue and it'll be patched as soon as possible.

Supported languages

English · French · Spanish · Portuguese · Portuguese (Brazil) · German · Italian · Dutch · Polish · Swedish · Czech · Slovak · Romanian · Russian · Ukrainian · Turkish · Arabic · Hebrew · Japanese · Korean · Chinese (Simplified) · Chinese (Traditional) · Thai · Vietnamese · Indonesian · Hindi · Finnish · Norwegian · Danish · Greek · Hungarian · Bulgarian · Catalan · Slovenian · Estonian · Lithuanian · Latvian · Persian · Bengali · Tamil · Malay · Filipino

How it works

  1. A content script watches the Kick chat DOM and catches each new message.
  2. The message is handed to the background service worker, which tries providers in order until one succeeds.
  3. The translation is injected back into the DOM, beneath the original message.
  4. For outgoing messages, the channel's language is auto-detected through the Kick API and a live preview appears above the chat input.

The extension never intercepts or modifies Kick's own network requests.

It asks for storage and alarms, and for host access to kick.com, to each translation provider it can call (Google, DeepL, MyMemory, the two Lingva instances), and to api.github.com. That last one is the update check: it reads the latest release tag, throttled and cached, and the popup offers a link when a newer version exists. Nothing is sent with that request and nothing auto-updates.


Build from source

git clone https://github.com/Pkkls/kick-chat-translator.git
cd kick-chat-translator
npm ci
npm run build     # output in dist/

Other commands: npm run dev (HMR), npm run test, npm run lint, npm run pack (zip for distribution).

Stack: MV3, Vite, TypeScript, Preact, Tailwind. The content script ships as a classic IIFE for reliable injection on Brave.

Related projects

  • kick-ad-blocker, blocks Kick's pre-roll and overlay ads
  • kick-core, the realtime gateway client shared across these extensions
  • kickbus, official Kick webhooks relayed to local bots over SSE
  • kick-drops-miner, Windows app that progresses Kick drop watch-time

License

MIT. Not affiliated with Kick.

Releases

Packages

Contributors

Languages