Four ways to sync your Obsidian vault across devices
A vault has no special format — it's just a folder of Markdown files. That means the sync method isn't locked to Obsidian itself: OS-native sync like iCloud Drive, the paid official Obsidian Sync, version control like Git, or a self-hosted tool like Syncthing all work. This page compares the four on cost, platform support, and what happens when a conflict hits — and for Git and Syncthing, we actually collided two offline edits and recorded how each one broke.
If you're Apple-only, iCloud Drive is already on and costs nothing extra. Crossing into Windows/Android, or wanting official version history and support, points to Obsidian Sync (paid). Comfortable with Git and want change history as commits? Use Git (free, needs setup). Want free, cross-platform, no cloud vendor in the loop? Syncthing (free, needs setup). What we actually measured is how each one breaks on conflict: Git inserts conflict markers straight into the note body and needs a manual resolve; Syncthing keeps one version under the original name and saves the other as a separate file automatically.
The shortest path from a spoken note on iPhone into your vault is in the four-route comparison (no plugin needed).
The four methods
All four do the same job — keeping a vault folder identical across devices — but the mechanism differs.
Comparison table
| Aspect | iCloud Drive | Obsidian Sync | Git | Syncthing |
|---|---|---|---|---|
| Cost | Free (within default iCloud storage) | Paid (pricing) | Free (depends on host storage) | Free |
| Setup effort | Minimal | Low (inside the app) | High (repo + plugin config) | Medium (pair every device) |
| Platforms | Apple only | All platforms | All platforms (mobile depends on plugins) | All platforms |
| On conflict | Numbered duplicate file (per Apple's own help doc; not tested with Obsidian here) | Exact mechanism undocumented; recoverable via Version History | Inserts conflict markers in the note (measured) | Keeps both as separate files (measured) |
| Version history | None (for plain Markdown files) | Yes (Standard: 1 month, Plus: 12 months) | Yes (unlimited, per commit) | Off by default (can be enabled) |
| Transport encryption | Yes | End-to-end encrypted | Depends on host (HTTPS/SSH) | TLS, direct P2P |
| Works offline? | ◎ | ◎ | ◎ | ◎ |
※ Rows on conflict behavior and version history mix directly-tested and documentation-based cells. See the next section and the test-scope box at the end.
Comparing failure modes — we actually triggered a conflict
Feature-comparison tables for sync tools are common; articles that actually collide two devices and record what happens are not. In this test environment (Ubuntu 24.04, GitHub Actions) we set up real Git and Syncthing instances, wrote a different line to each of two folders standing in for two devices while offline, then let them sync again. iCloud Drive and Obsidian Sync couldn't be reproduced hands-on — no macOS/iOS is available here — so those two rely on official documentation instead.
Conflict markers land directly inside the note body
We created one bare repository and cloned it twice, standing in for two devices. With both "offline", each appended a different line to the same note and committed, then pushed one after the other.
# デバイスAを先にpush → 成功
$ git push origin master
ba48c62..f0be52e master -> master
# デバイスBをpush → 拒否される
$ git push origin master
! [rejected] master -> master (fetch first)
# デバイスBがpull(マージを試み、衝突)
$ git pull origin master --no-rebase
Auto-merging Daily Notes/2026-08-26.md
CONFLICT (content): Merge conflict in Daily Notes/2026-08-26.md
# ノートの中身(Obsidianで開くとこのまま見える)
# 2026-08-26
- 08:00 起床
<<<<<<< HEAD
- 09:15 買い物メモ
=======
- 09:00 会議メモ
>>>>>>> f0be52e...
No data is lost, but the note opens in Obsidian with the conflict markers still in it — easy to misread as your own text if you don't notice. Resolving it means understanding what <<<<<<<, =======, and >>>>>>> mean, editing by hand, and committing again. Even with a plugin like Obsidian Git handling the sync, this final resolve step still requires knowing Git.
Keeps one version, exiles the other to a separate file
Running the same scenario — two Syncthing v1.27.2 instances (installed via apt) paired directly over local TCP — broke in a completely different way from Git.
# 同期再開後のvault-a
Daily Notes/2026-08-26.md
Daily Notes/2026-08-26.sync-conflict-20260825-212901-P2RW67Y.md
# 2026-08-26.md(採用された側)
# 2026-08-26
- 08:00 起床
- 09:15 買い物メモ(デバイスBで追記)
# 2026-08-26.sync-conflict-....md(退避された側)
# 2026-08-26
- 08:00 起床
- 09:00 会議メモ(デバイスAで追記)
Syncthing automatically keeps one version under the original filename and saves the other as a separate note named *.sync-conflict-timestamp-deviceID.md. No markers end up mixed into the text, and no Git knowledge is needed. But nothing gets merged automatically — miss the exiled note and the same topic stays split across two files. Unfamiliar filenames piling up in vault search is a real, if minor, cost of this approach.
Apple's own guide describes numbered duplicate files
Apple's own Mac Help guide describes a conflict-resolution dialog for iCloud Drive documents: you can keep multiple versions, and each gets a numbered filename like "Seven Wonders" and "Seven Wonders 2". That dialog, however, is documented for apps using Apple's document-versioning API (e.g. Pages) — there's no guarantee the same dialog appears for an app like Obsidian that reads and writes the filesystem directly. This environment has no macOS/iOS, so we could not test Obsidian plus iCloud Drive hands-on.
The sync-lag issue covered in the daily-note article — where the write is instant but propagation takes seconds — is a separate phenomenon from a true conflict. Knowing both speeds up diagnosing iCloud trouble.
The resolution algorithm isn't published; Version History is the safety net
The official help (obsidian.md/help/sync, fetched August 26, 2026) doesn't spell out which version wins on simultaneous edits. It does warn, in its own words, that "if you are using Obsidian Sync alongside other cloud storage providers, such as Dropbox, Google Drive, or OneDrive, please back up your vault to prevent sync conflicts" — so the concept of a conflict clearly exists here too. The documented recovery path is Version History: pick a past version of a note from a list and restore it. Retention is 1 month on Standard, 12 months on Plus, and 2 weeks for attachments regardless of plan.
Obsidian Sync requires payment to sign up, so we could not create an account or reproduce a real conflict in this environment.
Of the four, the two we could measure — Git and Syncthing — both preserved every byte of data. The difference is where the mess lands: markers mixed into the text, or a split into two files. Both share the same risk: nothing forces you to notice. The single most reliable precaution is not layering two sync methods onto the same vault at once — which is exactly what Obsidian's own warning calls out.
How to choose
Whatever you choose, the vault is still just a folder
Choosing a sync method only decides how the vault folder stays identical across devices. Simple Memo emails each note to you and appends it directly into the daily note inside your vault folder on iCloud Drive. That means vaults synced via iCloud Drive; a vault run purely through Git or Syncthing, with no iCloud Drive in the picture, is out of scope today.
FAQ
Which one should I actually pick?
Can I sync across devices without Obsidian Sync?
What happens if I edit from two devices at once?
Can I run more than one sync method at once?
If Obsidian Sync overwrites something by mistake, can I undo it?
Tested August 26, 2026 on Linux desktop (Ubuntu 24.04, GitHub Actions runner). Hands-on (actually run in this session): Git 2.x — one bare repo with two clones reproduced an offline concurrent edit, a rejected push, a merge conflict on pull, and conflict markers landing in the note body. Syncthing v1.27.2 (installed via apt) — two instances paired directly over local TCP reproduced the same scenario and produced a sync-conflict-*.md file. Based on official documentation (not hands-on): Obsidian Sync's version-history retention and its warning about combining with other cloud storage (obsidian.md/help/sync, fetched directly from this session on August 26, 2026); iCloud Drive's numbered-filename behavior on document conflicts (Apple's own Mac Help). Not testable in this environment: actual conflict behavior for Obsidian plus iCloud Drive (no macOS/iOS here) and an actual conflict on Obsidian Sync (a paid service we don't have an account for). Tool behavior can change over time — check each official site for the latest.
Related pages
References
- Obsidian Help — Sync — Official help for Obsidian Sync, fetched directly from this session on August 26, 2026
- Obsidian Help — Version History — Official help on version-history retention and restore
- If document versions conflict in iCloud Drive on Mac — Apple Support — Apple's own guide to what happens when iCloud Drive documents conflict
- git-merge — official Git documentation — Official reference for how merge conflicts work
- Syncthing Documentation — File Versioning & Conflicts — Official documentation on Syncthing's conflict-file naming
- Simple Memo - for Obsidian — App Store — App Store download page