Tweet Reader
Overview
Read tweets aloud with word highlighting, thread reading, keyboard shortcut (Alt+S), and smart text cleaning.
# Tweet Reader A Chrome extension that reads tweets aloud using the Web Speech API. Adds unobtrusive buttons to every tweet on X (formerly Twitter) for single-tweet and full-thread reading, with real-time word highlighting as it speaks. ## Features ### Read Single Tweet Click the `π` button on any tweet to hear it read aloud. Click `βΉ` to stop. ### Read Entire Thread Click the `π` button to read all visible tweets on the page sequentially. The currently-reading tweet is highlighted with a blue left border and auto-scrolled into view. ### Word-by-Word Highlighting As a tweet is read aloud, each word is highlighted in real time so you can follow along visually. ### Keyboard Shortcut Press `Alt+S` to read the tweet you're hovering over. If no tweet is hovered, the tweet closest to the center of the viewport is read instead. ### Smart Text Cleaning - **Emoji stripping** β Emojis are removed before speaking so the voice doesn't try to narrate them. - **Hashtag cleaning** β The `#` symbol is stripped from hashtags so the voice says "trending" instead of "hashtag trending". ## Installation 1. Clone the repository: ```bash git clone git@github.com:Ncastro878/tweetreader.git ``` 2. Open Chrome and navigate to `chrome://extensions`. 3. Enable **Developer mode** (toggle in the top-right corner). 4. Click **Load unpacked** and select the `tweet-reader` directory inside the cloned repo. 5. Navigate to [x.com](https://x.com) β the extension activates automatically. ## Project Structure ``` tweetreader/ βββ tweet-reader/ β βββ manifest.json # Chrome extension manifest (Manifest V3) β βββ content.js # All extension logic (injected into x.com pages) βββ .gitignore βββ README.md ``` The extension is intentionally kept minimal β two files, no build step, no background scripts, no external dependencies. ## How It Works - A `MutationObserver` watches for new tweets added to the DOM (infinite scroll, navigation) and injects the reader buttons into each tweet's action bar. - Speech is handled entirely through the browser's built-in [Web Speech API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API) (`SpeechSynthesisUtterance`). - Word highlighting uses the `onboundary` event fired by the speech engine to track which word is currently being spoken. ## Browser Support Chrome (desktop). Requires the Web Speech API, which is supported in all modern Chromium-based browsers. ## License MIT
0 out of 5No ratings
Details
- Version1.0
- UpdatedMarch 3, 2026
- Size12.81KiB
- LanguagesEnglish
- Developer
Email
ncastro878@gmail.com - Non-traderThis developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.
Privacy
This developer declares that your data is
- Not being sold to third parties, outside of the approved use cases
- Not being used or transferred for purposes that are unrelated to the item's core functionality
- Not being used or transferred to determine creditworthiness or for lending purposes