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 |
| Real-time or multiuser team review | Document Engine with Instant synchronization |
| Exchange annotations with Adobe Acrobat or other third-party PDF tools | XFDF |
| Need both collaboration and interoperability | Use server-backed synchronization internally, and convert/export XFDF 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. 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 and Instant synchronization. This provides built-in synchronization and conflict handling for concurrent edits.
Refer to the review persistence architecture for recommended implementation patterns.
Interoperability with external PDF tools
If annotations must roundtrip through Adobe Acrobat or other tools that support XFDF, use XFDF.
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
- Importing and exporting annotations in XFDF
- Importing and exporting annotations with Document Engine
- Review persistence architecture