Highlight. Right-click. Listen. A fast text-to-speech browser extension powered by ElevenLabs via a lightweight local Python proxy.
┌─────────────────────┐ ┌──────────────────────────────────┐
│ Chrome Extension │ HTTP │ FastAPI Proxy Server │
│ (Manifest V3) │ ──────► │ [http://127.0.0.1:8001](http://127.0.0.1:8001) │
│ │ │ │
│ ┌─────────────────┐ │ /tts │ ┌────────────────────────────┐ │
│ │ background.js │ │ POST │ │ server.py │ │
│ │ service worker │ │ │ │ ┌──────────┐ ┌─────────┐ │ │
│ └────────┬────────┘ │ │ │ │ httpx │ │ .env │ │ │
│ ▼ │ │ │ └──────────┘ └─────────┘ │ │
│ ┌─────────────────┐ │ │ │ ElevenLabs API │ │
│ │ offscreen.js │ │ ◄────── │ └────────────────────────────┘ │
│ │ Web Audio API │ │ base64 │ │
│ └─────────────────┘ │ MP3 │ │
│ │ │ │
│ ┌─────────────────┐ │ │ │
│ │ content.js │ │ │ │
│ │ hotkeys + │ │ │ │
│ │ highlight │ │ │ │
│ └─────────────────┘ │ │ │
└─────────────────────┘ └──────────────────────────────────┘
- 🖱️ Right-click any selected text to read aloud
- ⌨️ Hotkey
Ctrl+Shift+Sto read selection andEscto stop - 🎚️ Speed control (0.5x to 2.0x) and dynamic voice picker
- 🔊 Playback via Web Audio API in an offscreen document
- 🧠 Premium Cloud Voices powered by your ElevenLabs account
- 🛡️ Secure Proxy keeps your API key hidden from the browser
| Component | Minimum |
|---|---|
| OS | Windows 10/11, Linux, macOS |
| Python | 3.10 to 3.12 |
| Browser | Chrome / Edge / Brave |
Create a .env file in the backend folder and add your API key.
ELEVENLABS_API_KEY=your_actual_key_here
Windows:
cd backend
setup.batLinux / macOS:
cd backend
chmod +x setup.sh
./setup.sh- Open
chrome://extensions - Enable Developer mode
- Click Load unpacked and select the
/extensionfolder
- Ensure the proxy server is running on
http://127.0.0.1:8001. - Click the CloudVoice icon to confirm it says Connected.
- Pick a voice and set your speed.
- Select any text on a webpage and right-click to read aloud.
CloudVoiceChrome/
├── README.md
├── .gitignore
├── backend/
│ ├── server.py
│ ├── requirements.txt
│ ├── setup.sh
│ ├── setup.bat
│ └── .env
└── extension/
├── manifest.json
├── background.js
├── content.js
├── offscreen.html
├── offscreen.js
├── popup.html
├── popup.css
└── popup.js