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 detailRecorded state
DeviceiPhone 16
Operating systemiOS 26.5
BrowserSafari
Website surfacePublic Reddit post detail and nested comments
Compared statesReddit Light, Reddit native Dark, and Light adapted by a Safari dark extension
Last verifiedJuly 14, 2026

Reddit Light

A public Reddit post with its title, video player, and text body using Reddit's Light appearance in Safari on iPhone

Reddit native Dark

The same public Reddit post using Reddit's own Dark appearance in Safari on iPhone

Extension-rendered dark

Reddit returned to Light and the same public post adapted by a Safari dark mode extension
The same public post in three states. Both dark paths preserve the video frame, player controls, community icon, avatar, and Join button instead of treating them as ordinary page backgrounds.

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

A nested Reddit comment thread using Reddit's Light appearance in Safari on iPhone

Comments in native Dark

The same nested comment thread using Reddit's own Dark appearance in Safari on iPhone

Comments with extension rendering

Reddit returned to Light and the same nested comment thread adapted by a Safari dark mode extension
The same comment thread in three states. The published crop keeps the nested reply and its controls while omitting the unrelated comment below it.

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.