---
title: "Save PDF to Document Engine on iOS | Nutrient SDK"
canonical_url: "https://www.nutrient.io/guides/ios/save-a-document/to-document-engine/"
md_url: "https://www.nutrient.io/guides/ios/save-a-document/to-document-engine.md"
last_updated: "2026-05-15T17:18:57.913Z"
description: "Document Engine is our server-side component that stores documents, annotations, and comments. Nutrient Instant connects to Document Engine."
---

# Save PDFs to Document Engine on iOS

Document Engine is our server-side component that stores documents, annotations, and comments. [Nutrient Instant](https://www.nutrient.io/guides/ios/instant-synchronization.md) connects to Document Engine and seamlessly takes care of downloading documents and synchronizing annotations and comments. With Instant, it’s easy add real-time collaboration features to your Nutrient-powered iOS app, allowing your users to share and annotate PDF documents across Android, iOS, and Web apps.

By default, Nutrient Instant synchronizes annotations with your Document Engine in real time. Your app doesn’t need to do anything to save changes: It’s all taken care of. You can also configure Instant to [sync manually](https://www.nutrient.io/guides/ios/pspdfkit-instant/syncing.md) when your app requests this. Thanks to this automatic syncing of annotations and [comments](https://www.nutrient.io/guides/ios/comments/introduction-to-instant-comments.md), it’s easy to set up collaborative workflows using Instant.

[Instant layers](https://www.nutrient.io/guides/ios/pspdfkit-instant/instant-layers.md) can be used to model separate sets of annotations on a document. For example, if you use Instant as part of an education platform, you may have a document that’s part of an assignment, where each student should add their own answers to the assignment without seeing the answers from any other student. In this case, you’d create one Instant Layer in the document for each student.

Instant supports [offline editing](https://www.nutrient.io/guides/ios/pspdfkit-instant/offline-support.md) for situations where a network connection isn’t accessible. Changes will be synchronized the next time a connection is available.

## Uploading a file to Document Engine from the client

If your app has a file stored locally on an end user’s device, you can move that document so it’s managed by Document Engine like this:

1. Your app uploads the file to your backend.

2. Your backend forwards the uploaded file to Document Engine. In return, it receives a document identifier. On your server, you only have to store the identifier; we store the PDF document, its annotations, and the meta information.

3. Your backend returns a JWT to your app, which grants permission to access the document with this identifier.

4. Your app uses Nutrient Instant to download the document using the obtained JWT.

The document is now managed by Document Engine and Instant and supports real-time collaboration. The original file is no longer needed.

For more details, see the [documentation for Document Engine](https://www.nutrient.io/guides/document-engine.md) — in particular, the [server API for uploading a document](https://www.nutrient.io/guides/document-engine/file-management.md).
---

## Related pages

- [Automatically save PDFs on iOS](/guides/ios/features/document-checkpointing.md)
- [Conflict resolution when saving PDFs on iOS](/guides/ios/features/conflict-resolution.md)
- [Save PDF documents on iOS](/guides/ios/save-a-document.md)
- [Incremental PDF saving on iOS](/guides/ios/faq/growing-pdf-file-size.md)
- [How to save PDFs on iOS](/guides/ios/save-a-document/save-as.md)
- [Save PDFs to local storage on iOS](/guides/ios/save-a-document/to-local-storage.md)
- [Save and upload PDFs on iOS devices](/guides/ios/save-a-document/to-remote-server.md)
- [Save PDFs to a custom data provider on iOS](/guides/ios/save-a-document/to-custom-data-provider.md)

