Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Snapshot Diff

arghonisarghonis21 downloads

Take quick snapshots of notes and compare them, file recovery versions or git commits side by side with the live note. Highlights, an editable current side and one-click restore of changed blocks.

Add to Obsidian
Snapshot Diff screenshot
  • Overview
  • Scorecard
  • Updates2

Take a snapshot of a note in one click, then compare any earlier version of it side by side with the live note: the whole file on both sides, with the changes highlighted word by word.

A snapshot (left) compared with the live note (right), with changed words highlighted

Features

  • Instant snapshots. One command or ribbon click saves the note as it is now, with an optional name ("before rewriting the ending"). Snapshots are plain Markdown files and follow the note when you rename or move it.
  • Every earlier version in one picker. Choose from:
    • your snapshots;
    • the automatic versions Obsidian's core File recovery plugin saves every few minutes;
    • the git commits that changed the note, if your vault is a git repository (desktop only).
  • Full side-by-side diff. The earlier version is on the left, the live note on the right, both shown in full, with changes highlighted by whole words so rewritten sentences stay readable. Both sides have line numbers, and the space added to keep paragraphs aligned is hatched, so it's never mistaken for blank lines.
  • Edit while you compare. The right side is your actual note and saves as you type. The left side is read-only, but you can select and copy from it.
  • Restore a block in one click. The arrows between the panes copy a changed block from the earlier version back into your note.

Usage

Command What it does
Take snapshot Saves the current note immediately, with a timestamp.
Take named snapshot Same, but asks for a name first.
Compare with previous version… Opens the picker: the 5 latest snapshots, the 5 latest File recovery versions and the 5 latest git commits for the note. When there are more snapshots or File recovery versions, a Show all… row lists every one.
Compare with latest snapshot Opens the diff with the newest snapshot, skipping the picker.
Delete a snapshot… Moves a snapshot to the trash.

The camera and compare icons in the ribbon, and the right-click menu on a note, offer the same actions. You can bind hotkeys to any command in Settings → Hotkeys. Inside a diff tab, Change… switches to another version and Open note opens the note in a regular tab.

Settings

Setting Default
Snapshot folder .snapshots Where snapshots are stored. A folder starting with a dot is hidden from the file explorer, search and graph. Changing it doesn't move existing snapshots.
Ask for a name on every snapshot Off When off, Take snapshot saves instantly; Take named snapshot always asks.
Maximum snapshots per note 5 When a new snapshot goes over the limit, that note's oldest snapshots are deleted. Set to 0 for no limit.
Collapse unchanged sections Off Fold long unchanged stretches in the diff.
Show restore arrows On Show the arrows that copy a block back into the note.

You can change the snapshot limit to whatever suits you. High limits aren't recommended, especially in large vaults: every snapshot is a full copy of its note.

Where snapshots are stored

Each snapshot is a Markdown file named after the note, the date and the time (plus your name for it, if you gave one), for example .snapshots/Chapters/Chapter 6/Chapter 6 2026-10-05_14-30-12.md. It survives restarts and you can open it with any tool. When you rename or move a note, its snapshots move with it, and renaming also updates their file names. Snapshots deleted with Delete a snapshot… go to your system trash (or the vault's .trash folder). Snapshots removed by the per-note limit are deleted permanently.

If your vault is a git repository, add the snapshot folder to its .gitignore:

.snapshots/

Privacy and permissions

  • No network access and no telemetry. Nothing leaves your device.
  • Git (desktop only). To list commits, the plugin runs your installed git in the vault folder with read-only commands (git log and git show). It never commits, checks out or changes anything in the repository. If git isn't installed, or the vault isn't in a repository, commits don't appear. On mobile, git is never used.
  • File recovery. Obsidian has no public API for File recovery versions, so the plugin reads them the way Obsidian's own File recovery screen does. If a future Obsidian update changes that, these versions stop appearing in the picker and everything else keeps working. File recovery must be turned on in Settings → Core plugins. Its versions are tied to the note's path, so versions saved before a rename don't appear.

Installation

From Obsidian: open Settings → Community plugins → Browse, search for "Snapshot Diff", install it and enable it.

Manually: download main.js, manifest.json and styles.css from the latest release into <vault>/.obsidian/plugins/snapshot-diff/, then enable Snapshot Diff in Settings → Community plugins.

Development

npm install
npm run dev     # rebuild on every change
npm run build   # type-check and build for release

Both write the plugin to snapshot-diff/ (main.js, manifest.json, styles.css). Copy or symlink that folder into a test vault's .obsidian/plugins/ folder.

To release, run npm version patch (or minor, major). This updates manifest.json and versions.json and creates the tag. Then git push --follow-tags: a GitHub Actions workflow builds the plugin and drafts a release with the three files for you to publish.

This plugin was developed with the help of Claude, Anthropic's AI assistant, used for writing and reviewing code and documentation. All changes were reviewed and tested by the author.

License

MIT

HealthExcellent
ReviewSatisfactory
About
Take instant snapshots of any note and compare earlier versions side-by-side with the live file, showing whole-file, word-by-word change highlights. Browse snapshots, File Recovery versions or git commits, edit the live side while viewing a read-only prior version, and restore blocks with one click.
BackupReviewGit
Details
Current version
1.0.5
Last updated
2 days ago
Created
2 days ago
Updates
2 releases
Downloads
21
Compatible with
Obsidian 1.7.2+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
arghonisarghonis
GitHubmiguelpafume
  1. Community
  2. Plugins
  3. Backup
  4. Snapshot Diff

Related plugins

Git

Integrate Git version control with automatic backup and other advanced features.

GitHub

GitHub Sync

Sync vault to personal GitHub.

Draftline

Create manual Markdown version snapshots and compare them with inline diffs.

Time Machine

Browse, compare, and restore previous versions of your notes using built-in file-recovery snapshots.

Edit History

Keep an automatic edit history of your notes, review the history, diff against or restore previous edits.

Local Version History

On-disk version history for your notes: highlight changed lines, capture a timeline, and diff or restore any earlier version, fully local.

YAOS

Simple real-time sync powered by your own Cloudflare Worker.

Fit

Minimalist File gIT (FIT) to sync your files across mobile and desktop devices using GitHub.

Open in Terminal

Open your vault in a new terminal window or launch Claude Code, Codex CLI, or Gemini CLI directly from a terminal.

Journal Review

Review your daily notes on their anniversaries, like "what happened today last year".