SwiftUI Color.secondary

.secondary
Secondary Foreground Text & Subtitles
Adaptive System Token•iOS 13.0+, macOS 10.15+, tvOS 13.0+, watchOS 6.0+, visionOS 1.0+

Complete technical specification and developer reference for Secondary in Apple's SwiftUI design system. In light appearance, it resolves to HEX rgba(0, 0, 0, 0.5); in dark appearance, it dynamically adapts to HEX rgba(255, 255, 255, 0.55). Features wide-gamut Display P3 values, UIKit bridge (UIColor.secondaryLabel), AppKit bridge (NSColor.secondaryLabelColor), WCAG contrast audit, and Xcode drop-in initializers.

Light Modergba(0, 0, 0, 0.5)
Dark Modergba(255, 255, 255, 0.55)
Secondary Color Preview

SwiftUI's secondary semantic foreground color.

Color.secondary
Copy:
Dynamic Asset
Secondary Foreground Text & Subtitles
iOS 13.0+, macOS 10.15+, tvOS 13.0+, watchOS 6.0+, visionOS 1.0+
Initializers & Color Spaces
Color(r:g:b:)Color(red: 0.000, green: 0.000, blue: 0.000)
Color(r:g:b:op:)Color(red: 0.000, green: 0.000, blue: 0.000, opacity: 0.50)
Color(hue:sat:bri:)HSBColor(hue: 0.000, saturation: 0.000, brightness: 0.000, opacity: 0.50)
Color(.displayP3)Wide GamutColor(.displayP3, red: 0.000, green: 0.000, blue: 0.000, opacity: 0.50)
Color(.sRGB)Color(.sRGB, red: 0.000, green: 0.000, blue: 0.000, opacity: 0.50)
Color(hex:)ExtensionColor(hex: "rgba(0, 0, 0, 0.5)")
#colorLiteralXcode#colorLiteral(red: 0.000, green: 0.000, blue: 0.000, alpha: 0.50)
Color(uiColor:)iOSColor(uiColor: UIColor(red: 0.000, green: 0.000, blue: 0.000, alpha: 0.50))
Active HEX: rgba(0, 0, 0, 0.5)P3 R: 0.000 G: 0.000 B: 0.000

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 Codergba(0, 0, 0, 0.5)rgba(255, 255, 255, 0.55)Color(hex: "rgba(0, 0, 0, 0.5)")
sRGB (0–255)rgba(0, 0, 0, 0.5)rgba(255, 255, 255, 0.55)(r: 0.000, g: 0.000, b: 0.000)
Display P3 (Wide Gamut)P3 (0.000, 0.000, 0.000)P3 (1.000, 1.000, 1.000)Color(.displayP3, ...)
HSL / HSBhsla(0, 0%, 0%, 0.5)hsla(0, 0%, 100%, 0.55)Color(hue:sat:bri:)
Platform BridgeUIKit: UIColor.secondaryLabelAppKit: NSColor.secondaryLabelColorColor(uiColor:) / Color(nsColor:)

Light Appearance

Light Theme
HEX Code
rgba(0, 0, 0, 0.5)
RGB (0–255)
rgba(0, 0, 0, 0.5)
HSL
hsla(0, 0%, 0%, 0.5)
Normalized Swift Literal:
(r: 0.000, g: 0.000, b: 0.000)

Dark Appearance

Dark Theme
HEX Code
rgba(255, 255, 255, 0.55)
RGB (0–255)
rgba(255, 255, 255, 0.55)
HSL
hsla(0, 0%, 100%, 0.55)
Normalized Swift Literal:
(r: 1.000, g: 1.000, b: 1.000)

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

Live UI Component Sandbox

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

Dynamic Headline in Secondary

.foregroundStyle(.secondary)

Platform Implementation Snippets

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

SwiftUI (Swift 5.9+)
// Standard SwiftUI Usage
Text("Hello, Apple")
    .foregroundStyle(Color.secondary)

// Background & Shape Fill
RoundedRectangle(cornerRadius: 16)
    .fill(Color.secondary)
    .frame(width: 200, height: 50)

// Prominent Action Button
Button("Confirm Action") {
    // Action
}
.buttonStyle(.borderedProminent)
.tint(Color.secondary)

WCAG 2.1 Accessibility Contrast Audit

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

Light Mode (rgba(0, 0, 0, 0.5))on White (#FFF)
Contrast Ratio:3.95:1
Normal Text (4.5:1 AA): Fail
Dark Mode (rgba(255, 255, 255, 0.55))on Dark (#1C1C1E)
Contrast Ratio:5.98:1
Normal Text (4.5:1 AA): Pass (AA)

Recommended HIG Use Cases

  • Subtitles, section headers, and captions
  • Timestamps, file sizes, and metadata badges
  • Inactive or supporting icons

Anti-Patterns to Avoid

  • Primary call-to-action button labels
  • Long essential reading material on low-brightness displays

Browse More SwiftUI Colors

Quickly jump to other Apple system colors and semantic tokens.

All 18 Colors →

Frequently Asked Questions

How do I use Color.secondary in SwiftUI?

In SwiftUI, apply the color directly using view modifiers like .foregroundStyle(.secondary), .tint(.secondary), or .background(.secondary). You can also instantiate it via Color.secondary.

What is the HEX code for SwiftUI Secondary in light and dark mode?

In light appearance, SwiftUI Secondary resolves to rgba(0, 0, 0, 0.5). In dark appearance, it automatically adapts to rgba(255, 255, 255, 0.55).

What is the UIKit and AppKit equivalent of SwiftUI Color.secondary?

The UIKit equivalent is UIColor.secondaryLabel (accessible in SwiftUI via Color(uiColor: .secondaryLabel)). The AppKit equivalent is NSColor.secondaryLabelColor (accessible via Color(nsColor: .secondaryLabelColor)).

Does SwiftUI Color.secondary adapt automatically to dark mode?

Yes, Color.secondary is a dynamic Apple system token that automatically updates between light (rgba(0, 0, 0, 0.5)) and dark (rgba(255, 255, 255, 0.55)) appearances when the system appearance changes.

What is the Display P3 and sRGB value of Color.secondary?

Color.secondary uses resolved sRGB values (rgba(0, 0, 0, 0.5) in light, rgba(255, 255, 255, 0.55) in dark) and supports wide color gamut Display P3 coordinates for high-fidelity rendering on Apple Retina displays.