Demon Zoom is a Chrome / Comet extension that does two brutally useful things and gets out of your way:
- Auto-zooms every website to your chosen level (default 150%) the instant it loads — and keeps it there, even after a refresh.
- Zooms video to fill ultrawide monitors — devouring the black bars on YouTube, anime sites, and embedded players — with zero stretching.
Set it once. It works forever. No per-site fiddling, no settings hunts.
| 🔍 Auto page zoom | Every site snaps to your level on load — and a reactive snap-back keeps it there through refreshes and navigation. |
| 🎚️ Slider + presets | Dial 50–300%, or tap a preset (100 · 125 · 150 · 175 · 200). |
| 🎬 Zoom-to-fill | Crops video to fill your ultrawide in fullscreen — a pure uniform scale, so nothing is stretched. |
| 📐 Live ratio detection | Auto-detects your monitor aspect ratio (any display) and the video ratio in real time, then computes the fill factor (e.g. x1.34). |
| ✂️ Crop alignment | Decide how much is trimmed from the top vs the bottom — with a live preview. Default 25% top / 75% bottom. |
| 🎛️ Independent toggles | Separate on/off switches for page zoom and media crop. |
| 💾 Persistent everywhere | Saved via chrome.storage.sync and applied across every tab automatically. |
| 🎨 Neon cyberpunk UI | Bundled fonts, animated glow, sliding tabs — and zero external calls or telemetry. |
git clone https://github.com/GS-Tejas-hub/Demon-Zoom.git- Open
chrome://extensions(orcomet://extensions). - Flip on Developer mode (top-right).
- Click Load unpacked and select the
Demon-Zoomfolder. - Pin it to your toolbar — done. ⚡
Requires host access (
<all_urls>) to zoom pages and crop videos on every site. It talks to no servers — everything runs locally.
Open the popup → ZOOM tab. Toggle it on and pick a level with the slider or a preset. Every site now loads at that zoom and holds it — refresh included.
Switch to the MEDIA tab and flip on Zoom to fill. It shows your detected Monitor and Video ratios and the resulting zoom factor. Leave it on Auto (fills your real monitor) or force a specific ratio: 16:10 · 16:9 · 18:9 · 21:9 · 32:9. Fine-tune with − / +.
Cropping kicks in only in fullscreen, where the black bars actually appear — so in-page players and layouts are never touched.
Filling an ultrawide with a 16:9 video means trimming the top and bottom. The CROP sub-tab lets you choose where that trim comes from — because sometimes the action's up top, sometimes the subtitles are down low.
Use the Top / Center / Bottom presets or the split slider for anything in between. The default trims 75% from the bottom, 25% from the top, so you keep more of the frame's upper half.
Page zoom — a Manifest V3 service worker (background.js) applies chrome.tabs.setZoom on every navigation, and listens to chrome.tabs.onZoomChange to snap the zoom back whenever the browser tries to reset it. That's what makes it survive refreshes.
Video crop — a content script (content.js) runs in every frame (so embedded/iframe players work too). It finds each <video>, and when it's fullscreen it applies:
transform: scale(<fill-factor>);
transform-origin: 50% <top-cut>%; /* 0% = trim bottom · 100% = trim top */The fill factor is derived from your monitor and the video's aspect ratio, and transform-origin steers the crop. A ResizeObserver + MutationObserver keep it correct as players resize or rebuild themselves — no stretching, ever.
Demon-Zoom/
├── manifest.json # MV3 config, permissions, content script
├── background.js # page-zoom service worker (+ snap-back)
├── content.js # video crop-to-fill (all frames)
├── popup.html # neon cyberpunk UI
├── popup.js # popup logic + live previews
├── fonts/ # bundled Chakra Petch + JetBrains Mono
├── icons/ # 16 / 48 / 128 px toolbar icons
└── assets/ # screenshots
Stack: 100% vanilla JavaScript · no build step · no dependencies · no tracking.
Released under the MIT License — see LICENSE.




