MN offers 4 automatic backup locations (Local / WebDAV / Baidu NetDisk / Google Drive) + full export bundles + CloudKit cross-device sync. Below: how to set each up, capacity guidelines, and what to do when things go wrong.
SETUP · Configure each channel
Each card below is one storage location or export method. All share one entry point: open MN on iPad / iPhone / Mac → Settings → Backup & Restore.
No network · Rock-solid · No cloud quota
Backup format: .marginbackupall. You manage the file — store it wherever you like. Nothing gets uploaded automatically.
Synology / self-hosted / corp WebDAV / Jianguoyun
https://dav.example.com/), Username, PasswordSupports HTTPS with self-signed certs; for Jianguoyun use an "app password" not your login password; Synology / QNAP built-in WebDAV works with the regular account.
China-region preferred · Large capacity · QR login
Bundles are placed in a dedicated MarginNote folder in your Baidu NetDisk. Standard accounts have plenty of room for multiple full Study Set backups.
Overseas preferred · OAuth · Cross-device access
Bundle size limited by your Google Drive quota (15 GB free shared with Gmail / Photos). Consider toggling "include original PDFs / videos" — notes-only data is typically < 200 MB.
Long-standing · Manual · Best for migrating to a new device
MarginNoteBackup(yyyy-MM-dd-HH-mm-ss).marginbackupall to any location.marginbackupall file → importThis mechanism predates the MN 4.3 architecture. Auto-backup is for continuous safety; Full Export is good for occasional manual archives to an external SSD.
📌 Settings entry: MN → Settings → Backup & Restore. You can enable multiple at once — recommended: at least "Local + one cloud" — one copy you control, one copy off-site.
SYNC · iPad ↔ Mac auto-aligned
This is Apple's own iCloud sync — no third-party account needed. It's different from "backup": CloudKit keeps your iPad and Mac aligned with the current latest state; backups store historical snapshots in a place you can retrieve from later. Run both for the best safety net.
Settings → Cloud Sync → choose CloudKit Sync.
Uses whichever iCloud account is signed in; all devices on the same Apple ID join automatically.
Use it: iPad + Mac alternating workflow; want to pick up where you left off.
Skip it: single-device users; very large libraries with full iCloud quota.
If you see hangs or anomalies: Settings → Cloud Sync → Reset Sync Cache — all data gets re-compared (has a confirmation prompt; tapping it doesn't lose data).
Choose "Enable manually per Study Set" or "Enable automatically": manual gives finer control (less-important sets don't eat quota); automatic suits "new set = synced set" users.
Real value when things go wrong
A sync & backup system's real value isn't when it works — it's when it breaks. This section maps recovery paths for every failure mode, so you know which button to press when things go sideways.
Checking for updates / Preparing download / Downloading (n/m) / Preparing upload / Uploading (n/m) / Sync completed / Sync failed
Each state corresponds to a real sync stage — not vibes, actual progress.
On detected version change: three choices — Use Remote / Merge / Keep Local. Default is "Merge", and a pre-merge backup is auto-created.
If CloudKit Sync gets stuck or behaves oddly, you can reset the sync buffer in Settings → Cloud Sync — all data re-compares. Nuclear option, with second confirmation.
Every manual sync auto-backs-up the local DB to Documents/ManualSyncBackups, keeping the latest 5. Even if a conflict gets ugly, the last 5 manual-sync states are recoverable.
If you stop using CloudKit Sync and want to clear cloud data, the settings let you manually delete CloudKit zones — frees iCloud quota, local data unaffected.
The Cloud Drive Sync object pool exposes manual GC + baseline-version repair — fixes orphan objects and missing baselines that long-term usage can produce.
Honest boundaries
"Never lose data" sounds great — but no engineering system can actually promise that. MN chooses not to overclaim, and instead tells you exactly what each layer of protection does.
Sync is eventual consistency based on change tracking — multi-device align in seconds to minutes. It's not Google Docs character-level co-editing. MN doesn't do realtime collab.
Cloud Drive Sync's merge is object-level by manifest / hash / timestamp — better than last-write-wins, but no full common-ancestor lookup yet. So "git for study notes" is a design analogy, not literal git equivalence.
"The architecture itself protects data" relies on auto-snapshots being on (the default). If you manually disable auto-snapshot AND have never run a manual / baseline snapshot, the state from one second before a crash is not guaranteed by the code to be recoverable. What's recoverable is "the most recent complete snapshot".
Cloud outages, full device failure, Apple ID issues, accidental deletes — all of these can happen. The new architecture + Auto Backup + Full Export reduce risk through layered protection, but no "absolute safety" claim. Recommended: periodic Full Export + one copy somewhere you control (external SSD / your own NAS / a cloud account different from your daily one).
About versions: the "new data architecture" described on this page was introduced in MN 4.3. "Cloud Drive Sync" is the next step built on that architecture, currently Coming Soon — the rollout schedule follows the official release notes.
Next-gen · Sync
The next-generation sync system — mutually exclusive with CloudKit Sync (pick one in Settings). MN 4.3 rebuilt sync from the ground up — structural issues like "mind map corruption" and "handwriting layer mismatch" don't occur in the new sync. Technical details in the "FOR THE CURIOUS" section at the bottom.
iCloud Drive · Baidu NetDisk · Google Drive
OneDrive / Dropbox interfaces are reserved in code (currently hidden); WebDAV is backup-only, not in the Cloud Drive Sync options.
Every change creates an immutable snapshot: versionNumber + deviceId + content hash all live in the manifest.
Key difference: remote transfer can still half-fail, but it shows as missing objects or corrupted index (repairable) — never as "layout pointing to non-existent nodes".
On a version conflict the UI offers three choices: Use Remote / Merge (default) / Keep Local.
Before merge, an automatic Pre-merge Backup is created — even if you pick wrong, the original is intact.
First-launch on a new device pulls remote snapshots and reconstructs local data per manifest; optionally pulls original documents (PDF/Video) too.
Object index can be rebuilt; missing remote objects can be repaired via baseline-repair.
📌 Current state: code complete, UI gated by internal flag mn5SyncSupported; rollout schedule TBA.
This section is for engineering-minded readers — what the MN 4.3 data architecture is, why it was rebuilt, and how it differs from CloudKit-era sync. This doesn't affect day-to-day use — just follow the steps above and you're set.
MN 3.x → 4.2: CloudKit Sync (record-level) + Full Export → Since MN 4.3New data architecture · Auto Backup · Local integrity → Coming Soon: Cloud Drive Sync
Architecture
At the center is the data architecture itself (introduced in MN 4.3), reused in three places: local integrity safety net / Auto Backup / Cloud Drive Sync (Coming Soon). Below, Full Export and CloudKit Sync are legacy mechanisms (MN 4.2 and earlier), preserved alongside the new architecture.
MN 4.3+ · Foundation
Since MN 4.3, MarginNote introduced a versioned data foundation — not just "backup" or "sync", but a foundation reused in three places. This is the real architectural upgrade in this generation.
Content-addressed SHA-256
Every piece of data is addressed by SHA-256 hash — identical content stored once. Files use writeToFile:atomically:YES; on index-insert failure, the just-written file is rolled back.
Snapshot-level atomic unit
Each Study Set snapshot is a Manifest: versionNumber + deviceId + content hash + dependency graph. Sync and recovery operate on manifests, not fields or records.
Metadata atomic commit
Snapshot metadata is committed inside a SQLite transaction. Either the snapshot lands fully, or it never appeared — no half-committed manifests.
⚠ This isn't a single global ACID transaction across CoreData + object pool + snapshot DB. It's "object pool atomic + manifest atomic" as two separate atomicities. The user-facing experience is a version-control safety net, not a database-level ACID journal.
MN 4.3+ Application ① · Local integrity
"Lost handwriting", "mind map corruption", "notes vanished after crash" are MarginNote users' long-standing pain points. The new architecture catches edits as snapshots locally — no remote destination required.
Edit a Study Set → marked dirty → if editing pauses 5 minutes → an immutable snapshot is committed locally.
If object content fails hash verification — bad sectors, corrupted file — verifyIntegrity + rebuildIndex can rebuild the object index.
Repair Missing Baseline Versions (Recommended) — only shown when uncovered Study Sets are detected⚠ Honest boundary: the protection above relies on auto-snapshots being on (the default). If you manually disable auto-snapshot AND have never run a manual / baseline snapshot, "the state from one second before the crash" is not guaranteed by the code to be recoverable. What the architecture gives you is recovery to the most recent complete snapshot, not lossless per-keystroke versioning.
MN 4.2 and earlier vs MN 4.3+ · Data atomicity
These two failure modes have completely different recovery costs. "Corruption" requires the user to manually identify which data is wrong, possibly to roll back or hand-fix. "Missing objects" is visible, locatable, automatically repairable — it tells you which hash didn't download fully and re-fetches. That's the difference MN 4.3's new architecture brings.
Download MarginNote 4 and put your notes into a tool that treats data safety as an explicit engineering job.