iOS Secondary System Fill

UIColor.secondarySystemFill
Interactive & Content Shapes
Adaptive System Token•iOS 13.0+, iPadOS 13.0+, macCatalyst 13.0+

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

Light Mode#78788028
Dark Mode#78788051
Secondary System Fill Color Preview

A secondary fill color for medium emphasis shapes.

ColorUIColor.secondarySystemFill
Copy:
Dynamic Asset
Interactive & Content Shapes
iOS 13.0+, iPadOS 13.0+, macCatalyst 13.0+
Initializers & Color Spaces
Color(r:g:b:)Color(red: 0.471, green: 0.471, blue: 0.502)
Color(r:g:b:op:)Color(red: 0.471, green: 0.471, blue: 0.502, opacity: 0.16)
Color(hue:sat:bri:)HSBColor(hue: 0.667, saturation: 0.063, brightness: 0.502, opacity: 0.16)
Color(.displayP3)Wide GamutColor(.displayP3, red: 0.471, green: 0.471, blue: 0.498, opacity: 0.16)
Color(.sRGB)Color(.sRGB, red: 0.471, green: 0.471, blue: 0.502, opacity: 0.16)
Color(hex:)ExtensionColor(hex: "#78788028")
#colorLiteralXcode#colorLiteral(red: 0.471, green: 0.471, blue: 0.502, alpha: 0.16)
Color(uiColor:)iOSColor(uiColor: UIColor(red: 0.471, green: 0.471, blue: 0.502, alpha: 0.16))
Active HEX: #78788028P3 R: 0.471 G: 0.471 B: 0.498

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#78788028#78788051Color(hex: "#78788028")
sRGB (0–255)rgba(120, 120, 128, 0.157)rgba(120, 120, 128, 0.318)(r: 0.471, g: 0.471, b: 0.502)
Display P3 (Wide Gamut)P3 (0.471, 0.471, 0.498)P3 (0.471, 0.471, 0.498)Color(.displayP3, ...)
HSL / HSBhsla(240, 3%, 49%, 0.157)hsla(240, 3%, 49%, 0.318)Color(hue:sat:bri:)
Platform BridgeUIKit: UIColor.secondarySystemFillAppKit: NSColor.secondarySystemFillColor(uiColor:) / Color(nsColor:)

Light Appearance

Light Theme
HEX Code
#78788028
RGB (0–255)
rgba(120, 120, 128, 0.157)
HSL
hsla(240, 3%, 49%, 0.157)
Normalized Swift Literal:
(r: 0.471, g: 0.471, b: 0.502)

Dark Appearance

Dark Theme
HEX Code
#78788051
RGB (0–255)
rgba(120, 120, 128, 0.318)
HSL
hsla(240, 3%, 49%, 0.318)
Normalized Swift Literal:
(r: 0.471, g: 0.471, b: 0.502)

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 Fill.colorset/
Includes Light + Dark Modes
Contents.json
{
  "colors": [
    {
      "color": {
        "color-space": "srgb",
        "components": {
          "red": "0.471",
          "green": "0.471",
          "blue": "0.502",
          "alpha": "0.157"
        }
      },
      "idiom": "universal"
    },
    {
      "appearances": [
        {
          "appearance": "luminosity",
          "value": "dark"
        }
      ],
      "color": {
        "color-space": "srgb",
        "components": {
          "red": "0.471",
          "green": "0.471",
          "blue": "0.502",
          "alpha": "0.318"
        }
      },
      "idiom": "universal"
    }
  ],
  "info": {
    "author": "xcode",
    "version": 1
  }
}

Live UI Component Sandbox

Preview Color.secondary system fill 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 Fill accents.

Dynamic Headline in Secondary System Fill

.foregroundStyle(UIColor.secondarySystemFill)

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.secondarySystemFill

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

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

WCAG 2.1 Accessibility Contrast Audit

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

Light Mode (#78788028)on White (#FFF)
Contrast Ratio:1.20:1
Normal Text (4.5:1 AA): Fail
Dark Mode (#78788051)on Dark (#1C1C1E)
Contrast Ratio:1.48:1
Normal Text (4.5:1 AA): Fail

Recommended HIG Use Cases

  • Slider tracks, stepper backgrounds, and progress bars
  • Input fields, search bar backdrops, and tag pills
  • Selected row overlays and subtle container wells

Anti-Patterns to Avoid

  • Primary body text and headlines
  • Primary call-to-action button fills

Frequently Asked Questions

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

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

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

In light appearance, Secondary System Fill resolves to #78788028. In dark appearance, it automatically adapts to #78788051.

How do I bridge UIColor.secondarySystemFill into SwiftUI?

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

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

Yes, UIColor.secondarySystemFill 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.