---
title: WritableDocument
framework: swiftui
role: symbol
role_heading: Protocol
path: swiftui/writabledocument
---

# WritableDocument

A type that you use to write documents to file.

## Declaration

```swift
protocol WritableDocument : AnyObject
```

## Overview

Overview Conform to WritableDocument in addition to ReadableDocument to support saving. You can also conform your type to Document protocol which conforms both to WritableDocument and ReadableDocument. Your implementation: Provides writable content types via writableContentTypes. Provides a snapshot of the current document state via snapshot(contentType:). Writes the snapshot to disk using a DocumentWriter returned by writer(configuration:).

## Topics

### Writing a document

- [writableContentTypes](swiftui/writabledocument/writablecontenttypes.md)
- [WritableDocument.WriteConfiguration](swiftui/writabledocument/writeconfiguration.md)
- [Writer](swiftui/writabledocument/writer.md)
- [writer(configuration:)](swiftui/writabledocument/writer(configuration:).md)
- [snapshot(contentType:)](swiftui/writabledocument/snapshot(contenttype:).md)

## See Also

### Storing document data in a reference type instance

- [ReadableDocument](swiftui/readabledocument.md)
- [URLDocumentConfiguration](swiftui/urldocumentconfiguration.md)
- [DocumentCreationContext](swiftui/documentcreationcontext.md)
- [DocumentBaseBox](swiftui/documentbasebox.md)
