A Chrome/Edge extension that forces Netflix to serve 4K Ultra HD content on devices and browsers that Netflix artificially restricts.
Netflix charges for a Premium plan that includes 4K streaming, but then restricts 4K playback to specific browsers and devices:
- Only Edge on Windows, Safari on Mac, or the Netflix app
- Requires HDCP 2.2 compliant display chain
- Requires hardware DRM (Widevine L1)
If you're paying for 4K but using Chrome, Firefox, or a setup Netflix doesn't "approve," you're stuck at 1080p or lower. This extension fixes that.
- Spoofs screen resolution to 3840x2160 (4K)
- Spoofs User-Agent to appear as Microsoft Edge
- Overrides Media Capabilities API to report HEVC/VP9/AV1 codec support
- Spoofs HDCP 2.2 compliance checks
- Hooks Netflix's Cadmium player to inject 4K profile requests
- Intercepts DRM negotiation to request higher security levels
- Auto-refreshes on navigation to ensure 4K works every time
- Netflix Premium subscription (4K requires Premium tier)
- 4K display (or content will be upscaled)
- Good internet (25+ Mbps recommended for 4K streaming)
- Chromium-based browser (Chrome, Edge, Brave, etc.)
Best Results: Use Microsoft Edge on Windows. Edge has Widevine L1 hardware DRM support, which combined with this extension gives the most reliable 4K playback.
git clone https://github.com/Pickle-Pixel/netflix-force-4k.gitOr download as ZIP and extract.
-
Open your browser and go to:
- Chrome:
chrome://extensions/ - Edge:
edge://extensions/ - Brave:
brave://extensions/
- Chrome:
-
Enable Developer mode (toggle in top right corner)
-
Click "Load unpacked"
-
Select the
netflix-force-4kfolder -
The extension should now appear in your extensions list
- Go to Netflix
- Open DevTools (
F12orCtrl+Shift+I) - Check the Console tab - you should see:
[Netflix 4K] Initializing... [Netflix 4K] All spoofs initialized successfully! [Netflix 4K] Screen: 3840x2160, HDCP: 2.2, Profiles: 4K HEVC/VP9/AV1
-
Browse Netflix normally - Find something to watch
-
Click on a title - The extension will auto-refresh the page to ensure 4K
-
Check stream quality - Press
Ctrl+Shift+Alt+Dwhile watching to show Netflix's hidden stats overlay:- Resolution:
3840x2160 - Playing bitrate:
15000+ kbps
- Resolution:
-
Console logging - The extension logs resolution changes:
[Netflix 4K] Video loaded: 3840x2160 [Netflix 4K] Current resolution: 3840x2160
Netflix negotiates DRM capabilities when a page loads. The extension intercepts these checks:
| Check | What We Spoof |
|---|---|
| User-Agent | Microsoft Edge |
| Screen resolution | 3840x2160 |
mediaCapabilities.decodingInfo() |
HEVC/VP9/AV1 supported |
MediaSource.isTypeSupported() |
4K codecs supported |
requestMediaKeySystemAccess() |
HW_SECURE_ALL robustness |
hdcpPolicyCheck |
HDCP 2.2 compliant |
| Cadmium player config | maxBitrate: 16000, maxHeight: 2160 |
Netflix is a Single Page Application (SPA). When you click on a movie, it doesn't do a full page reload - it just updates the URL. The problem: DRM capabilities are negotiated once when the page first loads.
If you navigate to a video via SPA, Netflix uses the DRM level from the original page load (before our spoofs were in place for that context). The only reliable fix is forcing a page refresh when you click on a new video, ensuring our spoofs are active during DRM negotiation.
You'll notice a quick refresh when clicking on a title - that's intentional and ensures 4K works.
These titles have 4K:
- Our Planet (nature doc - great for testing, obvious quality difference)
- Stranger Things
- Wednesday
- The Crown
- Breaking Bad
- The Witcher
- Any title with "Ultra HD 4K" badge
Netflix requires Widevine L1 for 4K. This is enforced at the browser level:
| Browser | Widevine Level | Max Quality |
|---|---|---|
| Edge (Windows) | L1 (hardware) | 4K ✓ |
| Chrome | L3 (software) | 720p-1080p |
| Firefox | L3 (software) | 720p-1080p |
| Brave | L3 (software) | 720p-1080p |
The extension spoofs the JavaScript checks, but can't change the browser's actual Widevine level. Edge on Windows is recommended because it has L1 support.
Netflix could update their detection methods at any time.
- Check your plan - Need Netflix Premium
- Check the content - Not all titles have 4K (look for "Ultra HD 4K" badge)
- Use Edge - Best Widevine support on Windows
- Check bandwidth - Need 25+ Mbps (test here)
- Check stats overlay - Press
Ctrl+Shift+Alt+Dto see actual resolution
- Enable Developer mode in extensions page
- Check for errors in the extensions page
- Disable other Netflix extensions that might conflict
netflix-force-4k/
├── manifest.json # Extension manifest (MV3)
├── background.js # Service worker
├── content.js # Injection & navigation handling
├── inject.js # Main spoofing logic
├── rules.json # Header modification rules
└── README.md
- Manifest Version: 3
- Permissions:
storage,declarativeNetRequest,declarativeNetRequestWithHostAccess - Host Permissions:
*://*.netflix.com/*
Key techniques:
- Content script injection at
document_start - Page context script for API overrides
Object.definePropertyinterception for config valuesMutationObserverfor video element detection- History API interception + auto-refresh for SPA navigation
This extension is for accessing content you're already paying for. It doesn't bypass payments, enable piracy, or download content. It removes artificial device restrictions on a paid service.
MIT - do whatever you want with it.