Skip to main content
These modifiers shape how text is drawn. font, fontWeight, and fontDesign choose the typeface, weight, and variant. bold, italic, monospaced, strikethrough, and underline are convenience toggles for common styles and decorations. tracking and lineSpacing adjust spacing between letters and lines. textCase transforms case at render time. lineLimit and multilineTextAlignment control how text wraps and aligns across multiple lines.

font

Sets the font for text content in a component.
TextStyle | number | CustomFont
The font to apply. Can be:
  • A semantic text style name (e.g., "title", "body", "caption") — see TextStyle
  • A number for a custom point size using the system font
  • A CustomFont for a custom font family with a specific size
Semantic text style
Custom point size
Custom font family
Combined with weight and design

fontWeight

Sets the font weight for text content.
FontWeight
required
The font weight to apply. See FontWeight for available values (e.g., "ultraLight", "thin", "light", "regular", "medium", "semibold", "bold", "heavy", "black").
Semibold text
Light text
Combined with font style

fontDesign

Sets the font design variant for text content.
FontDesign
required
The font design variant. See FontDesign for available values (e.g., "default", "rounded", "monospaced", "serif").
Rounded design
Monospaced design
Serif design

bold

Makes text bold.
boolean
default:"true"
Whether bold is applied. Pass false to explicitly disable bold. Defaults to true.
Make text bold
Conditionally bold
Combined with other text modifiers

italic

Makes text italic.
boolean
default:"true"
Whether italic is applied. Pass false to explicitly disable italic.
Basic italic text
Conditionally italic
Combined with other typography modifiers

strikethrough

Adds a strikethrough line to text.
boolean
default:"true"
Whether the strikethrough is visible. Defaults to true. Pass false to remove.
Basic strikethrough
Conditional strikethrough
Sale price display

underline

Adds an underline to text.
boolean
default:"true"
Whether the underline is visible. Defaults to true. Pass false to remove.
Basic underline
Conditional underline
Link-style text

monospaced

Uses a monospaced font variant for text.
boolean
default:"true"
Whether to use the monospaced variant. Pass false to explicitly disable.
Code-style text
Tabular numbers Useful for aligning numbers in columns, since each digit takes the same width.
Conditionally monospaced

tracking

Adjusts letter spacing in text.
MilliEm
required
The letter spacing in milli-em units. 1000 equals 1em (the width of the current font size). Use positive values to increase spacing or negative values to tighten.
tracking uses milli-em units where 1000 = 1em. For example, tracking(500) at a 16pt font size adds 8pt of spacing between each character. This is equivalent to CSS letter-spacing but uses a different unit scale. Wide letter spacing
Tight letter spacing
Heading with tracking

lineSpacing

Adjusts spacing between lines of text.
number
required
The spacing between lines, in points. Higher values increase the gap between lines.
Increasing line spacing
Readability for long-form text

textCase

Transforms the text case of a component.
TextCase
required
The text transformation to apply: "uppercase" or "lowercase".
Uppercase
Lowercase
Section headers

lineLimit

Limits text to a maximum number of lines with truncation.
number
The maximum number of lines to display. Excess text is truncated with an ellipsis. Pass undefined or omit to remove any line limit.
When text exceeds the line limit, it is truncated with an ellipsis (...) at the end. Passing undefined or omitting the argument removes any previously set line limit, allowing unlimited lines. Single-line text
Two-line description
Combined with minimum scale factor Allow text to shrink before truncating.

multilineTextAlignment

Sets horizontal text alignment within the component’s frame.
TextAlignment
required
The horizontal alignment for multi-line text. One of "leading", "center", or "trailing".
This modifier only affects text that wraps to multiple lines. Single-line text alignment is controlled by the parent container’s alignment or the .frame() alignment. The default alignment is "leading". Center-aligned text
Trailing-aligned text
Combined with frame alignment

See also