Text Size and Weight

When designing an inclusive app, keep text size, weight, and layout in mind for clarity and readability. To learn how color and contrast can affect the legibility of text in your app, see Color and Contrast.

Use Dynamic Type and test that your app’s layout adapts to all font sizes. Dynamic Type lets people pick the font size that works for them. Verify that your design can scale and that both text and glyphs are legible at all font sizes. On iPhone or iPad, for example, turn on Larger Accessibility Text Sizes in Settings > Accessibility > Display & Text Size > Larger Text, and make sure your app remains comfortably readable. You can download the Dynamic Type size tables in the Sketch, Photoshop, and Adobe XD Apple Design Resources for each platform.

A screenshot of a Mail message on iPhone, using the default font size. The message header, subject line and date, and the message body, which consists of text that occupies two lines and a photograph of two women, are visible on the screen without scrolling.
A screenshot of a Mail message on iPhone, using a large accessibility font size. The message header (the recipient’s address is slightly truncated), subject line and date, and the message body — which consists of text that occupies three lines and the top part of a photograph — are visible on the screen without scrolling.

As font size increases, avoid truncating text. It’s best when text wraps and people can simply scroll to read all of it. For example, you can prevent text truncation in a label by configuring it to use as many lines as needed to display the text; for developer guidance, see numberOfLines. In general, don’t truncate text unless people can open a separate view to read the rest of the content.

Consider adjusting layout at large font sizes. When font size increases, inline items and container boundaries can crowd text, making it less readable. For example, if you display text inline with secondary items — such as glyphs or timestamps — the text has less horizontal space. At large font sizes, an inline layout might cause text to truncate or result in overlapping text and secondary items. In this case, consider using a stacked layout where the text appears above the secondary items. Similarly, multiple columns of text can become less readable at large font sizes because each column constrains horizontal space. In this case, consider reducing the number of columns when font size increases to avoid text truncation and improve overall readability. For developer guidance, see isAccessibilityCategory.

A screenshot of a Mail message on iPhone, using the default font size. From the left, the message header displays the reply glyph and the sender’s profile image, followed by a two-line layout with the sender name and date on top and the recipient name and attachment glyph on the bottom. The message body contains a paragraph of text and a photograph of a butterfly.

At smaller text sizes, Mail displays the date inline with the sender’s name.

A screenshot of a Mail message on iPhone, using the largest accessibility font size. From the top, the message header displays the reply glyph to the left of the sender name on one line, followed by the recipient name on the next line, and the date and attachment glyph on the third line. Below the header, five lines of the message text are visible on the screen without scrolling.

At the largest accessibility text size, Mail displays the date below the recipient’s name.

Increase the size of meaningful glyphs as font size increases. If you use glyphs to communicate important information, make sure the glyphs are easy to view at larger font sizes, too. When you use SF Symbols, you get glyphs that scale automatically with Dynamic Type size changes.

A partial screenshot of the Recents view in the Phone app, highlighted to show the FaceTime video glyph at a small size.
A partial screenshot of the Recents view in the Phone app, highlighted to show the FaceTime video glyph at a large size.

Maintain a consistent information hierarchy regardless of the current font size. For example, keep primary elements toward the top of the screen even when the font size is very large, so that people don’t lose track of these elements.

Use regular or heavy font weights in your app. Use Regular, Medium, Semi-Bold, or Bold font weights, because they are easier to see. Avoid UltraLight, Thin, and Light font weights, which can be more difficult to see.

Ensure that your app responds correctly and looks good when people enable bold text. People turn on the bold text accessibility setting to make text and glyphs easier to see. In response, your app should make all text bolder and give all glyphs an increased stroke weight. The system fonts and SF symbols automatically adjust to the bold text accessibility setting.

A screenshot of a Mail message without bold text.
A screenshot of a Mail message with bold text.

Make sure custom fonts are legible. Custom typefaces can sometimes be difficult to read. Unless your app has a compelling need for a custom font, such as for branding purposes or to create an immersive gaming experience, it’s usually best to use the system fonts. If you do use a custom font, make sure it’s easy to read, even at small sizes.

Avoid full text justification. The whitespace created by fully justified text can create patterns that make it difficult for many people to read and focus on the text. Left justification — or right justification in right-to-left languages — provides a framing reference for people with learning and literacy challenges, such as dyslexia.

Avoid using italics or all caps for long passages of text. Italics and all caps are great for occasional emphasis, but overuse of these styles makes text hard to read.