<!--
{
  "documentType" : "article",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/writing-tools",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Writing Tools"
}
-->

# Writing Tools

Add support for Writing Tools to your app’s text views.

## Discussion

Writing Tools provides a simple way for people to improve what
they write using your app. Text views that support Writing Tools
gain the ability to proofread, rewrite, summarize, or compose
content with the help of system-provided large language models
(LLMs) and Apple Intelligence.

Writing Tools supports both the standard system views and custom text
views you create. The [`NSTextView`](/documentation/AppKit/NSTextView) and [`NSTextField`](/documentation/AppKit/NSTextField) classes
automatically support Writing Tools, but you can customize that support
to suit your app’s requirements. You can also add Writing Tools support
to any [`NSView`](/documentation/AppKit/NSView) in your app that contains text.

## Topics

### Configuration

[Customizing Writing Tools behavior for AppKit views](/documentation/AppKit/customizing-writing-tools-behavior-for-system-views)

Modify the behavior of Writing Tools in standard macOS text views,
and adjust your app’s behavior while the feature is active.

[`NSWritingToolsBehavior`](/documentation/AppKit/NSWritingToolsBehavior)

Constants that specify the Writing Tools experience for the underlying view.

[`NSWritingToolsResultOptions`](/documentation/AppKit/NSWritingToolsResultOptions)

Constants to specify what type of content to allow in Writing Tools
suggestions or rewrites.

### Writing Tools for custom views

[Supporting Writing Tools via the pasteboard](/documentation/AppKit/supporting-writing-tools-via-the-pasteboard)

Adopt a simplified version of the Writing Tools experience in a custom
view using the pasteboard and macOS services.

[Adding Writing Tools support to a custom AppKit view](/documentation/AppKit/adding-writing-tools-support-to-a-custom-nsview)

Integrate Writing Tools support, including support for inline replacement
animations, to your custom text views on macOS.

[`NSWritingToolsCoordinator`](/documentation/AppKit/NSWritingToolsCoordinator)

An object that manages interactions between Writing Tools and
your custom text view.

[`NSWritingToolsCoordinator.Delegate`](/documentation/AppKit/NSWritingToolsCoordinator/Delegate-swift.protocol)

An interface that you use to manage interactions between Writing Tools
and your custom text view.

[`NSWritingToolsCoordinator.Context`](/documentation/AppKit/NSWritingToolsCoordinator/Context)

A data object that you use to share your custom view’s text with Writing Tools.

[`NSWritingToolsCoordinator.AnimationParameters`](/documentation/AppKit/NSWritingToolsCoordinator/AnimationParameters)

An object you use to configure additional tasks or animations to
run alongside the Writing Tools animations.

[Enhancing your custom text engine with Writing Tools](/documentation/AppKit/enhancing-your-custom-text-engine-with-writing-tools)

Add Writing Tools support to your custom text engine to enhance the text editing experience.

### Text previews

[`NSTextPreview`](/documentation/AppKit/NSTextPreview)

A snapshot of the text in your view, which the system uses to create
user-visible effects.

### Toolbar configuration

[`writingToolsItemIdentifier`](/documentation/AppKit/NSToolbarItem/Identifier/writingToolsItemIdentifier)

A standard item that is configured to send -showWritingTools: to the firstResponder when invoked.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)