---
title: "How to choose Instant JSON vs. XFDF vs. server-backed sync | Nutrient Web SDK"
canonical_url: "https://www.nutrient.io/guides/web/annotations/import-and-export/choose-persistence-strategy/"
md_url: "https://www.nutrient.io/guides/web/annotations/import-and-export/choose-persistence-strategy.md"
last_updated: "2026-05-30T02:20:01.385Z"
description: "Decision guide for annotation persistence: when to use Instant JSON, XFDF, or Document Engine with Instant synchronization for local, collaborative, and interoperability workflows."
---

# How to choose Instant JSON vs. XFDF vs. server-backed sync

Use this guide to choose the right annotation persistence strategy for your workflow.

Recommendation summary:

- **Instant JSON** — Default format for internal persistence/sync data.

- **XFDF** — Use for interoperability and exchange with external PDF tools.

- **Server-backed (Document Engine with Instant synchronization)** — Use for collaborative persistence and synchronization across users/devices/sessions.

## Decision matrix

| Requirement                                                            | Recommended approach                                                                                                     |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Single-user app, local or custom backend persistence                   | [Instant JSON](https://www.nutrient.io/guides/web/importing-exporting/instant-json.md)                                                                                                         |
| Real-time or multiuser team review                                     | [Document Engine with Instant synchronization](https://www.nutrient.io/guides/web/instant-synchronization.md)                                                  |
| Exchange annotations with Adobe Acrobat or other third-party PDF tools | [XFDF](https://www.nutrient.io/guides/web/importing-exporting/xfdf-support.md)                                                                                                                 |
| Need both collaboration and interoperability                           | Use [server-backed synchronization](https://www.nutrient.io/guides/web/annotations/import-and-export/server-backed.md) internally, and [convert/export XFDF](https://www.nutrient.io/guides/web/importing-exporting/xfdf-support.md) at integration boundaries |

## Guidance by use case

Use the following guidance to choose the right persistence strategy for your specific use case.

### Single-user local persistence

If users mainly resume their own work later (same user, no concurrent editing), use [Instant JSON](https://www.nutrient.io/guides/web/importing-exporting/instant-json.md). It’s compact and designed for storing annotation changes.

### Multiuser/team review workflows

If multiple users annotate the same document across sessions/devices, use [Document Engine](https://www.nutrient.io/guides/document-engine.md) and [Instant synchronization](https://www.nutrient.io/guides/web/instant-synchronization.md). This provides built-in synchronization and conflict handling for concurrent edits.

Refer to the [review persistence architecture](https://www.nutrient.io/guides/web/annotations/synchronization/review-persistence-architecture.md) for recommended implementation patterns.

### Interoperability with external PDF tools

If annotations must roundtrip through Adobe Acrobat or other tools that support XFDF, use [XFDF](https://www.nutrient.io/guides/web/importing-exporting/xfdf-support.md).

For apps that also require collaboration, keep internal storage/sync in Instant JSON via server-backed sync and export/import XFDF only at integration points.

## Common mistakes to avoid

- Using local-only storage for collaborative team review workflows.

- Choosing XFDF as the primary internal sync format when no external interoperability is needed.

- Skipping server-backed sync while expecting reliable multiuser/session continuity.

## Related guides

- [Importing and exporting annotations with Instant JSON](https://www.nutrient.io/guides/web/importing-exporting/instant-json.md)

- [Importing and exporting annotations in XFDF](https://www.nutrient.io/guides/web/importing-exporting/xfdf-support.md)

- [Importing and exporting annotations with Document Engine](https://www.nutrient.io/guides/web/annotations/import-and-export/server-backed.md)

- [Review persistence architecture](https://www.nutrient.io/guides/web/annotations/synchronization/review-persistence-architecture.md)
---

## Related pages

- [Importing and exporting annotations in a database](/guides/web/annotations/import-and-export/database.md)
- [Export only selected annotations](/guides/web/annotations/import-and-export/export-only-selected-annotations.md)
- [Importing and exporting annotations with Instant JSON](/guides/web/importing-exporting/instant-json.md)
- [Importing and exporting annotations with Document Engine](/guides/web/annotations/import-and-export/server-backed.md)
- [Importing and exporting annotations in XFDF](/guides/web/importing-exporting/xfdf-support.md)

