Reddit now provides Light, Dark, and Auto display modes on the web, including mobile web in Safari. Auto follows the iPhone’s system appearance; Reddit says this became the default web behavior in February 2026 and is also available when the reader is logged out. If native Dark works across the feed and comment pages you use, leave it in control. A Safari extension is mainly useful when you want one palette across sites, need a Reddit-only override, or encounter a surface that does not follow Reddit’s chosen mode.
Reddit is a tougher adaptation target than its mostly neutral feed first suggests. A single session can move through feeds, post detail pages, nested comments, image viewers, video controls, spoilers, menus, login prompts, and communities with their own colors. The page also keeps inserting content while the reader scrolls.
Reddit changed how web appearance follows the system
Reddit’s February 4, 2026 web update says Display Mode can synchronize with the operating system on both desktop and mobile web. Its Auto option is the new default, and the preference is intended to persist for logged-out readers as well. Reddit’s accessibility overview likewise lists Light, Dark, and system-following modes for reddit.com.
That means an iPhone in Dark Appearance should normally produce native Reddit Dark when Display Mode is Auto. If the site remains light, check Reddit’s own Display Mode before assuming Safari failed to pass the preference. A fixed Light choice is allowed to remain light even when iOS is dark.
Current Reddit and Old Reddit are separate tests
This guide covers the current reddit.com experience in mobile Safari. It does not treat old.reddit.com, the Reddit iOS app, embedded Reddit posts, moderator tools, or third-party clients as the same surface.
Old Reddit is not merely the current site with older typography. It has a separate document structure, community stylesheets, and its own compatibility rules. A result from the current comment page says little about a heavily customized Old Reddit community. Old Reddit should get a separate field note if enough people are still searching for it.
A post thread exposes more than the feed
The modern site uses many CSS custom properties for background layers, text strengths, borders, buttons, selected states, and community surfaces. It also mixes regular document elements with custom components that are created only when needed. A successful dark theme must preserve those roles as content moves from the feed into a post and its comments.
Feed cards and community identity
Feed cards contain voting controls, labels, promoted or recommendation surfaces, community names, timestamps, buttons, and several levels of secondary text. Community pages can add banners, icons, flair colors, and other identity cues. Making every card the same dark gray would reduce obvious errors, but it would also flatten navigation and selection states.
Reddit has been expanding community color theming with accessibility guardrails. An extension should therefore avoid treating every community accent as a background that needs to be neutralized. The page’s structural surfaces can move into the chosen palette while identity colors remain recognizable and readable.
Images, video, GIFs, and spoilers
User media should keep its original colors. This includes photos, video, animated GIFs, screenshots, memes, and images whose white background is part of the post. Spoilers are different: hidden text and its reveal state are interface behavior, not media. Both states must remain legible without exposing concealed content through an accidental selection or contrast change.
Reddit’s own video controls introduce another layer of progress bars, buffered ranges, overlays, and temporary playback surfaces. The media layer separates the video from the page theme and uses focused compatibility rules for controls that do not survive a general transformation. The general boundary is documented in How Dark Mode Extensions Protect Images and Video.
Comment trees, overlays, and infinite scroll
Nested comments depend on subtle indentation, thread guides, collapse buttons, muted metadata, and selected or highlighted states. Post detail can appear as a new route or an overlay-like surface depending on the current Reddit experience. Menus and login prompts may be mounted elsewhere in the document and appear only after a tap.
Below the first screen, infinite scrolling introduces new cards after the initial render. A dark feed that breaks when the next batch arrives is not a complete result. The renderer has to observe new nodes and styles without repainting the entire page on every mutation.
Detection and repair solve different problems
First decide whether Reddit is already dark
The current detector configuration watches the root of reddit.com and new.reddit.com for Reddit’s dark-theme class. When that marker is active and the user has not asked for an override, the extension can leave the native theme alone.
This is particularly useful with Auto. The domain is not permanently classified as light or dark; the same URL can change when iOS changes appearance or when Display Mode is switched. Watching the current page state is more accurate than assuming that a dark system preference means Reddit followed it.
A class marker is still site-owned implementation detail. Reddit can revise it, and a specialized tool can use another theme shell. The detector combines the hint with general page evidence and retains a per-site override for the cases that do not fit the default. How a Safari Extension Detects Native Dark Mode explains why preference, declared support, and current appearance are separate facts.
Then repair the light rendering path
The current compatibility resources contain a substantial Reddit block, but its size should not be read as a quality score. It reflects a site that has changed architectures and uses many semantic variables and custom components.
The dynamic rules preserve distinctions such as the page canvas, card backgrounds, comment overlays, secondary surfaces, buttons, search chips, menus, comment trees, and newer custom elements. A few visual assets and player controls receive narrow treatment where their original colors need protection. Separate filter and static-theme resources handle the needs of those engines; they are not all active in the normal dynamic path.
These rules repair specific failures after the general renderer has done most of the work. They do not replace testing. A selector can continue to match while the component behind it changes meaning, or a new dialog can appear without any existing rule. That is why the field test below records specific surfaces and conditions instead of treating “Reddit support” as a timeless yes-or-no claim.
The distinction between general rendering and a site repair is covered in How Dynamic Dark Mode Rendering Rewrites a Web Page.
The Reddit post and comment field test
The matched captures use one public r/sveltejs post in mobile Safari. The post contains a video player, a community icon, a Join button, several text levels, and a long body. A second position records a nested comment thread with vote controls, an OP label, reply actions, thread guides, sorting, and comment search.
| Test detail | Recorded state |
|---|---|
| Device | iPhone 16 |
| Operating system | iOS 26.5 |
| Browser | Safari |
| Website surface | Public Reddit post detail and nested comments |
| Compared states | Reddit Light, Reddit native Dark, and Light adapted by a Safari dark extension |
| Last verified | July 14, 2026 |
Reddit Light
Reddit native Dark
Extension-rendered dark
The page shell changes while the media keeps its original colors. The title, community metadata, secondary body text, borders, and controls retain distinct roles in both dark results. That matters more than making every surface the same shade.
The comment position tests a different part of the application. It has fewer large media blocks and more subtle state: thread depth, muted timestamps, vote counts, the OP marker, reply actions, input borders, and the selected sorting control.
Comments in Reddit Light
Comments in native Dark
Comments with extension rendering
The thread guides remain visible without becoming brighter than the comments they organize. User avatars and the blue OP label keep their identity colors, while secondary metadata and inactive controls stay quieter than the comment text.
This is still a narrow result. It verifies one post detail, one paused video state, and one nested comment position. It does not verify the home feed, image viewer, spoilers, open menus, login prompts, moderator tools, infinite-scroll behavior, or Old Reddit.
If Reddit remains bright or loses contrast
Start in Reddit’s Display Mode. Choose Dark for a fixed native theme or Auto to follow iOS. If the page remains light after a refresh, check whether website data or a private session has reset the logged-out preference.
To use an extension theme instead, return Reddit to Light, confirm Safari has granted the extension access to reddit.com, and inspect Reddit’s per-site setting in the companion app. If native Dark is active and “respect site dark mode” is enabled, the extension standing down is expected behavior rather than a failure.
When only one surface is wrong, record the surface instead of describing Reddit as a whole: feed, post detail, comment tree, image viewer, video player, menu, or login prompt. Also note whether the URL is current Reddit or Old Reddit. Those details distinguish a native-site regression from a renderer issue and make a narrow compatibility repair possible.
The Safari access sequence is covered in How to Enable Dark Mode for Websites in Safari. Native Reddit Dark or Auto should remain the first option. An extension is useful when a consistent alternative and per-site control are wanted.