iOS Secondary System Background

UIColor.secondarySystemBackground
Layout Canvas & Container Surfaces
Adaptive System Token•iOS 13.0+, iPadOS 13.0+, macCatalyst 13.0+

Complete technical specification and developer reference for Secondary System Background in Apple's iOS & iPadOS design system. In light appearance, it resolves to HEX #F2F2F7; in dark appearance, it dynamically adapts to HEX #1C1C1E. Features wide-gamut Display P3 values, UIKit bridge (UIColor.secondarySystemBackground), AppKit bridge (NSColor.underPageBackgroundColor), WCAG contrast audit, and Xcode drop-in initializers.

Light Mode#F2F2F7
Dark Mode#1C1C1E
Secondary System Background Color Preview

A background color for grouped content.

ColorUIColor.secondarySystemBackground
Copy:
Dynamic Asset
Layout Canvas & Container Surfaces
iOS 13.0+, iPadOS 13.0+, macCatalyst 13.0+
Initializers & Color Spaces
Color(r:g:b:)Color(red: 0.949, green: 0.949, blue: 0.969)
Color(r:g:b:op:)Color(red: 0.949, green: 0.949, blue: 0.969, opacity: 1.00)
Color(hue:sat:bri:)HSBColor(hue: 0.667, saturation: 0.020, brightness: 0.969, opacity: 1.00)
Color(.displayP3)Wide GamutColor(.displayP3, red: 0.949, green: 0.949, blue: 0.969, opacity: 1.00)
Color(.sRGB)Color(.sRGB, red: 0.949, green: 0.949, blue: 0.969, opacity: 1.00)
Color(hex:)ExtensionColor(hex: "#F2F2F7")
#colorLiteralXcode#colorLiteral(red: 0.949, green: 0.949, blue: 0.969, alpha: 1.00)
Color(uiColor:)iOSColor(uiColor: UIColor(red: 0.949, green: 0.949, blue: 0.969, alpha: 1.00))
Active HEX: #F2F2F7P3 R: 0.949 G: 0.949 B: 0.969

Technical Color Specifications

Exact resolved HEX codes, sRGB 8-bit components, HSL, and normalized Swift floating-point decimals for Light and Dark modes.

Color Metric / SpaceLight AppearanceDark AppearanceSwift Code Literal
HEX Code#F2F2F7#1C1C1EColor(hex: "#F2F2F7")
sRGB (0–255)rgb(242, 242, 247)rgb(28, 28, 30)(r: 0.949, g: 0.949, b: 0.969)
Display P3 (Wide Gamut)P3 (0.949, 0.949, 0.969)P3 (0.110, 0.110, 0.118)Color(.displayP3, ...)
HSL / HSBhsl(240, 24%, 96%)hsl(240, 3%, 11%)Color(hue:sat:bri:)
Platform BridgeUIKit: UIColor.secondarySystemBackgroundAppKit: NSColor.underPageBackgroundColorColor(uiColor:) / Color(nsColor:)

Light Appearance

Light Theme
HEX Code
#F2F2F7
RGB (0–255)
rgb(242, 242, 247)
HSL
hsl(240, 24%, 96%)
Normalized Swift Literal:
(r: 0.949, g: 0.949, b: 0.969)

Dark Appearance

Dark Theme
HEX Code
#1C1C1E
RGB (0–255)
rgb(28, 28, 30)
HSL
hsl(240, 3%, 11%)
Normalized Swift Literal:
(r: 0.110, g: 0.110, b: 0.118)

Drop-In Developer Snippets

Ready-to-paste code blocks for Xcode asset catalogs and Swift files.

Xcode Location: Save as Contents.json inside Assets.xcassets/Secondary System Background.colorset/
Includes Light + Dark Modes
Contents.json
{
  "colors": [
    {
      "color": {
        "color-space": "srgb",
        "components": {
          "red": "0.949",
          "green": "0.949",
          "blue": "0.969",
          "alpha": "1.000"
        }
      },
      "idiom": "universal"
    },
    {
      "appearances": [
        {
          "appearance": "luminosity",
          "value": "dark"
        }
      ],
      "color": {
        "color-space": "srgb",
        "components": {
          "red": "0.110",
          "green": "0.110",
          "blue": "0.118",
          "alpha": "1.000"
        }
      },
      "idiom": "universal"
    }
  ],
  "info": {
    "author": "xcode",
    "version": 1
  }
}

Live UI Component Sandbox

Preview Color.secondary system background inside standard Apple interface components.

Interactive Controls
Active TagBadge 99+
Toggle Tint
Container & Typography Styling

●SwiftUI Notification

Just now

Demonstrates how Apple designers pair system background tints with dynamic Secondary System Background accents.

Dynamic Headline in Secondary System Background

.foregroundStyle(UIColor.secondarySystemBackground)

Platform Implementation Snippets

Ready-to-use Swift code for SwiftUI, UIKit, and AppKit applications.

UIKit (Swift)
// UIKit (iOS, tvOS, watchOS)
let view = UIView()
view.backgroundColor = UIColor.secondarySystemBackground

// Label Tinting
let label = UILabel()
label.textColor = UIColor.secondarySystemBackground

// Bridging UIKit into SwiftUI
let swiftUIColor = Color(uiColor: .secondarySystemBackground)

WCAG 2.1 Accessibility Contrast Audit

Contrast calculations of Secondary System Background against pure white and iOS OLED dark surfaces.

Light Mode (#F2F2F7)on White (#FFF)
Contrast Ratio:1.12:1
Normal Text (4.5:1 AA): Fail
Dark Mode (#1C1C1E)on Dark (#1C1C1E)
Contrast Ratio:1.00:1
Normal Text (4.5:1 AA): Fail

Recommended HIG Use Cases

  • Root window backgrounds and view controllers
  • Card sheets, modal presentations, and grouped tables
  • Container layout backdrops

Anti-Patterns to Avoid

  • Direct typographic rendering
  • Fine line separators and icons

Frequently Asked Questions

How do I use UIColor.secondarySystemBackground in iOS and iPadOS apps?

In UIKit, assign UIColor.secondarySystemBackground directly to properties like view.backgroundColor, label.textColor, or tintColor. In SwiftUI, bridge it using Color(uiColor: .secondarySystemBackground).

What is the HEX code for iOS Secondary System Background in light and dark mode?

In light appearance, Secondary System Background resolves to #F2F2F7. In dark appearance, it automatically adapts to #1C1C1E.

How do I bridge UIColor.secondarySystemBackground into SwiftUI?

In SwiftUI views on iOS 15+, initialize Color(uiColor: .secondarySystemBackground) to utilize this system color with full appearance dynamism.

Does Secondary System Background adapt automatically to dark appearance in iOS?

Yes, UIColor.secondarySystemBackground is an appearance-aware dynamic UIColor that automatically responds to UITraitCollection changes between light and dark appearances.

Why use UIKit system colors instead of hardcoded hex values?

System colors dynamically adapt to Dark Mode, Accessibility Increase Contrast mode, and future iOS visual refinements without manual color bookkeeping.