Skip to main content Scroll Top

Dark Mode Website Design: Dark Themes, prefers-color-scheme and Contrast That Passes

Updated September 2026 · Written and maintained by the Progression Agency strategy team

Progression Agency provides dark mode website design for brands, products, studios and publishers across the United States and worldwide: a dark theme built from design tokens rather than inverted colors, automatic switching with prefers-color-scheme plus a manual toggle that remembers the choice, contrast that meets WCAG 2.2 in both themes, images, charts and embeds that survive the switch, and a dark website that loads in the right theme without a flash.

On this page · 14 sections
  1. What dark mode website design means
  2. What a dark mode website must get right
  3. Dark-only, light-only or both
  4. Platform choices for dark mode websites
  5. Engineering details we handle
  6. SEO and AI search for dark mode websites
  7. How we design and build a dark mode website
  8. What dark mode website design costs
  9. Dark mode website design by site type
  10. What to gather before a dark mode website project starts
  11. Measuring a dark mode website after launch
  12. Mistakes that make dark themes look unfinished
  13. Template, theme add-on or agency: which fits
  14. How Progression Agency builds dark mode websites

The short answerDark mode is a second theme, not a filter. A dark website that works starts with color tokens for surface, text, border and accent defined for both themes, dark surfaces that are dark gray rather than pure black, text contrast checked against WCAG 2.2, and a switch that respects the operating system through prefers-color-scheme while letting the visitor override it. As planning figures, adding a dark theme to an existing site costs $4,000-$12,000 and takes 3-5 weeks; a new site designed for both themes $12,000-$40,000 in 6-10 weeks; a design-system-level dark mode across site and product $40,000-$120,000.

Comparisons are based on each project’s official documentation as linked in the text. Progression Agency builds with all of the technologies compared and has no affiliate relationship with any of them.

How people search for dark mode website designHow people search for dark mode website design
Measured demand is small; this page exists to answer the implementation and contrast questions developers and buyers put to AI assistants.

What dark mode website design means

Dark mode website design is the design and build of a website that presents a dark theme, either as its only theme (a dark website by brand choice, common for studios, games, audio, developer tools and luxury products) or as one of two themes that follow the visitor’s system setting and can be toggled. The work is mostly color systems, contrast, imagery and engineering: which surfaces are which shade, how text stays readable, how logos, photos, charts and third-party embeds behave on a dark background, and how the browser knows which theme to paint before the first frame.

The reason to do it properly is that visitors have chosen. Operating systems expose a dark preference that browsers pass to the site through the prefers-color-scheme media feature, and a site that ignores it feels wrong to the person who set it, while a site that inverts colors carelessly produces gray-on-black text nobody can read. Dark mode intersects with UI/UX design, motion design and accessibility; this page covers the website-specific decisions.

Tokens — Semantic. Designed per theme..
Surfaces — Near-black. Elevation by lightness..
Contrast — WCAG 2.2. Both themes, every token..
Switching — System plus toggle. Choice remembered..
No flash — Pre-paint. Inline script, color-scheme..
Assets — Per theme. Logos, screenshots, charts..

What a dark mode website must get right

The table below is the checklist we design and test against. Every row has broken a real dark theme somewhere.

Dark mode requirements
RequirementWhat it meansWhy it matters
Color tokens for both themesSurface, elevated surface, text, secondary text, border, accent, states, each defined for light and darkOne source of truth; no inverted hacks
Dark gray surfaces, not pure blackA near-black base with lighter elevated surfacesReduces halation and lets depth read
Contrast that passesText at 4.5:1, large text and UI components at 3:1 against their surface in both themesWCAG 2.2 conformance and readability
Desaturated accentsBrand colors lightened or desaturated for dark surfacesSaturated colors vibrate on dark backgrounds
prefers-color-scheme plus a toggleFollow the system by default; let the visitor override and remember itRespects the choice and offers control
No flash of the wrong themeTheme resolved before first paint with an inline script and the color-scheme propertyA white flash on a dark site is the most common complaint
Images, logos and illustrationsAlternate assets or transparent versions; SVGs using currentColorWhite boxes around logos are the second most common complaint
Charts, code and embedsData colors, syntax themes and third-party embeds with dark variants or contained backgroundsEmbeds are where dark themes break
Form controls and scrollbarscolor-scheme set so native controls render darkNative inputs stay light otherwise
Elevation and shadowsLighter surfaces for elevation instead of shadows, which vanish on darkHierarchy survives the switch
Meta theme-color per schemeBrowser chrome matches the theme on mobileThe address bar does not clash
Testing in both themesEvery component and page reviewed in light and dark, at every breakpointNothing ships half-themed

