---
title: Text input and output
framework: swiftui
role: collectionGroup
role_heading: API Collection
path: swiftui/text-input-and-output
---

# Text input and output

Display formatted text and get text input from the user.

## Overview

Overview To display read-only text, or read-only text paired with an image, use the built-in Text or Label views, respectively. When you need to collect text input from the user, use an appropriate text input view, like TextField or TextEditor.

You add view modifiers to control the text’s font, selectability, alignment, layout direction, and so on. These modifiers also affect other views that display text, like the labels on controls, even if you don’t define an explicit Text view. For design guidance, see Typography in the Human Interface Guidelines.

## Topics

### Displaying text

- [Text](swiftui/text.md)
- [Label](swiftui/label.md)
- [labelStyle(_:)](swiftui/view/labelstyle(_:).md)

### Getting text input

- [Building rich SwiftUI text experiences](swiftui/building-rich-swiftui-text-experiences.md)
- [TextField](swiftui/textfield.md)
- [textFieldStyle(_:)](swiftui/view/textfieldstyle(_:).md)
- [SecureField](swiftui/securefield.md)
- [TextEditor](swiftui/texteditor.md)

### Selecting text

- [textSelection(_:)](swiftui/view/textselection(_:).md)
- [TextSelectability](swiftui/textselectability.md)
- [TextSelection](swiftui/textselection.md)
- [textSelectionAffinity(_:)](swiftui/view/textselectionaffinity(_:).md)
- [textSelectionAffinity](swiftui/environmentvalues/textselectionaffinity.md)
- [TextSelectionAffinity](swiftui/textselectionaffinity.md)
- [AttributedTextSelection](swiftui/attributedtextselection.md)

### Setting a font

- [Applying custom fonts to text](swiftui/applying-custom-fonts-to-text.md)
- [font(_:)](swiftui/view/font(_:).md)
- [fontDesign(_:)](swiftui/view/fontdesign(_:).md)
- [fontWeight(_:)](swiftui/view/fontweight(_:).md)
- [fontWidth(_:)](swiftui/view/fontwidth(_:).md)
- [font](swiftui/environmentvalues/font.md)
- [Font](swiftui/font.md)

### Adjusting text size

- [textScale(_:isEnabled:)](swiftui/view/textscale(_:isenabled:).md)
- [dynamicTypeSize(_:)](swiftui/view/dynamictypesize(_:).md)
- [dynamicTypeSize](swiftui/environmentvalues/dynamictypesize.md)
- [DynamicTypeSize](swiftui/dynamictypesize.md)
- [ScaledMetric](swiftui/scaledmetric.md)
- [TextVariantPreference](swiftui/textvariantpreference.md)
- [FixedTextVariant](swiftui/fixedtextvariant.md)
- [SizeDependentTextVariant](swiftui/sizedependenttextvariant.md)

### Controlling text style

- [bold(_:)](swiftui/view/bold(_:).md)
- [italic(_:)](swiftui/view/italic(_:).md)
- [underline(_:pattern:color:)](swiftui/view/underline(_:pattern:color:).md)
- [strikethrough(_:pattern:color:)](swiftui/view/strikethrough(_:pattern:color:).md)
- [textCase(_:)](swiftui/view/textcase(_:).md)
- [textCase](swiftui/environmentvalues/textcase.md)
- [monospaced(_:)](swiftui/view/monospaced(_:).md)
- [monospacedDigit()](swiftui/view/monospaceddigit().md)
- [AttributedTextFormattingDefinition](swiftui/attributedtextformattingdefinition.md)
- [AttributedTextValueConstraint](swiftui/attributedtextvalueconstraint.md)
- [AttributedTextFormatting](swiftui/attributedtextformatting.md)

### Managing text layout

- [truncationMode(_:)](swiftui/view/truncationmode(_:).md)
- [truncationMode](swiftui/environmentvalues/truncationmode.md)
- [allowsTightening(_:)](swiftui/view/allowstightening(_:).md)
- [allowsTightening](swiftui/environmentvalues/allowstightening.md)
- [minimumScaleFactor(_:)](swiftui/view/minimumscalefactor(_:).md)
- [minimumScaleFactor](swiftui/environmentvalues/minimumscalefactor.md)
- [baselineOffset(_:)](swiftui/view/baselineoffset(_:).md)
- [kerning(_:)](swiftui/view/kerning(_:).md)
- [tracking(_:)](swiftui/view/tracking(_:).md)
- [flipsForRightToLeftLayoutDirection(_:)](swiftui/view/flipsforrighttoleftlayoutdirection(_:).md)
- [TextAlignment](swiftui/textalignment.md)

