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

OmniSync GDrive

donespeakdonespeak121 downloads

Synchronize your vault with Google Drive

Add to Obsidian
  • Overview
  • Scorecard
  • Updates7

Synchronize your Obsidian vault with Google Drive. Bidirectional sync with conflict resolution, pull-only mode, and git integration.

Features

  • Bidirectional Sync — Keep your vault and Google Drive in sync
  • Pull Only — One-way download from Drive, skip local uploads
  • Conflict Resolution — Compare local and Drive versions, keep local / Drive / both per file
  • Sync Preview — Review all changes before executing
  • Multiple Directory Mappings — Sync different vault folders to different Drive folders
  • Shared Drive Support — Works with Google Shared Drives
  • Git Integration — Auto-commit before and after sync for version history
  • Ignore Rules — Skip files/folders via patterns (.gitignore compatible)
  • Test All — Verify all Drive folder connections with visual indicators

Installation

From Obsidian Community Plugins (pending)

  1. Open Settings → Community Plugins → Browse
  2. Search for "OmniSync GDrive"
  3. Tap Install then Enable

Manual Installation

  1. Download gdrive-bisync.zip from the releases page
  2. Create the .obsidian/plugins/gdrive-bisync/ folder in your vault (the folder name must match the plugin ID) and unzip the archive into it
  3. Enable the plugin in Settings → Community Plugins

Each release also attaches the flat main.js, manifest.json, and styles.css files, which is what the Obsidian community installer uses. The gdrive-bisync.zip is an additional convenience for manual/BRAT installs and is also produced locally by bash build/build-release.sh (output: dist/gdrive-bisync.zip).

Setup

1. Configure the Plugin

  1. Open Settings → OmniSync GDrive
  2. Click Sign in with Google and follow the device code flow
  3. After signing in, the status bar shows ☁️ GDrive: idle. Use Test All in the Directory Mappings section to verify folder access

2. Add Directory Mappings

  1. In the Directory Mappings section, use the Add button to create a mapping
  2. Set Local Path — the vault folder to sync (e.g., Documents)
  3. Set Drive Folder ID — the Google Drive folder ID (from the URL: https://drive.google.com/drive/folders/<FOLDER_ID>)
  4. Click Test All to verify enabled folder connections (green ✓ / red ✗ status indicators)
  5. Enable the mapping

Usage

Commands

Command Description
Sync now with Google Drive Full bidirectional sync (upload + download + delete)
Pull from Google Drive One-way download only (no uploads, no Drive deletions)
Show sync status Display last sync time and synced file count
Resolve pending conflicts Currently shows sync status (same as above); conflict review is handled inside the sync/pull flow

Sync Behavior

Action Sync Pull
Local file changed → upload to Drive ✅ ❌ Skipped
Drive file changed → download to local ✅ ✅
Local file deleted → delete from Drive ✅ ❌ Skipped
Drive file deleted → delete locally ✅ ✅
Conflict (both changed) Prompt for resolution Prompt for resolution

Ignore Rules

Files and folders can be ignored during sync:

  • Patterns — Glob patterns (e.g., *.tmp, .DS_Store)
  • Folders — Directory names to skip (e.g., .trash, .obsidian)
  • Gitignore — Auto-merge patterns from your vault's .gitignore

Configuration

All settings are stored in .obsidian/plugins/gdrive-bisync/data.json:

  • OAuth — Client ID, encrypted tokens, token expiry
  • Sync Mode — Manual, auto-pull, auto-push, or full auto
  • Sync Interval — Auto-sync interval in minutes (default: 30)
  • Directory Mappings — Local path ↔ Drive folder ID pairs
  • Ignore Rules — Patterns and folders to exclude
  • Git Integration — Auto-commit before/after sync

Security

  • OAuth tokens are encrypted with AES-256-GCM before storage
  • The encryption key is generated at runtime and stored in the plugin config
  • Note: The encryption key and encrypted tokens reside in the same config file (data.json). This is standard for Obsidian plugins but means anyone with filesystem access to your vault can decrypt the tokens. Treat your vault's config with the same care as your credentials.
  • Token refresh happens transparently using the stored refresh token. If refresh or decryption fails, the tokens are cleared and you must sign in again.

Development

Prerequisites

  • Node.js 18+
  • npm

Build

npm install
npm run build

Output: main.js

Release

bash build/build-release.sh

Output: dist/gdrive-bisync.zip

Project Structure

src/
├── auth/            # OAuth device code flow, token management
│   ├── OAuthClient.ts
│   └── TokenManager.ts
├── drive/           # Google Drive API client
│   ├── DriveClient.ts
│   ├── DriveChanges.ts
│   └── DriveFile.ts
├── git/             # Git integration
│   └── GitIntegration.ts
├── settings/        # Plugin settings UI and config
│   ├── SettingsManager.ts
│   └── SettingsTab.ts
├── sync/            # Sync engine and conflict detection
│   ├── ConflictDetector.ts
│   ├── SyncEngine.ts
│   ├── SyncPlan.ts
│   └── SyncStateManager.ts
├── types/           # TypeScript type definitions
│   └── index.ts
├── ui/              # Modal dialogs and status bar
│   ├── ConflictResolutionModal.ts
│   ├── SyncPreviewModal.ts
│   └── SyncStatusBar.ts
├── utils/           # Utilities
│   ├── CryptoUtils.ts
│   ├── FileUtils.ts
│   └── IgnoreUtils.ts
└── main.ts          # Plugin entry point

License

MIT

HealthExcellent
ReviewCaution
About
Sync your Obsidian vault with Google Drive bidirectionally or in pull-only mode, map multiple local folders to Drive (including Shared Drives), and preview all changes before applying. Resolve conflicts with visual diffs and per-file choices, and maintain history with automatic Git commits while honoring ignore patterns.
SyncingIntegrationsGit
Details
Current version
1.0.6
Last updated
Last month
Created
Last month
Updates
7 releases
Downloads
121
Compatible with
Obsidian 1.5.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
donespeakdonespeakdonespeak
GitHubdonespeak
  1. Community
  2. Plugins
  3. Syncing
  4. OmniSync GDrive

Related plugins

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Google Drive Sync

Syncs a vault into Google Drive for cross-platform use (works for iOS).

Sync Engine

The extensible vault synchronization engine: Fast · Free · Reliable. Supports WebDAV, S3, and Google Drive.

Nutstore Sync

Sync your vault with Nutstore (坚果云) using WebDAV protocol.

Open in Terminal

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

OneDrive Sync

Sync your Obsidian vault with OneDrive Personal/Consumer

GitHub

GitHub Sync

Sync vault to personal GitHub.

Remotely Save

Sync notes between local and cloud with smart conflict: S3, Dropbox, webdav, OneDrive, Google Drive, Box, pCloud, Yandex Disk, Koofr, Azure Blob Storage.

Nextcloud Sync

Bidirectional sync between Obsidian and Nextcloud using hash-based change detection.