Tokens, not inversions

A dark theme built by inverting the light palette produces the classic failures: pure black backgrounds, blinding white text, shadows that disappear, brand colors that glow. We define semantic color tokens (surface, surface-elevated, text-primary, text-secondary, border, accent, success, warning, danger) and assign values per theme, so components reference meaning rather than hex codes and the dark theme is designed, not derived. In Figma the same tokens live as variable modes; in code they are CSS custom properties switched by a data attribute and by the media query, and the CSS light-dark() function where browser support allows.

Contrast in both directions

Dark themes fail contrast in a different way from light ones: designers pick a gray that looks refined and lands at 3:1 on body text. The WCAG 2.2 contrast minimum is 4.5:1 for normal text and 3:1 for large text, and non-text contrast requires 3:1 for UI components and graphical objects. We check every text and component token against its surface in both themes, and we avoid pure white text on dark surfaces, which passes the ratio and still causes halation for many readers; a slightly dimmed white reads better and still passes.

Respect the system, offer the switch

The default should follow prefers-color-scheme, because the visitor set it on purpose. A visible toggle lets them override for this site, and the choice is stored so it persists. An inline script in the head reads the stored preference or the media query and sets the theme attribute before the stylesheet paints, which is what prevents the white flash; the color-scheme property tells the browser to render native controls, scrollbars and form fields in the matching theme.

Images and embeds are where dark themes break

Logos on white rectangles, product photos with white backgrounds, screenshots of light interfaces, charts with black axes, and third-party widgets that only ship in light are what make a dark theme look unfinished. We produce alternate assets where needed (transparent logos, dark screenshots, chart palettes per theme), use the picture element with a media attribute to serve the right image, render SVG icons with currentColor, and contain embeds that cannot be themed on a surface that makes their light background look intentional.

Dark-only, light-only or both

Theme strategies compared
StrategyFitsTrade-offs
Dark onlyStudios, games, audio and video brands, developer tools, luxury and automotive productsLong-form reading is harder for some; imagery must be produced for dark; print styles need care
Light only with a dark accentMost content and commerce sitesNo dark mode for visitors who set it; least engineering
Both, following the systemProducts, documentation, publishers, SaaS, anything read for long periodsTwo themes to design, test and maintain; the right answer for most sites that go dark
Both, with dark as defaultBrands whose identity is dark but whose content is read at lengthSame cost as both; light must be designed as carefully as dark
Scheduled or ambient switchingRare; apps that follow time of daySurprises visitors; only with an override
Platform fit for dark mode websites (1-5, editorial)Platform fit for dark mode websites (1-5, editorial)
Code-first builds give full control; WordPress and Webflow balance control with editing; templates can only be styled dark.

Platform choices for dark mode websites

Dark mode is easiest on platforms where the design system lives in code. A custom Next.js or Astro build with CSS custom properties (and Tailwind’s dark variant where used) gives full control over tokens, the pre-paint script and per-theme assets. A custom WordPress block theme supports the same through theme.json and custom properties, with care for plugins that inject light styles. Webflow supports dark mode through variable modes and a small script for the toggle. Squarespace and Wix templates can be styled dark but do not follow the system preference without custom code and cannot serve per-theme assets cleanly. Compare the general trade-offs in Webflow vs WordPress and Astro vs Next.js.

Platform fit for dark mode websites
PlatformBest forWatch out for
Next.js or Astro with CSS custom propertiesProducts, docs, publishers and brands that want both themes done fullyNeeds a developer for layout changes
Custom WordPress block themeContent sites with both themes and an editor who adds pagesPlugins and embeds that inject light styles
Webflow with variable modesDesign-led sites and studios, dark-only or bothToggle and pre-paint script are custom; per-theme images need care
Squarespace or Wix template styled darkA dark-only brand site on a budgetNo system-preference switching without custom code; embeds stay light

Engineering details we handle

