Apple Music

Apple Music's iOS app is the flagship showcase of Apple's own design language — a first-party experience that leans heavily into SF Pro, SF Symbols, s

Back to all styles

A live page in this style is not built yet — the CSS variables and the prompt below are enough to reproduce it.

At a glance

24tokens
13type steps
4radius steps
4pxspacing base

Apple Music, in one page

Apple Music's iOS app is the flagship showcase of Apple's own design language — a first-party experience that leans heavily into SF Pro, SF Symbols, system materials (blurs and vibrancy), and haptics. It exists to do one thing: put album art front and center, wrap it in a light-and-air clean interface, and let you fall into an album. The canvas is pure white (#FFFFFF) in light mode and true black (#000000) in dark — unusually Apple uses the full-contrast black instead of the softer #121212 most other media apps favor, because the Now Playing screen's album-art-derived gradient needs the deepest canvas to pop.

The accent system centers on Apple Music Red (#FA2D48) — sometimes rendered as a slightly warmer brand coral (#FC3C44) depending on the surface. It's the color of the Play button on Now Playing, the Apple Music logomark, and the "Now Playing" indicator on the mini-player. Apple Music is more generous with its accent than Spotify or Netflix are — the red is also used for the scrubber fill, the heart like state, the "Shuffle" toggle when active, and the "Join Apple Music" CTA. The result is a more classically-iOS feel: the red is a first-party accent rather than a single sacred verb, and it plays nicely with the iOS system blue for links and the palette of Album-art-derived colors on the Now Playing screen.

Typography is 100% SF Pro — Apple's native font — at the full spectrum of sizes and weights the system offers. There's no custom typeface; Apple Music leans into SF Pro's built-in optical variants (SF Pro Display at 20pt+, SF Pro Text below). The hierarchy is wide: from giant 34pt large titles on "Listen Now" cards to 11pt tertiary metadata, all rendered in SF Pro weights from 400 to 700. The most expressive type moments are the hero cards on Listen Now (24–34pt bold over album-art hero imagery) and the time-synced lyrics view, where each line of lyrics scales larger as it becomes the current line being sung.

Key Characteristics:

Do's and don'ts

Do

  • Use SF Pro exclusively — Apple Music is Apple's flagship first-party app; resist adding custom fonts
  • Use #000000 as the dark canvas — full-contrast black, not #121212
  • Use 12pt corner radius on album art tiles — larger than most media apps, Apple Music's signature
  • Reserve Apple Music Red (#FA2D48) for the Play button, Now Playing indicator, heart, shuffle active, and scrubber fill
  • Use iOS system materials (.regularMaterial) for nav, tab bar, and mini-player backgrounds
  • Use SF Symbols for every icon — never ship a custom glyph that has an SF Symbol equivalent
  • Respect Dynamic Type at all sizes — Apple Music is one of the best-behaved apps for AX5
  • Extract album-art colors for Now Playing gradient using Core Image
  • Implement time-synced lyrics with word-by-word highlight when lyric data is available
  • Show Dolby Atmos and Lossless badges on supported tracks
  • Use iOS haptics: .soft on Play, .success on heart like, .selection on shuffle / tab
  • Use iOS large-title navigation with scroll-collapse behavior
  • Use system blue #007AFF for inline links (artist names in descriptions), NOT Apple Music red

Don't

  • Don't use a custom font — SF Pro covers every need in Apple Music
  • Don't use #121212 or warmer dark canvases — Apple Music goes full #000000
  • Don't use 6pt corner radius on album art — 12pt is signature, softer
  • Don't use Apple Music Red for secondary actions, borders, or generic accents — use system blue, gray, or label colors
  • Don't roll your own Play button when SF Symbol play.fill exists
  • Don't disable Dynamic Type — Apple Music is a poster-child app for accessibility
  • Don't flatten materials to opaque backgrounds — the translucency is part of the app's identity
  • Don't hide the mini-player during active playback — it's persistent UX
  • Don't use italic text — Apple Music never uses italic; emphasis comes from weight / color / size
  • Don't animate aggressively — iOS motion is subtle, 250–400ms ranges, damping 0.7–0.85
  • Don't show the Dolby Atmos badge on non-Atmos tracks — it's a capability indicator, not a theme
  • Don't use red for the link-to-artist text globally — artist name on album detail IS red, but inline links in description should be system blue

Copy this into your AI builder

Paste it as-is. Every value below was measured from the original site, not guessed.

Assembled from the measured tokens — the source document has no prompt block.

Build a page in the Apple Music design language. Follow the measured tokens below — do not substitute your own palette.

Colors:
- Apple Music Red: #fa2d48
- Apple Music Coral: #fc3c44
- Red Pressed: #d4213b
- Red Dimmed: #fa2d48
- Canvas White: #ffffff
- Surface 1: #f2f2f7
- Surface 2: #ffffff
- Surface 3: #e5e5ea
- Divider: #c6c6c8
- Input Fill: #e5e5ea

Type:
- families: SF Pro, SF Pro Rounded, Fallback Stack, SF Pro Display
- scale: 10, 11, 12, 13, 15, 16, 17, 18, 20
- weights: 400, 500, 600, 700

Shape:
- radius: 8, 10, 22, 24
- elevation: Full-bleed editorial image with 16pt corner radius and a subtle shadow | Top: 240pt album artwork centered with `rgba(0,0,0,0.1)` 0 8 24 shadow | Large album art centered: 340pt × 340pt with `rgba(0,0,0,0.3)` 0 20 40 shadow

Spacing: 4, 10

Rules:
- Use SF Pro exclusively — Apple Music is Apple's flagship first-party app; resist adding custom fonts
- Use `#000000` as the dark canvas — full-contrast black, not `#121212`
- Use 12pt corner radius on album art tiles — larger than most media apps, Apple Music's signature
- Reserve Apple Music Red (`#FA2D48`) for the Play button, Now Playing indicator, heart, shuffle active, and scrubber fill
- Use iOS system materials (`.regularMaterial`) for nav, tab bar, and mini-player backgrounds
- Use SF Symbols for every icon — never ship a custom glyph that has an SF Symbol equivalent

Avoid:
- Don't use a custom font — SF Pro covers every need in Apple Music
- Don't use `#121212` or warmer dark canvases — Apple Music goes full `#000000`
- Don't use 6pt corner radius on album art — 12pt is signature, softer
- Don't use Apple Music Red for secondary actions, borders, or generic accents — use system blue, gray, or label colors
- Don't roll your own Play button when SF Symbol `play.fill` exists
- Don't disable Dynamic Type — Apple Music is a poster-child app for accessibility

Keep every value literal. If a token is given, use that exact value.

The specification

Colour paletteRead the full spec

Primary

  • Apple Music Red (#FA2D48): Primary brand accent — Play button, Now Playing indicator, Shuffle active state, heart liked icon, scrubber fill, section badges like "NEW", links in certain contexts.
  • Apple Music Coral (#FC3C44): Slightly warmer variant — used in alternative marketing surfaces and in some templated album art.
  • Red Pressed (#D4213B): Pressed / active-state variant for red CTAs.
  • Red Dimmed (#FA2D48 at 60% opacity): Inactive heart outline on some surfaces.

Canvas & Surfaces (Light Mode)

  • Canvas White (#FFFFFF): Primary light canvas — Home, Library, Search, Radio.
  • Surface 1 (#F2F2F7): iOS system secondary background — grouped list backgrounds, section cards.
  • Surface 2 (#FFFFFF): Card foreground on secondary background.
  • Surface 3 (#E5E5EA): Tertiary surface — pressed rows, divider-adjacent areas.
  • Divider (#C6C6C8): iOS system separator at 1/3 alpha; 1pt hairline between list rows.
  • Input Fill (#E5E5EA): Search bar fill, text field backgrounds.

Canvas & Surfaces (Dark Mode)

  • Canvas Black (#000000): Primary dark canvas — full-contrast black, unusual for a media app.
  • Surface 1 Dark (#1C1C1E): iOS system secondary dark background — card backgrounds, grouped list.
  • Surface 2 Dark (#2C2C2E): Tertiary — raised cards, sheets.
  • Surface 3 Dark (#3A3A3C): Elevated — context menus, selected row.
  • Divider Dark (#38383A): Hairlines in dark mode.
  • Input Fill Dark (#1C1C1E): Search bar dark fill.

Text (Light Mode)

  • Label Primary (#000000): Track titles, headlines — full iOS .label token.
  • Label Secondary (#3C3C43 at 60% opacity): Subtitles, artist names — iOS .secondaryLabel.
  • Label Tertiary (#3C3C43 at 30% opacity): Timestamps, metadata — iOS .tertiaryLabel.
  • Label Quaternary (#3C3C43 at 18% opacity): Disabled, very low emphasis.

Text (Dark Mode)

  • Label Primary Dark (#FFFFFF): Main text on dark.
  • Label Secondary Dark (#EBEBF5 at 60% opacity): Artist names on dark.
  • Label Tertiary Dark (#EBEBF5 at 30% opacity): Metadata on dark.

Dynamic Album-Art Gradient

  • Now Playing Extracted Gradient: The Now Playing screen background transitions from the dominant color of the album cover through a subtle gradient to a slightly darker variant over ~70% of the viewport
  • Lyrics View Background: Similar extraction, using the album art's secondary color for contrast with the highlighted lyric line
  • Mini-Player Hint: On the mini-player, a very subtle gradient tint pulls from the current track's album art, applied at low opacity

Semantic

  • Dolby Atmos Gold (#D4A857): The distinctive Atmos badge color — a rich metallic gold
  • Lossless Silver (#8E8E93): The "Lossless" quality badge
  • iOS System Blue (#007AFF): Links to artists, albums from inline text (e.g. in "About" section)
  • iOS System Green (#34C759): Download complete indicator
  • Error Red (#FF3B30): iOS system red for playback errors (not Apple Music red — these are separate)
Type scaleRead the full spec

Font Family

  • Primary: SF Pro — Apple's native font stack (SF Pro Display at 20pt+, SF Pro Text below)
  • Rounded variant: SF Pro Rounded — used sparingly in Listen Now hero cards and certain editorial contexts
  • Fallback Stack: None needed — SF Pro is guaranteed on all iOS devices; system font stack applies automatically
  • CJK / Non-Latin: Apple's system fonts — PingFang SC, Hiragino Sans, Apple SD Gothic Neo, Apple Color Emoji for emoji runs
  • Apple Music uses Dynamic Type at almost every level — the app scales readably across Dynamic Type sizes from Extra Small to AX5

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
Large TitleSF Pro Display34pt7001.10.37"Listen Now", "Library" large navigation titles
Title 1SF Pro Display28pt7001.150.36Secondary large headings
Listen Now HeroSF Pro Display24pt7001.2-0.2ptTitle on hero editorial cards
Title 2SF Pro Display22pt7001.2-0.26Playlist / album hero titles
Title 3SF Pro Display20pt6001.2-0.15Section headers "Recently Played"
Now Playing TitleSF Pro Display18pt6001.25-0.1Current track title on Now Playing
HeadlineSF Pro Text17pt6001.25-0.43Track title in playlist list
BodySF Pro Text17pt4001.45-0.43Description, about
CalloutSF Pro Text16pt4001.25-0.32Emphasized body text
SubheadlineSF Pro Text15pt4001.3-0.24Artist names, secondary info
FootnoteSF Pro Text13pt4001.3-0.08Timestamps, play counts
Caption 1SF Pro Text12pt4001.30Badges, minor metadata
Caption 2SF Pro Text11pt4001.20.07"Dolby Atmos" badge, "Lossless" label
ButtonSF Pro Text17pt6001.0-0.43Primary pill button labels
Tab LabelSF Pro Text10pt5001.0-0.24Bottom tab bar labels
Lyrics CurrentSF Pro Display28pt7001.2-0.3The currently-singing lyric line (scales up and fades in)
Lyrics OtherSF Pro Display22pt6001.3-0.2Other visible lyric lines (non-current)

Principles

  • Respect Dynamic Type everywhere: Apple Music is one of the best-behaved apps for Dynamic Type — scale headlines, body, and metadata; keep Play button icon fixed, keep the mini-player fixed geometry
  • Use iOS text styles when available: Headline, Body, Subheadline, Footnote, Caption 1/2 — these map 1:1 to iOS style tokens and respect accessibility automatically
  • SF Pro Display vs. Text switchover at 20pt: Display for large, Text for small — the system handles this automatically if you use .system font, but custom sizes need explicit specification
  • Rounded is a hero moment only: SF Pro Rounded appears on Listen Now editorial cards as a friendlier, more approachable vibe; the rest of the app stays on regular SF Pro
  • Letter spacing follows iOS defaults: iOS ships pre-tuned tracking values for each style; don't override unless hero-sized (20pt+)
  • No italic: Apple Music does not use italics anywhere — all emphasis comes from weight, color, or size
  • Lyrics type scales dynamically: Current line is 28pt bold, adjacent lines are 22pt semibold, distant lines fade toward 18pt regular; this is driven by a scroll-sync that matches playback timing
Components and layoutRead the full spec

Buttons

Primary Play Button (The Red Circle)

  • Shape: Circle, diameter 64pt on Now Playing, 44pt on inline contexts (track row, album hero)
  • Background: #FA2D48
  • Icon: SF Symbol play.fill in #FFFFFF, 28pt on 64pt button, 20pt on 44pt button
  • Pressed: scale 0.92, .impact(.soft) haptic
  • Paused state: pause.fill icon
  • Position on Now Playing: centered between prev/next, large 64pt size

Primary Pill ("Play", "Shuffle Play", "Join Apple Music")

  • Background: #FA2D48 (brand red) for most CTAs; occasionally iOS system blue #007AFF for "Join Apple Music"
  • Text: #FFFFFF SF Pro Text 17pt weight 600
  • Leading SF Symbol: often play.fill 15pt
  • Padding: 10pt vertical, 24pt horizontal
  • Corner radius: 8pt (rounded rectangle, not full pill — iOS Music's signature)
  • Pressed: scale 0.97 with .impact(.light) haptic
  • Width: often full-width in a section, or content-fit

Secondary Button ("Shuffle", "Download", "Share")

  • Background: #F2F2F7 light / #2C2C2E dark (system secondary)
  • Text: label primary color SF Pro Text 15pt weight 500
  • Leading SF Symbol 15pt
  • Corner radius: 8pt
  • Padding: 10pt vertical, 16pt horizontal
  • Pressed: darker tint with .impact(.light)

Icon Button (Heart / Shuffle / Repeat / More)

  • Size: 20-24pt SF Symbol glyph, 44pt hit area
  • Default: label secondary color
  • Active: #FA2D48 (heart liked, shuffle on, repeat on)
  • Pressed: scale 0.9 with .impact(.soft)

Scrubber

  • Track: 4pt tall, rgba(0,0,0,0.1) light / rgba(255,255,255,0.2) dark
  • Fill: #FA2D48 (Apple Music Red) — left side of the scrubber from start to thumb
  • Thumb: 16pt circle #FFFFFF with rgba(0,0,0,0.2) shadow, scale 1.2× during drag
  • Time labels: 13pt weight 400 label secondary, "0:48" left, "-3:12" right

Cards & Containers

Album / Playlist Tile (Standard)

  • Width: 160pt on most iPhones, 180pt on Pro Max
  • Aspect: 1:1 square album art top, stacked text below
  • Corner radius: 12pt on the art — Apple Music's signature softer corner (vs. Spotify's 6pt)
  • Gap between tiles: 16pt
  • Structure:
  • Art with 12pt radius, rgba(0,0,0,0.08) 0 4 16 shadow (light only — dark mode has no shadow)
  • Title: SF Pro Text 15pt weight 600 primary label, 2-line clamp
  • Subtitle (artist or description): SF Pro Text 13pt weight 400 secondary label, 1-line
  • Tap: scale 0.96 with .selection haptic, opens album / playlist detail

Hero Card (Listen Now)

  • Width: full width − 32pt horizontal margin (hero is 358pt wide on 390pt iPhone)
  • Height: 380-420pt depending on content
  • Structure:
  • Full-bleed editorial image with 16pt corner radius and a subtle shadow
  • Overlay gradient if text needs contrast: rgba(0,0,0,0.3) bottom 40%
  • Micro-label on top-left (uppercase caption 2 "NEW RELEASE" in white)
  • Centered or bottom-aligned hero text: SF Pro Rounded 24-34pt bold
  • Optional CTA pill at bottom
  • Tap: opens editorial feature or album

Track Row

  • Height: 56pt
  • Layout: 44×44pt square album thumbnail (8pt corner radius) → stacked title/artist → trailing ellipsis
  • Pressed: background rgba(0,0,0,0.05) light / rgba(255,255,255,0.1) dark
  • Title: SF Pro Text 17pt weight 400 primary
  • Artist: SF Pro Text 15pt weight 400 secondary
  • Currently-playing track: title stays primary, but a 3-bar red equalizer animation appears to the left of the thumbnail (same motif as Spotify but Apple Music red)
  • Explicit tag: small E in a gray 18pt rounded rectangle before the title if explicit
  • Dolby Atmos / Lossless badge: trailing right of the title on supported tracks

Album / Playlist Detail Hero

  • Top: 240pt album artwork centered with rgba(0,0,0,0.1) 0 8 24 shadow
  • Title below: SF Pro Display 22pt weight 700 primary
  • Artist: SF Pro Text 17pt weight 400 #FA2D48 (red — this is the one place artist names go red, and it's an interactive link)
  • Metadata: "Album · 2024 · Apple Digital Master" 13pt weight 400 tertiary
  • Action row:
  • Large red Play button (44pt circle) with "Play" label SF Pro Text 17pt weight 600
  • Shuffle Play secondary button (44pt, same treatment but gray background)
  • Download / More icons trailing
  • Below: track list scrolling down

Now Playing (Full Screen)

  • Background: album-art-derived gradient (see Depth section)
  • Large album art centered: 340pt × 340pt with rgba(0,0,0,0.3) 0 20 40 shadow
  • When track changes: artwork cross-fades with a subtle scale animation
  • Below artwork:
  • Track title SF Pro Display 18pt weight 600
  • Artist name SF Pro Text 15pt weight 400 at 70% opacity on primary label
  • Scrubber with timestamps
  • Control row: previous, 64pt red Play button, next — 32pt gap between controls
  • Below: Volume slider, then AirPlay button, Lyrics button, share
  • Bottom: up-next queue sheet indicator

Mini-Player

  • Position: floats above tab bar, full width, 64pt tall
  • Background: .regularMaterial blur with rgba(255,255,255,0.8) light / rgba(28,28,30,0.8) dark tint
  • 44×44pt album art (8pt radius) leading, 12pt inset
  • Center: track title 15pt weight 500 primary (1-line), artist 13pt weight 400 secondary (1-line)
  • Trailing: play/pause 22pt SF Symbol (play.fill / pause.fill), then forward 22pt SF Symbol — 16pt gap between
  • Tap anywhere: opens full Now Playing screen with matched-geometry artwork transition
  • Swipe down while Now Playing is open: dismisses back to mini-player

Lyrics View (The Signature Moment)

Responsive behaviourRead the full spec

Device Sizes

DeviceWidthKey Changes
iPhone SE (3rd gen)375ptTile width 150pt; large title shrinks to 28pt faster on scroll
iPhone 13/14/15390ptStandard tile 160pt; hero cards 358pt wide
iPhone 15/16 Pro393ptDynamic Island accommodated in top nav
iPhone 15/16 Pro Max430ptTile 180pt; Now Playing art scales to 360pt
iPad portrait768pt3-column grid, hero cards 2-up, Now Playing sheet covers ~70% height
iPad landscape1024pt+4-column grid, Now Playing overlay instead of full-screen

Dynamic Type

  • Full Dynamic Type support from XS to AX5: every text style except the Play button icon, scrubber thumb, and mini-player geometry scales with user preference
  • Listen Now hero titles: scale up to ~40pt at AX5
  • Track titles / artist: scale with headline / subheadline text styles
  • Mini-player: has a fallback layout that shows only artwork + play when at AX5 (text becomes too large to fit)
  • Lyrics: current-line text scales up to 36pt at AX5

Orientation

  • Home / Search / Library / Radio: portrait-locked on iPhone
  • Now Playing: rotates to landscape — album art centers, controls shift to the right side
  • Lyrics view: portrait-locked (lyric rendering is vertical)
  • Video content (Apple Music TV / music video): rotates to landscape
  • iPad: supports all orientations with adaptive layouts

Touch Targets

  • Play button (Now Playing): 64pt — way over minimum
  • Play button (inline): 44pt (iOS minimum)
  • Track rows: 56pt tall, full-width tappable
  • Tab bar icons: 25pt SF Symbol, 49pt hit area
  • Ellipsis / overflow: 44pt hit

Safe Area Handling

  • Top: standard iOS large-title nav respects safe area / Dynamic Island
  • Bottom: mini-player floats above tab bar; both respect home indicator
  • Now Playing: artwork respects safe area top, controls respect bottom
  • Lyrics view: top safe area for header, bottom safe area respected

Drop-in CSS variables

The same values as a theme block. Add the class to <body> and the site repaints.

body.theme-apple-music {--page-bg: #ffffff;
  --page-bg-gradient: none;
  --text-color: #000000;
  --heading-color: #000000;
  --link-color: #0070eb;
  --link-hover-color: #0058b8;
  --border-color: #d1d1d1;
  --card-bg: #ffffff;
  --card-shadow: 0 1px 2px rgba(0,0,0,0.06);
  --card-hover-shadow: 0 6px 18px rgba(0,0,0,0.12);
  --header-bg: #000000;
  --header-text-color: #ffffff;
  --header-shadow: none;
  --footer-bg: #ffffff;
  --footer-text-color: #595959;
  --button-bg: #007aff;
  --button-text-color: #000000;
  --button-hover-bg: #0062cc;
  --button-border: none;
  --button-border-radius: 22px;
  --button-secondary-bg: #f0f0f0;
  --button-secondary-text-color: #000000;
  --button-secondary-hover-bg: #e0e0e0;
  --button-secondary-border: 1px solid #d1d1d1;
  --prompt-bg: #f2f2f2;
  --prompt-text-color: #000000;
  --base-font: var(--font-helvetica);
  --heading-font: var(--font-helvetica);
  --card-border-radius: 22px;
}

Download theme.css

Visually close to

Measured with a deterministic colour + geometry comparison across 958 styles. Not a hand-picked list.

Where this came from

Source document
ios/design-md/music/apple-music/DESIGN.md · 32.8 KB
Repository
Meliwat/awesome-ios-design-md
Licence
MIT

Source text is reproduced under its original licence. Tokens, similarity scores and page structure are ours.