Most Picture-in-Picture extensions are either closed-source, bloated, or surprisingly complicated for something the browser already knows how to do.
At its core, Picture-in-Picture is basically:
const video = document.querySelector('video');
await video?.requestPictureInPicture();That's the entire joke.
This project simply turns that built-in browser capability into a lightweight Chromium extension you can inspect, trust, and use.
- Add a Picture in Picture option to the page context menu
- Toggle PiP from the extension popup
- Automatically detect the most relevant video on the page
- Works across most websites exposing a standard HTML video element
- Open-source and fully inspectable
| Platform | Status |
|---|---|
| Crunchyroll | ✅ |
| Prime Video | ✅ |
| Netflix | ✅ |
| YouTube | ✅ |
These are simply the platforms I tested personally using Brave on macOS. The extension should work on most websites exposing a standard HTML video element.
If all you want is PiP for a video you're already watching, you shouldn't need to install a black-box extension and hope for the best.
This project takes the opposite approach:
- Open source
- Small and auditable
- No accounts
- No tracking
- No subscriptions
- No fake productivity features
- Just Picture-in-Picture
Open a page containing a video, then either:
Right-click anywhere on the page and select:
Picture in Picture
Open the extension popup and click:
Toggle PiP on Active Tab
Examples use Bun, but any supported package manager should work.
Install dependencies:
bun installCreate a production build:
bun run build- Build the extension.
- Open
chrome://extensions. - Enable Developer mode.
- Click Load unpacked.
- Select:
Production build:
.output/chrome-mv3
This extension is intentionally small.
The goal is not to become a media-control suite, productivity platform, AI assistant, browser operating system, or anything else pretending to be more important than it is.
The goal is to make Picture-in-Picture available quickly, visibly, and without surprises.
If it helps you avoid installing a sketchy extension, it has already done its job.