Dark mode implementation checklist
ItemImplementationResult
Theme resolutionInline script reads stored choice, then prefers-color-scheme, sets a data attribute on the html element before CSS paintsNo flash of the wrong theme
Token switchingCSS custom properties under the data attribute and the media query; light-dark() where supportedOne stylesheet, two themes
Native controlscolor-scheme: light dark on the root, and a meta color-scheme tagInputs, scrollbars and selects match the theme
Browser chromeTwo meta theme-color tags with media attributesMobile address bar matches
Imagespicture element with media=”(prefers-color-scheme: dark)” sources, or CSS-swapped assets keyed to the attributeRight image per theme, including the manual override
Icons and illustrationsSVG with currentColor and token-based fillsRecolor automatically
ChartsPalette tokens per theme, gridlines from the border tokenReadable data in both
Code blocksSyntax theme per color schemeDocs and developer sites read well
Third-party embedsDark variants where offered (maps, video players, forms); contained surfaces otherwiseNo white islands
Email and printDark-safe transparent logos in email; print stylesheet forces lightAssets survive outside the browser
Motion and reduced motionTheme transitions short and disabled under prefers-reduced-motionSwitching does not distract
TestingBoth themes at every breakpoint, contrast audit per token, screenshot diff per componentNothing ships half-themed

Dark mode and page speed

A dark theme adds no weight when it is tokens in one stylesheet; it adds weight when it doubles the images. We serve per-theme images only where the asset actually differs, keep the pre-paint script under a kilobyte and inline, and check Core Web Vitals in both themes, because a dark theme that loads a second hero image is slower in exactly the mode users chose for comfort.

Planning this kind of website?Send the brief and we return a written scope, a fixed price and a page-by-page plan before any design starts.

Get a website proposal

SEO and AI search for dark mode websites

Dark mode is invisible to search engines when it is done with CSS: the same HTML, the same content, the same URLs in both themes. What affects search is what dark themes tend to break: contrast (an accessibility signal and a usability one), speed (doubled assets), and screenshots and thumbnails in social previews and AI answers, which should be produced from the theme the brand wants to be seen in. AI assistants asked “how do I implement dark mode on a website” quote pages that state the steps plainly, which is why this page lists them. For the design-systems context, see SaaS website design and minimalist website design, where dark themes are most often requested.

  • One HTML document, one URL, two themes: never separate dark and light pages.
  • Open Graph and social images produced in the brand’s primary theme.
  • Contrast audits in both themes, since accessibility issues surface in reviews and rankings.
  • Per-theme images only where the asset differs, to keep Core Web Vitals equal in both modes.
  • Structured data unchanged by theme; the switch is presentation only.
  • A written implementation page (like this one) that answers the questions developers and buyers ask assistants.

When a dark website is the wrong choice

Long-form reading in bright environments, print-heavy content, sites with many light product photos that cannot be reshot, and audiences that skew older and read at length are the cases where a dark-only site costs more than its style earns. In those cases we recommend both themes following the system, or a light site with a dark accent section for the moments that want drama.

How we build a dark mode websiteHow we build a dark mode website
The asset inventory decides most of the schedule; gather it at discovery.

How we design and build a dark mode website

  1. Discovery: whether dark is the brand’s only theme or one of two, the platform, the asset inventory (logos, photos, screenshots, charts, embeds) and the components in use.
  2. Token audit: the current palette and its contrast, the semantic tokens the site needs, and the brand colors that must be adapted for dark surfaces.
  3. Design: both themes in Figma with variable modes, every component in both, elevation by surface rather than shadow, contrast checked per token.
  4. Assets: transparent logos, dark screenshots, per-theme illustrations and chart palettes, embed strategy per third party.
  5. Build: tokens as CSS custom properties, the pre-paint script, color-scheme and theme-color meta, the toggle with storage, per-theme images, embed containment.
  6. QA: every page and component in both themes at every breakpoint, contrast audit, screenshot diffs, reduced-motion check, print check.
  7. Launch: social images in the primary theme, Core Web Vitals in both modes, documentation for editors on adding assets that work in both themes.
  8. After launch: new components enter through the token system; quarterly contrast and screenshot audits.

What dark mode website design costs

Planning figures for US projects, driven by the number of components and pages, the asset inventory that must be reproduced for dark, the platform, and whether the work extends into a product interface. Website development cost explains the underlying build economics.

