YouTube hides the chat in fullscreen. This extension brings it back β drag, resize, and style the overlay your way.
No account required Β· No data collected Β· Fully open source
English Β· ζ₯ζ¬θͺ Β· ηΉι«δΈζ
| Fullscreen Chat Overlay | |
|---|---|
![]() |
|
| Popup β Light | Popup β Dark |
![]() |
![]() |
| Settings β Light | Settings β Dark |
![]() |
![]() |
- Install from the Chrome Web Store or Firefox Add-ons.
- Open a YouTube live stream or an archive with chat replay.
- Enter fullscreen β a toggle switch appears at the bottom-right. Click it to show the chat overlay.
- Drag, resize, and style it from the extension settings.
- Post comments and Super Chats directly from the overlay without leaving fullscreen
- Works with both live streams and archived streams with chat replay
- Optional "Always On" mode keeps the overlay visible outside fullscreen
- Adjust background color, text color, font, size, blur, and spacing so the overlay fits your stream layout
- Toggle username, user icon, Super Chat bar, and chat-only view
- Drag, resize, and reposition the chat overlay freely
- Light, dark, and auto (system-follow) theme across the overlay, popup, and settings panel
- Save named style presets and switch between them with one click
- Export and import all settings as JSON for backup or cross-device sync
- 55 languages supported, including RTL layout for Arabic, Hebrew, and Farsi
| Category | Stack | Role in this project |
|---|---|---|
| Core | React 19 for overlay UI, TypeScript for type safety, WXT as the cross-browser extension framework | |
| State & Style | Zustand for lightweight cross-entrypoint state, UnoCSS for atomic styling | |
| Quality | Vitest for unit tests, Playwright for E2E, Biome for lint & format |
Click to expand
The extension consists of two entrypoints that communicate via the browser's tabs and runtime messaging APIs:
| Component | Role |
|---|---|
| Content Script | Injected into YouTube pages. Renders the chat overlay, handles drag/resize, and manages chat source resolution (live vs. archive). |
| Popup | Extension toolbar UI. Controls language, enable/disable toggle, and theme. Syncs state to the content script in real time. |
| Shared | Common modules used by both entrypoints β stores (Zustand), i18n assets, UI components, theme, and utility functions. |
The content script automatically detects the video type and selects the appropriate chat source:
| Video state | Chat source | Switch / Overlay |
|---|---|---|
| Live stream | Public live_chat?v=<videoId> |
Available |
| Archive with replay | Native live_chat_replay iframe |
Available when replay is playable |
| No chat / replay unavailable | None | Hidden |
entrypoints/
βββ content/ # Content script (injected into YouTube)
β βββ chat/ # Chat source resolution (live / archive)
β βββ features/ # UI features (Draggable, Iframe, Settings, Switch)
β βββ hooks/ # Content-specific React hooks
βββ popup/ # Popup UI (extension toolbar)
β βββ components/ # Popup-specific components
β βββ utils/ # Popup utilities
shared/ # Shared across entrypoints
βββ stores/ # Zustand state management
βββ i18n/ # 50+ language assets
βββ components/ # Shared UI components
βββ theme/ # Theme configuration
βββ hooks/ # Shared React hooks
git clone https://github.com/daichan132/Youtube-Live-Chat-Fullscreen.git
cd Youtube-Live-Chat-Fullscreen
corepack enable
yarn install| Command | Description |
|---|---|
yarn dev |
Start dev server (Chrome) |
yarn build |
Production build (Chrome) |
yarn lint |
Biome checks + TypeScript type checks |
yarn test:unit |
Run unit tests |
yarn e2e |
Run E2E tests |
For Firefox, append
:firefoxβ e.g.yarn dev:firefox,yarn build:firefox.
Run before opening a pull request:
yarn lint
yarn test:unit
yarn buildFor Firefox compatibility changes, also run yarn build:firefox.
Contributions are welcome β bug reports, feature ideas, and pull requests all help.
- Open an issue or submit a pull request.
- Run
yarn lint && yarn test:unit && yarn buildbefore submitting a PR. - Translation contributions are also welcome β add a
docs/README.<locale>.mdfor your language.
If you find this extension useful, a star helps keep it maintained and updated.
Licensed under GPL-3.0. See LICENSE for details.