### Rendering text

- [Creating visual effects with SwiftUI](swiftui/creating-visual-effects-with-swiftui.md)
- [TextAttribute](swiftui/textattribute.md)
- [textRenderer(_:)](swiftui/view/textrenderer(_:).md)
- [TextRenderer](swiftui/textrenderer.md)
- [TextProxy](swiftui/textproxy.md)

### Limiting line count for multiline text

- [lineLimit(_:)](swiftui/view/linelimit(_:).md)
- [lineLimit(_:reservesSpace:)](swiftui/view/linelimit(_:reservesspace:).md)
- [lineLimit](swiftui/environmentvalues/linelimit.md)

### Formatting multiline text

- [lineSpacing(_:)](swiftui/view/linespacing(_:).md)
- [lineSpacing](swiftui/environmentvalues/linespacing.md)
- [multilineTextAlignment(_:)](swiftui/view/multilinetextalignment(_:).md)
- [multilineTextAlignment](swiftui/environmentvalues/multilinetextalignment.md)

### Formatting date and time

- [SystemFormatStyle](swiftui/systemformatstyle.md)
- [TimeDataSource](swiftui/timedatasource.md)

### Managing text entry

- [autocorrectionDisabled(_:)](swiftui/view/autocorrectiondisabled(_:).md)
- [autocorrectionDisabled](swiftui/environmentvalues/autocorrectiondisabled.md)
- [keyboardType(_:)](swiftui/view/keyboardtype(_:).md)
- [scrollDismissesKeyboard(_:)](swiftui/view/scrolldismisseskeyboard(_:).md)
- [textContentType(_:)](swiftui/view/textcontenttype(_:).md)
- [textInputAutocapitalization(_:)](swiftui/view/textinputautocapitalization(_:).md)
- [TextInputAutocapitalization](swiftui/textinputautocapitalization.md)
- [textInputCompletion(_:)](swiftui/view/textinputcompletion(_:).md)
- [textInputSuggestions(_:)](swiftui/view/textinputsuggestions(_:).md)
- [textInputSuggestions(_:content:)](swiftui/view/textinputsuggestions(_:content:).md)
- [textInputSuggestions(_:id:content:)](swiftui/view/textinputsuggestions(_:id:content:).md)
- [textContentType(_:)](swiftui/view/textcontenttype(_:)-4dqqb.md)
- [textContentType(_:)](swiftui/view/textcontenttype(_:)-6fic1.md)
- [textContentType(_:)](swiftui/view/textcontenttype(_:)-ufdv.md)
- [textInputFormattingControlVisibility(_:for:)](swiftui/view/textinputformattingcontrolvisibility(_:for:).md)
- [TextInputFormattingControlPlacement](swiftui/textinputformattingcontrolplacement.md)

### Dictating text

- [searchDictationBehavior(_:)](swiftui/view/searchdictationbehavior(_:).md)
- [TextInputDictationActivation](swiftui/textinputdictationactivation.md)
- [TextInputDictationBehavior](swiftui/textinputdictationbehavior.md)

### Configuring the Writing Tools behavior

- [writingToolsBehavior(_:)](swiftui/view/writingtoolsbehavior(_:).md)
- [WritingToolsBehavior](swiftui/writingtoolsbehavior.md)
- [writingToolsAffordanceVisibility(_:)](swiftui/view/writingtoolsaffordancevisibility(_:).md)

### Specifying text equivalents

- [typeSelectEquivalent(_:)](swiftui/view/typeselectequivalent(_:).md)

### Localizing text

- [Preparing views for localization](swiftui/preparing-views-for-localization.md)
- [LocalizedStringKey](swiftui/localizedstringkey.md)
- [locale](swiftui/environmentvalues/locale.md)
- [typesettingLanguage(_:isEnabled:)](swiftui/view/typesettinglanguage(_:isenabled:).md)
- [TypesettingLanguage](swiftui/typesettinglanguage.md)

### Deprecated types

- [ContentSizeCategory](swiftui/contentsizecategory.md)

## See Also

### Views

- [View fundamentals](swiftui/view-fundamentals.md)
- [View configuration](swiftui/view-configuration.md)
- [View styles](swiftui/view-styles.md)
- [Animations](swiftui/animations.md)
- [Images](swiftui/images.md)
- [Controls and indicators](swiftui/controls-and-indicators.md)
- [Menus and commands](swiftui/menus-and-commands.md)
- [Shapes](swiftui/shapes.md)
- [Drawing and graphics](swiftui/drawing-and-graphics.md)