Dark mode website cost ranges (planning figures)
ScopeRangeTimeline
Add a dark theme to an existing site: tokens, toggle, pre-paint script, contrast audit, asset fixes, up to 30 pages$4,000-$12,0003-5 weeks
New site designed for both themes, 20-40 pages, per-theme assets$12,000-$25,0006-8 weeks
New site with docs or publishing volume, charts, code blocks, many embeds$25,000-$40,0008-10 weeks
Design-system-level dark mode across marketing site and product interface$40,000-$120,0003-6 months
Asset production (dark screenshots, illustrations, chart palettes)$1,000-$8,000 by inventoryPer project
Maintenance and quarterly theme audits$100-$800 per monthOngoing
A typical dark mode timelineA typical dark mode timeline
Asset production runs alongside design; embed strategy is the usual surprise.

Dark mode website design by site type

Studios, agencies and portfolios

Dark-only is common and works when the work itself is the light on the page: full-bleed imagery, restrained type, and case studies that read in short passages. See portfolio website design.

Developer tools, SaaS and documentation

Both themes following the system, with code blocks themed per scheme, dark screenshots of the product, and a toggle in the header; the docs are read for hours, so contrast and type size matter most.

Games, audio, film and entertainment

Dark-only with motion and video; the challenge is Core Web Vitals under heavy media and keeping text readable over imagery. Pairs with 3D website design and motion work.

Luxury, automotive and product launches

Dark as the default with a light theme for long-form pages; product photography shot for dark surfaces; restraint in accents. See luxury website design.

Publishers and long-form content

Both themes following the system, an off-white and a near-black rather than pure values, larger measure and line height in dark, and images with captions that read in both.

Ecommerce

Usually light with an optional dark theme, because product photos are shot on white; a dark theme requires a contained product-image surface and careful cart and checkout theming.

What to gather before a dark mode website project starts

  • Brand guidelines and the palette with any existing dark-surface guidance.
  • Logo files in transparent and single-color versions, or the source files to produce them.
  • The component inventory or design system, in Figma where it exists.
  • Photography and illustration inventory, noting which assets have white backgrounds.
  • Screenshots of the product or interface in both themes if the product has them.
  • Third-party embeds in use: maps, video, forms, chat, analytics, ads.
  • Charts and data visualizations and how they are produced.
  • The platform and theme or codebase, with access.
  • Analytics on device and OS mix, which suggests how many visitors have dark set.
  • Accessibility requirements and any prior audit.

Measuring a dark mode website after launch

  • Share of sessions in each theme, from a lightweight event on theme resolution.
  • Toggle use: how many visitors override the system preference, and in which direction.
  • Contrast audit results per token in both themes, repeated quarterly.
  • Core Web Vitals per theme, especially image weight in dark.
  • Engagement and reading time in each theme for long-form pages.
  • Support and feedback mentions of readability or white flashes, which should be zero.
  • Screenshot diffs after each release to catch half-themed components.
  • Conversion rates per theme on key pages, to catch a theme that hides a call to action.

Mistakes that make dark themes look unfinished

  • Inverting the light palette instead of designing tokens for dark surfaces.
  • Pure black backgrounds with pure white text, which glare and flatten depth.
  • Saturated brand colors used unchanged, which vibrate on dark.
  • Body text at 3:1 because the gray looked refined.
  • A white flash on load because the theme is resolved after the stylesheet paints.
  • Logos and product photos on white rectangles.
  • Native form controls, scrollbars and selects still rendering light.
  • Shadows for elevation, which vanish on dark surfaces.
  • Third-party embeds left as white islands.
  • No toggle, or a toggle that does not remember the choice.
  • Social preview images produced in the wrong theme.

Template, theme add-on or agency: which fits

Ways to get a dark mode website
OptionCostFits whenLimits
Dark template on a builder$500-$3,000 plus subscriptionA dark-only brand site with few assetsNo system switching; embeds and images stay light
Dark mode plugin or add-on$100-$2,000A quick dark option on a WordPress siteInverts colors; contrast and assets are not designed
Freelance developer adds a theme$2,000-$6,000A small site with a design system already in codeAsset production and testing are usually skipped
Agency dark theme on an existing site$4,000-$12,000Sites that want both themes done properlyNeeds the asset inventory from your side
Agency new build or design-system level$12,000-$120,000Brands, products and publishers where dark mode is part of the identityOngoing token discipline as components are added
3-5 wks — Add a theme. To an existing site..
$4k-$12k — Add-a-theme range. Planning figures..
4.5:1 — Text contrast. WCAG 2.2 minimum..
1 — Stylesheet. Two themes..
Quarterly — Theme audits. Contrast and diffs..
Owned — By you. Tokens, assets, code..

