How to Fix OBS Not Capturing a Web Browser
Fix black or missing browser capture in OBS by choosing the right source, aligning GPUs, changing hardware acceleration, and using reliable fallbacks.
If OBS shows a black, empty, or missing browser window, start by matching the source to your goal: use Window Capture for an already-open Chrome, Firefox, Edge, or other browser window; use Browser Source to load a URL or local page directly inside OBS; use Display Capture when Window Capture cannot read the browser. Do not use Game Capture for a normal browser window.
Choose the right OBS source
| Source | Use it for | Common limitation |
|---|---|---|
| Window Capture | One already-open browser window | Hardware acceleration or a laptop GPU mismatch can produce a black preview. |
| Display Capture | A dependable fallback that captures the whole monitor | Other desktop windows and notifications may appear. |
| Browser Source | A URL or local web page rendered inside the OBS scene | It is a new embedded page, not the existing browser session with its tabs, extensions, or login state. |
| Game Capture | DirectX/OpenGL games | OBS documents it as a game source, not the normal method for browser windows. |
OBS describes Browser Source as a browser that can be added directly to a scene. Its properties include URL or local-file mode, width, height, custom frame rate, refresh-on-activation, page permissions, and cache refresh. See the OBS Browser Source documentation for the current property names.
Quick diagnostic checklist
- Decide whether you need an existing browser session or just the page content.
- For an existing session, add Window Capture and select the correct browser window.
- If the preview is black, disable browser hardware acceleration, restart the browser, and reselect the window.
- On a laptop, assign OBS and the browser to compatible GPUs.
- If Window Capture still fails, use Display Capture or Browser Source.
- Check that the source is visible in the Sources list and is not hidden behind another full-screen source.
Fix a black Window Capture preview
1. Recreate the source and select the exact window
In OBS, select the scene, click + in Sources, choose Window Capture, and select the browser window from the Window list. Close duplicate browser windows so you can identify the intended one. If the browser was restarted, open the Window Capture properties again and select it again.
2. Disable browser hardware acceleration
Chrome, Firefox, and similar browsers can use GPU acceleration in a way that prevents Window Capture from receiving the window image. Turn off the browser’s hardware-acceleration setting, fully quit and reopen the browser, then reselect the window in OBS. On Chromium browsers the setting is usually under system or performance settings; Firefox exposes it under performance settings. The exact label varies by version.
This change affects browser rendering performance, so restore it later if you no longer need Window Capture. If disabling it fixes the preview, the cause was the browser’s accelerated rendering path rather than the web page itself.
3. Align GPU assignments on a laptop
A laptop may have an integrated GPU and a discrete GPU. Window Capture can fail when OBS runs on one adapter while the browser renders on the other. In the operating system’s graphics settings, assign OBS and the browser to the same GPU policy, then restart both applications.
OBS also documents Multi-adapter compatibility for Window Capture as a fallback. Enable it in the source properties only when needed; it can increase CPU use. Driver names and menus differ by Windows version and vendor, so apply the setting in the OS graphics controls rather than relying on a single vendor-specific menu.
4. Try Display Capture
Add Display Capture and choose the monitor containing the browser. This captures pixels after the desktop compositor presents them, so it can work when Window Capture cannot access the browser surface. Crop the source or place the browser on a separate monitor if you need to keep other desktop content out of the recording.
Use Browser Source instead of a browser window
Choose Browser Source when you control the URL or local HTML and do not need the current browser’s tabs, extensions, cookies, or login session. Add Browser Source, enter a URL or select a local file, then set the viewport width and height to match the scene.
- Width and height: Set the page viewport, not merely the output canvas size.
- Custom FPS: Use the frame rate needed by the animation or stream.
- Refresh browser source when scene becomes active: Useful for dashboards that should reload when shown.
- Refresh cache: Use it after deploying changed HTML, CSS, or JavaScript.
- Page permissions: Grant only the permissions the embedded page requires.
Browser Source creates a separate embedded page. A page that depends on a login in your normal Chrome profile, an extension, or a browser-specific certificate may not render the same way.
Why Game Capture is usually wrong
Game Capture is intended for DirectX/OpenGL games. OBS’s documentation directs non-game windows to Window Capture. Selecting Game Capture for Chrome or Firefox can therefore leave you with no source or an unreliable result. Use Window Capture, Display Capture, or Browser Source according to the table above. See the OBS Game Capture documentation.
Common symptoms and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| Window Capture is solid black | Browser hardware acceleration or GPU mismatch | Disable browser acceleration, restart, align GPU assignments, then retry. |
| The browser is missing from the Window list | Wrong window selected, browser closed, or OBS needs a refresh | Keep one browser window open, reopen source properties, and select it again. |
| Only part of the page appears | Source bounds or crop are smaller than the window | Right-click the source, choose Transform, and use Fit to Screen; remove unintended crops. |
| Browser Source is blank | Bad URL, blocked content, stale cache, or a page requiring a login | Open the URL normally, verify it loads without an interstitial, refresh the Browser Source cache, and check page permissions. |
| Capture works on one monitor but not another | Display or GPU assignment differs between monitors | Test Display Capture on the target monitor and make OBS and the browser use compatible GPUs. |
| Capture freezes after switching scenes | Embedded page state or refresh behavior | Enable refresh on scene activation or manually refresh the Browser Source. |
| Recording contains notifications or other windows | Display Capture includes the whole monitor | Use Window Capture, crop the display source, or move the browser to a dedicated monitor. |
Reliability and performance tips
- Keep OBS, the browser, and graphics drivers current, but retest after each update because capture behavior can change.
- Use Window Capture when you need the exact interactive session; use Browser Source for a controlled page or overlay.
- Use Display Capture as a compatibility fallback, accepting that it captures everything visible on that monitor.
- Reduce unnecessary browser tabs and animated pages when CPU or GPU usage is high.
- For Browser Source, set the viewport and FPS deliberately instead of leaving a very large default canvas.
- Test the complete scene in a short recording before a live stream. Confirm the source, audio, crop, and notifications.
When a screenshot is all you need
If the goal is a still image of a web page rather than a live OBS scene, a screenshot API removes the local browser and GPU setup. ScreenshotNeo accepts one GET request and returns PNG, JPEG, WebP, or PDF. It can load lazy images, capture full pages or one CSS-selected element, set a device or viewport, apply custom CSS and JavaScript, click before capture, wait for a selector, delay, or network idle, and set headers, cookies, user agents, timezone, and geolocation.
Or skip the browser setup
ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before the capture. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed; response headers identify the page verdict and whether the shot was billed. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots each month without a card; paid plans start at $5 for 3,000 shots.
See the ScreenshotNeo API documentation for all options.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
Create a free ScreenshotNeo account with 1,000 screenshots per month and no card.
FAQ
Why does OBS capture other apps but not Chrome?
Chrome’s GPU-accelerated rendering path can block Window Capture. Disable browser hardware acceleration, restart Chrome, and try again, or use Display Capture.
Should I use Window Capture or Browser Source?
Use Window Capture for an existing session. Use Browser Source when OBS should load a URL or local page independently.
Can I capture a browser on a laptop with two GPUs?
Yes. Assign OBS and the browser to compatible GPUs. Multi-adapter compatibility is another Window Capture option, with higher CPU cost.
Will Browser Source use my normal browser login?
No guarantee. It is an embedded page, separate from your existing browser profile, extensions, and session.
Why is Game Capture not working for my browser?
Game Capture targets DirectX/OpenGL games. Use Window Capture, Display Capture, or Browser Source for ordinary web pages.


