Apple’s interface font is called San Francisco. It replaced Helvetica Neue as the iPhone and iPad system font in iOS 9 and has grown into a whole superfamily. This guide explains the members of that family and — more importantly — how to use them in apps and on the web without hard-coding font names.
The San Francisco family
| SF Pro | The main system sans serif on iOS, iPadOS, macOS and tvOS. Ships in optical sizes (Text and Display), nine weights and a Rounded variant. |
|---|---|
| SF Compact | A narrower, flatter-sided version designed for Apple Watch, where horizontal space is tight. |
| SF Mono | The monospaced member, used in Xcode and Terminal. Available in code as the system monospaced design. |
| New York | Apple’s system serif, designed to pair with SF Pro. Used in Books, News and anywhere an app asks for the serif design. |
Optical sizes: Text vs Display
SF Pro adapts to the size it is set at. Below 20 points the system uses the Text cut, with slightly wider spacing and larger apertures for legibility. At 20 points and above it uses Display, which is tighter and more refined. When you request the system font through Apple’s APIs this happens automatically — one more reason never to reference SF by its file name.
Using the system font in SwiftUI
Prefer semantic text styles. They pick the right size, weight and leading, and they respond to Dynamic Type for free.
Text("Headline").font(.headline)
Text("Body copy").font(.body)
// Pick a design: .default, .serif (New York), .rounded or .monospaced
Text("Rounded title")
.font(.system(.largeTitle, design: .rounded, weight: .bold))
Text("let x = 42")
.font(.system(.body, design: .monospaced))Using the system font in UIKit
// Dynamic Type text style (recommended)
label.font = UIFont.preferredFont(forTextStyle: .body)
label.adjustsFontForContentSizeCategory = true
// Fixed size with a weight
label.font = .systemFont(ofSize: 17, weight: .semibold)
// Monospaced digits for timers and tables
label.font = .monospacedDigitSystemFont(ofSize: 17, weight: .regular)
// New York (serif) or SF Rounded via a font descriptor
let body = UIFont.preferredFont(forTextStyle: .body)
if let serif = body.fontDescriptor.withDesign(.serif) {
label.font = UIFont(descriptor: serif, size: 0)
}Default Dynamic Type sizes
At the default (Large) content size, the iOS text styles map to the following point sizes. Users can scale all of them up or down in Settings.
| Text style | Size | Weight |
|---|---|---|
| Large Title | 34 pt | Regular |
| Title 1 | 28 pt | Regular |
| Title 2 | 22 pt | Regular |
| Title 3 | 20 pt | Regular |
| Headline | 17 pt | Semibold |
| Body | 17 pt | Regular |
| Callout | 16 pt | Regular |
| Subheadline | 15 pt | Regular |
| Footnote | 13 pt | Regular |
| Caption 1 | 12 pt | Regular |
| Caption 2 | 11 pt | Regular |
Using San Francisco on the web
Websites can’t embed the SF font files, but Safari exposes the system fonts through CSS keywords. On Apple devices these resolve to SF Pro, New York, SF Pro Rounded and SF Mono; elsewhere the browser substitutes its own system font.
body { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.serif { font-family: ui-serif, Georgia, serif; }
.rounded { font-family: ui-rounded, system-ui, sans-serif; }
code, pre { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; }Licensing
Apple offers the SF and New York font files for download to its developer community so designers can build accurate mockups. The licence is tied to designing and developing for Apple platforms, so read it before using the fonts in print, branding or on other platforms. In shipping apps you never need the files: the system already has them.
Before San Francisco
The original iPhone used Helvetica for its interface, later releases moved to Helvetica Neue, and iOS 9 introduced San Francisco. Browse the full list of built-in iOS fonts to see every family that shipped alongside them.
Frequently asked questions
What font does iOS use?
Since iOS 9, the iPhone and iPad system font is San Francisco (SF Pro), with New York as the system serif. Earlier releases used Helvetica Neue and, on the original iPhone, Helvetica.
Can I use San Francisco on my website?
You can’t host the SF font files on a server, but you can ask Apple devices to use their built-in copy with font-family: system-ui, -apple-system, sans-serif. Other platforms will show their own system font.
What is the difference between SF Pro Text and SF Pro Display?
They are optical sizes of the same design. Text has looser spacing and sturdier details for sizes below 20 points; Display is tighter and more refined for 20 points and above. The system APIs switch between them automatically.