How Progression Agency builds dark mode websites

We design and build dark mode websites from New York City for brands, products and publishers across the United States and worldwide: token-based color systems, both themes designed and tested, pre-paint theme resolution, per-theme assets and embed strategies, contrast audits to WCAG 2.2, and the UI/UX design and maintenance that follow. Related: motion design websites, minimalist website design, ADA compliant website design and front-end development.

Planning a dark mode website?

Send us the brand, the platform and a few pages; we reply with a token plan, an asset list and a fixed price.

Get a dark mode website proposal

Frequently asked questions

What is dark mode website design?
The design and build of a website with a dark theme, either as the only theme or as one of two that follow the visitor’s system setting, built from color tokens with contrast, imagery, embeds and theme switching handled properly.
Should a website have dark mode?
Sites read for long periods (docs, products, publishers) benefit most from both themes following the system; dark-only suits studios, entertainment and luxury brands; content and commerce sites with white product photography usually stay light.
How much does dark mode website design cost?
As planning figures, $4,000-$12,000 to add a dark theme to an existing site, $12,000-$40,000 for a new site designed for both themes, and $40,000-$120,000 for a design-system-level dark mode across site and product; maintenance $100-$800 a month.
How long does it take?
3-5 weeks to add a dark theme to an existing site, 6-10 weeks for a new dual-theme site, 3-6 months at design-system level.
What is prefers-color-scheme?
A CSS media feature that reports whether the visitor’s operating system is set to light or dark, so the site can follow the preference automatically.
Should the site follow the system or offer a toggle?
Both: follow prefers-color-scheme by default, offer a visible toggle to override for this site, and store the choice.
How do you prevent the white flash on load?
An inline script in the head reads the stored choice or the media query and sets the theme attribute before the stylesheet paints; the color-scheme property handles native controls.
Should dark backgrounds be pure black?
No. Near-black grays with lighter elevated surfaces reduce glare and let hierarchy read; pure white text on pure black causes halation for many readers.
What contrast does dark mode need?
WCAG 2.2 requires 4.5:1 for normal text, 3:1 for large text and 3:1 for UI components and graphics, in both themes; we check every token against its surface.
How do you handle logos and images on a dark website?
Transparent or single-color logos, per-theme screenshots and illustrations served with the picture element, SVG icons using currentColor, and product photos on a contained surface.
What about third-party embeds?
We use dark variants where the provider offers them (maps, video players, forms) and contain the rest on a surface that makes a light embed look intentional.
Does dark mode affect SEO?
Not directly; it is CSS on the same HTML and URLs. It affects search indirectly through contrast, speed and the theme social preview images are produced in.
Does dark mode make a website faster or slower?
Neither when it is tokens in one stylesheet; it gets slower when images are doubled, so per-theme assets are served only where they differ.
Can dark mode be added to an existing WordPress or Webflow site?
Yes. WordPress block themes take tokens through theme.json and custom properties; Webflow through variable modes with a small toggle script; both need asset fixes and a contrast audit.
Do you design both themes in Figma?
Yes, with variable modes so every component exists in both themes and the tokens match the code.
What is the CSS light-dark() function?
A CSS function that returns one of two colors depending on the active color scheme, which simplifies token definitions where browser support allows.
How do charts and code blocks work in dark mode?
Chart palettes and gridlines come from tokens per theme, and code blocks use a syntax theme per color scheme.
How is a dark mode site tested?
Every page and component in both themes at every breakpoint, a contrast audit per token, screenshot diffs, reduced-motion and print checks.
Will visitors be able to print a dark website?
Yes. A print stylesheet forces the light theme and dark-safe logos, so printed pages do not waste ink or lose text.
Where is Progression Agency and who do you serve?
New York City, serving brands, products and publishers across the United States and worldwide.
How do we start?
Send the brand, the platform and a few pages; we return a token plan, an asset list and a fixed price.

Planning this kind of website?Send the brief and we return a written scope, a fixed price and a page-by-page plan before any design starts.

Get a website proposal

Get a free marketing proposal

Tell us what you are trying to grow and we will come back with a plan, not a pitch deck. Same-day reply on weekdays.

Privacy Preferences
When you visit our website, it may store information through your browser from specific services, usually in form of cookies. Here you can change your privacy preferences. Please note that blocking some types of cookies may impact your experience on our website and the services we offer.
Contact Us