Instagram on your browser, the way it was meant to be.
Everything Instagram Web should have been, in one extension.
Instagram on the desktop always felt like a stripped-down copy of the app. BetterIG fills the gaps and improves the whole Instagram Web experience. It starts with the biggest pain: video. Remember that jump scare when the audio blasts at full volume and you can’t even rewind? That’s over. You get real video controls, keyboard shortcuts, quality selection, stories you can actually scrub and a clear view of the time you spend on the platform, with more of Instagram being improved in every update.
A full control bar attached to whatever video you’re actually watching: exact timestamps, a seekable progress bar, mute, playback speed and fullscreen. It follows the active video as you scroll and stays out of the way until you need it.
Instagram decides the resolution for you, and it often lands on a blurry 360p when 1080p is right there. The quality menu inside the player lists every resolution available for the current video. Pick one and it sticks, or leave it on Auto and see which resolution is actually playing.
Everything is one key away. The shortcuts panel lives inside the control bar, so you never have to guess.
| Action | Key |
|---|---|
| Play / Pause | Space |
| 2x speed | Space (hold) |
| Like | L |
| Mute / Unmute | M |
| Fullscreen | F |
| Seek forward 5s | → |
| Seek back 5s | ← |
The extension popup shows how much time you actually spent on reels — this week or all time — along with reels watched, stories viewed and interactions. Each feature can be turned on or off independently, and every counter can be reset at any moment.
BetterIG is available on the Chrome Web Store.
To run it from source:
npm install
npm run dev # Chrome
npm run dev:firefox # Firefox
To produce a build:
npm run build # output in .output/chrome-mv3
npm run zip # packaged extension
Then load the unpacked build from chrome://extensions with developer mode enabled.
Built with WXT, React 19 and TypeScript. The UI is injected through a shadow root, so Instagram’s own styles are never touched. State lives in browser.storage.local and nowhere else.
entrypoints/ content script, popup and background
components/ video controls, config menu, shortcuts modal
hooks/video/ active video detection, story segments, shortcuts, quality, state
utils/store.ts flags and stats persistence
Got a bug or a feature idea? Open an issue. BetterIG grows from what the community asks for.
BetterIG has no servers and sends nothing off your device. See the privacy policy.
BetterIG is not affiliated with, sponsored, or endorsed by Instagram or Meta Platforms, Inc. Instagram is a trademark of Meta Platforms, Inc.