How to Enable Dark Mode on All Websites in Chrome
Make Chrome websites dark with built-in themes, an experimental flag, or Dark Reader—and fix pages that stay bright.
Short answer: Chrome’s Light, Dark, and Device appearance settings change Chrome’s interface and some Chrome pages; they are not documented as a switch that forces every website to use dark colors. To darken website content, check whether your Chrome build offers the experimental Auto Dark Mode for Web Contents flag, or install a site-theme extension such as Dark Reader. The extension route is usually the most controllable because it supports per-site rules.
This guide explains what each method changes, how to turn it on, how to handle pages that remain bright, and what to expect on desktop and Android.
1. Decide which kind of dark mode you need
| Method | What it changes | Availability | Per-site controls | Third-party install |
|---|---|---|---|---|
| Chrome appearance theme | Chrome homepage, toolbar, settings, and some other Chrome pages | Documented desktop and Android setting | No website-content rules | No |
| Auto Dark Mode for Web Contents flag | Attempts to transform website colors | Experimental; may be missing or removed | Limited | No |
| Dark Reader | Generates dark themes for website pages | Extension from the Chrome Web Store | Yes; can be enabled or disabled by site | Yes |
Use Chrome’s own theme when you only want the browser chrome dark. Use the flag for a built-in experiment if it exists in your installation. Use an extension when you need site-by-site controls and a way to exclude pages that render incorrectly.
2. Turn on Chrome’s built-in dark interface theme
Desktop
- Open a new tab.
- Select Customize Chrome.
- Open Appearance.
- Choose Dark, or choose Device to follow your operating system.
Google says this makes the homepage, toolbar, settings, and some other pages dark. It does not describe the setting as a universal website-content switch. Labels and placement can change as Chrome versions roll out. See Google’s Chrome Help for computers.
Android
- Open Chrome and tap More (the three-dot menu).
- Tap Settings, then Theme.
- Choose System Default, Dark, or Light.
On Android, Google documents System Default as following the device’s dark theme or Battery Saver state. This controls Chrome’s theme; individual websites may still use their own colors. See Google’s Android instructions.
3. Try Chrome’s experimental automatic dark mode flag
Some Chrome builds expose an experiment named Auto Dark Mode for Web Contents. It is not a guaranteed, stable feature, so check your own installation rather than assuming the option exists.
- Enter
chrome://flagsin the address bar. - Search for Auto Dark Mode for Web Contents.
- If the flag appears, open its menu and choose Enabled.
- Click Relaunch when Chrome offers to restart.
- Open a few representative websites and check images, forms, code blocks, and navigation.
If the flag is absent, your build does not expose it. If it causes unreadable colors, broken layouts, or crashes, return to chrome://flags, set it back to Default, and relaunch Chrome. Chrome’s community discussion describes this flag as a developer experiment and warns that flags can disappear or change. Read the Chrome Community discussion.
Chrome for Developers also documents automatic dark-mode work as an earlier Android Origin Trial and explains DevTools emulation for developers. That documentation is useful for previewing a site, but it is not proof that a consumer desktop-wide switch is available today. See the DevTools documentation.
4. Use Dark Reader for site-by-site control
- Install Dark Reader from the Chrome Web Store.
- Open the extension from Chrome’s Extensions menu.
- Turn dark mode on globally, or enable it only for selected websites.
- Use the extension’s site controls to exclude a page that already has a good dark theme or does not render correctly.
- Adjust brightness, contrast, sepia, or the rendering mode when a site needs tuning.
The Web Store listing says Dark Reader can be enabled or disabled for specific websites, synchronize with system dark mode, and detect already-dark sites. Its help pages explain per-site settings and note that Chrome can restrict script injection on some pages. Do not run several extensions that all rewrite page colors at once; their styles can conflict. Read Dark Reader’s help.
5. Handle pages that stay bright or look broken
- Only Chrome’s toolbar is dark: You changed the interface theme. Use the flag or an extension for website content.
- The flag is missing: It may not be shipped in your Chrome build. Use an extension instead.
- A site is already dark but gets washed out: Add it to the extension’s allowlist or disable darkening for that domain.
- Images, videos, or charts look inverted: Try a different extension rendering mode, lower contrast, or exclude the site.
- A login, payment, or embedded frame remains light: The frame may be isolated from extension scripts or use its own origin. Check whether the extension can access that site and frame.
- Chrome says the extension cannot access the page: Chrome restricts extensions on some internal pages, the Web Store, browser settings, and pages with restrictive policies. Use the site’s own dark theme where available.
- Text becomes low contrast: Reset per-site adjustments and remove custom CSS rules before adding them again.
- Private windows are unchanged: Open the extension’s details and explicitly allow it in Incognito if you trust the extension and need it there.
6. A practical verification checklist
- Test a normal article, a web app, a form, and a page with code samples.
- Check focused inputs, selected text, visited links, disabled controls, and error messages.
- Open an image-heavy page and a page containing charts or maps.
- Test both regular and Incognito windows if you use them.
- Keep a per-site exception list for pages that provide their own dark theme.
- After a Chrome update, recheck experimental flags because their names and behavior can change.
7. Performance, privacy, and reliability considerations
Chrome’s interface theme has the smallest scope because it does not need to rewrite ordinary website content. A flag may change page rendering globally, but it is experimental and can change between releases. An extension injects styles or scripts into pages, so behavior depends on the page’s structure and Chrome’s extension permissions. Sites with restrictive policies, cross-origin frames, or canvas-heavy interfaces may not be fully transformable.
For privacy, review the extension’s permissions and keep it disabled on sensitive sites if you do not need it there. Use the extension’s per-site controls instead of enabling broad access without checking what the extension requests.
8. Or skip the browser setup
If your goal is to capture a website in dark mode for documentation, QA, previews, or an automated workflow, ScreenshotNeo can apply dark mode during capture through its website screenshot API. It also supports custom CSS and JavaScript, device presets, full-page captures, element selectors, waits, cookies, headers, geolocation, and PDF output.
See the ScreenshotNeo API documentation for the complete option list. A basic request looks like this:
cURL
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python
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)
Node.js
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo accepts cookie and consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before the capture; each step can be turned off. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response reports the page verdict and billing result in X-Page-Verdict and X-Billed headers. Its MCP server gives AI agents the take_screenshot, get_page_info, and capture_pdf tools.
The Free plan includes 1,000 shots per month with no card. Paid plans start at $5 for 3,000 shots; every feature is available on every plan. Create a free ScreenshotNeo account.
9. Troubleshooting Chrome dark mode
| Symptom | Likely cause | Fix |
|---|---|---|
| Browser chrome is dark, websites are white | Only the interface theme is enabled | Use the flag or Dark Reader |
| No Auto Dark Mode flag | Experiment unavailable in this build | Use an extension or the site’s own theme |
| Colors change after every update | Experimental behavior or page CSS changed | Reset the flag; update per-site extension rules |
| Extension works on one site but not another | Permissions, restrictive policies, or different page technology | Check extension access and add a site-specific rule |
| Forms are unreadable | Generated colors conflict with form CSS | Adjust contrast or exclude the page |
| Incognito stays light | Extension access is disabled in private windows | Allow Incognito access in the extension details |
10. Frequently asked questions
Does Chrome’s Dark setting darken every website?
No. Google documents it for Chrome’s homepage, toolbar, settings, and some other pages, not as a universal website-content setting.
Is Auto Dark Mode for Web Contents a permanent Chrome feature?
No guarantee. It is an experimental flag whose presence and behavior can change or disappear.
Can I darken only one website?
Yes. Dark Reader provides per-site enable, disable, and adjustment controls.
Why does a page’s embedded video remain bright?
Embedded frames can have separate origins or restricted script access. Use the player’s own theme controls or exclude the page if the generated colors are worse.
Will dark mode make every image dark?
No. Extensions may preserve, transform, or partially affect images depending on their rendering mode and the page.
Can I automate dark screenshots without running Chrome myself?
Yes. ScreenshotNeo provides an API and MCP server for automated captures, with custom CSS and JavaScript options for applying a page-specific dark theme.


