Open-source project
stravo1/obsidian-gdrive-sync avatar
stravo1/obsidian-gdrive-sync

stravo1/obsidian-gdrive-sync: Obsidian vaults on Google Drive, with the caveats stated up front

sync notes across devices in Obsidian via Google Drive

1,055 stars41 forksTypeScriptLicense varies

At a glance

What is it?
This Obsidian plugin syncs a vault to your own Google Drive as a free alternative to Obsidian Sync, configured with a browser login and a restricted OAuth scope, and installed through BRAT because it is not in the official plugin list. Its README opens with a warning about data loss, a compatibility note about Obsidian 1.7, and a statement that the plugin is not optimised for vaults of more than a thousand files.
Who is it for?
Adopt obsidian-gdrive-sync if you want Obsidian's paid sync replaced by your own Google Drive and you are willing to keep a backup, because the design avoids a git repository, a Google Cloud project and any server you have to run, and the OAuth scope is restricted to the files the app uses.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 17 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The pitch, and the boundary of the promise

The Obsidian Google Drive Sync Plugin is a plugin that allows you to seamlessly sync your notes across devices with Google Drive. It is a free alternative to the paid Obsidian Sync service, and with a few simple steps you can enable auto sync and access your notes from any device, mobile or desktop, always up to date.

What makes it interesting against the alternatives is what it deliberately avoids. The plugin is designed to be easy to install and configure compared to other plugins, with no need to tackle git repositories, no Google Cloud project to manage, and no other external app to set up. That is a real gap being filled, because the common free route to Obsidian sync is a git repository, which is a poor fit for a lot of people, and the paid route is a subscription.

The features list says the same thing in four bullets. Simple installation, and it notes that although the plugin is not yet listed in the official Obsidian Plugins List, it is still relatively easy to install. User friendly configuration, set up the Drive synchronisation with a few clicks and no complex setup. Automatic sync, your notes sync to Drive while you edit them so every device has the latest version. And access anywhere.

The security claim is narrow and worth reading exactly as written. Your notes are securely stored on your Google Drive, and the plugin does not store or collect any data whatsoever.

Installation goes through BRAT

Because the plugin is not in the official list, the installation route is BRAT, the community plugin for installing beta plugins.

You install the BRAT plugin from the Community Plugins section, enable and open it, paste the repository link into Add beta plugin, then select Latest Version and click Add Plugin. That is the whole procedure, and it is also the reason the plugin can be distributed at all: the official list has a review process, and a plugin that is not ready for that review has to come in through a plugin manager instead.

The README also keeps the manual installation instructions, but marks them obsolete and manual installation only if the previous method is not viable. The manual route is to download the zip from the latest release and unzip it, which should give a folder named `obsidian-gdrive-sync` containing three files, and if the unzip leaves you with three loose files instead, to place them under a new folder with that name, and then to copy the folder into the vault's `.obsidian/plugins` directory. You then need to turn on Show Hidden Files and Folders in your file manager to see the `.obsidian` folder at all, and to create the `plugins` folder if you have never installed a plugin before.

Then the plugin has to be enabled, under Community Plugins, and you need to wait a few seconds with a good internet connection, and then the Google Drive Sync settings appear under the Community Plugins section.

The configuration flow, and the restricted Drive scope

Configuration is a short sequence, and the one decision with security weight is the Google account authorisation.

Under the plugin settings you get a link to log in, and clicking it opens a new browser window. You choose the Google account whose Drive space will be used, and you provide access with the specific permissions of seeing, editing, creating and deleting only the specific Google Drive files you use with this app. That is the restricted scope, and it is the right one: the plugin does not need your whole Drive, and the permission you grant says so.

You are then given a code or token, the refresh token, which you paste into the space provided under the plugin settings, and you click the checkmark button. As prompted, you reload the plugin by turning it on and off under Community Plugins, which is how the plugin picks up the credential.

On first use with a vault you are prompted to initialise the vault. That creates a folder with the same name as your vault in your Google Drive and copies all the files into it, and you might need to reload the plugin again once the initialisation is complete. After that you set your preferred synchronisation interval.

On a second device you create a vault with the same name, install the plugin and log in, and the plugin should detect that a vault with the same name has been synced and uploaded to Drive and should download all the files.

The vault name is the sync key

The FAQ makes it explicit. Yes, the vault needs to have the same name across devices, because the plugin can be used to sync multiple vaults and it uses the vault name to identify which vault is currently being worked on and needs to be synced, so that changes made under one name on one device appear under the same name on the other.

That is a design decision with a consequence. A single Drive account can hold several vaults, and they are distinguished by name, which means the naming is effectively an identifier in a namespace you do not control and that Google will happily let two people choose the same way.

It also means the initialisation step, which creates a Drive folder named after the vault, is not a one off convenience but the thing that binds a device to a remote folder. If you rename a vault locally, you have created a new sync target rather than renamed one, and the plugin has no way to know that the two were ever the same. That is a question worth asking before you set this up on a vault you care about.

Mobile: Android is a copy, iOS is a manual copy

The plugin works on Android and iOS, and the answers for the two are very different in practice.

On Android it is exactly how you would install it on the desktop. You download the latest release zip, extract it, and copy the folder to `.obsidian/plugins` under the location where you chose to create the vault, and there is a video walkthrough linked in the issue tracker.

On iOS the answer is that there is not a conventional way of installing unofficial plugins. The only option as of now is to create the vault, install the plugin and copy over the entire vault from the desktop to the iOS device, and if you have installed the plugin in an existing vault you can copy over the vault as is. Links to a GitHub comment and a Reddit thread are provided for both the Android and the iOS cases.

So on iOS the plugin is really a transport for the vault rather than a live sync, and the automatic synchronisation the plugin is built for is a desktop and Android feature. That is worth knowing before you plan a workflow that depends on editing a note on an iPhone and seeing it on a laptop.

The warnings, which are the most useful part of the README

The README states its limits early, and every one of them is about risk rather than features.

Versions older than beta-17 are not entirely compatible with Obsidian v1.7 and newer. The plugin is under active development, new releases might introduce bugs, and old releases might be incompatible with the new ones, which might lead to data loss. The instruction is to read the FAQs before trying it out and to create a backup of your vault before installing and trying the plugin. And it says the plugin is not optimised for a vault with more than a thousand files, with work on optimisation for large vaults in progress.

The compatibility note is a consequence of how Obsidian itself moves, since a plugin that depends on internal APIs breaks when the host application changes, and a plugin distributed outside the official list gets no compatibility review from Obsidian at all. The data loss warning follows from the same place, because there is no migration path for the state between plugin versions, and the authors are telling you so.

The file count limit is the one that is easy to overlook. A thousand files is not an unusual vault size for someone who has been taking notes for a few years, and a sync mechanism that gets slow at that scale will get slower, not better, and the fix is still in progress.

A sample plugin skeleton that was never renamed

The repository tells its own history in the manifest and the build configuration.

The `package.json` still carries the scaffolding names. The package is called `obsidian-sample-plugin` at version 1.0.0, with the description reading that this is a sample plugin for Obsidian, and the author field empty. The build scripts are the ones from the Obsidian sample plugin, a `dev` script running the esbuild config, a `build` script that type checks and then bundles for production, and a `version` script that runs a version bump script and stages the manifest and versions files.

The dependency list is small and readable. The runtime dependencies are axios and short-unique-id, and the dev dependencies are the Obsidian typings at 1.4.11, esbuild 0.14, TypeScript 4.7, the eslint typescript plugin and parser at 5.29, and the usual helpers. The package manager is pinned to pnpm 8.15.5 with a hash.

The top level of the repository is the standard Obsidian plugin layout, with `main.ts` and `actions.js` for the plugin logic, `manifest.json` and `styles.css` for the metadata and the styles, `esbuild.config.mjs` for the bundler, `tsconfig.json`, an `.eslintrc` with an `.eslintignore`, and an `.editorconfig`.

On the state of the project, the release tags are pre-release builds, `0.9.9-rc-01` from 2025-03-25, `0.9.9-rc-01.1` from 2026-04-23 and `0.9.9-rc-01.2` from 2026-05-02, and the last push to the repository was on 2026-10-07 with the repository not archived. The licence is MIT in the package manifest, and the plugin also has a Discord community linked from the README.

Editorial conclusion

Adopt obsidian-gdrive-sync if you want Obsidian's paid sync replaced by your own Google Drive and you are willing to keep a backup, because the design avoids a git repository, a Google Cloud project and any server you have to run, and the OAuth scope is restricted to the files the app uses. Do not adopt it as a system of record for a large vault, since the plugin says outright that it is not optimised for more than a thousand files and that new releases can be incompatible with old ones, which can lead to data loss. Verify first that your vault name will be identical on every device, since the vault name is the key the plugin uses to decide which vault it is syncing, and that you have a working backup before the first sync, because the plugin's own documentation asks you to create one.

Frequently asked questions

How do I install the Obsidian Google Drive Sync plugin?

Through BRAT, since the plugin is not in the official Obsidian plugin list. Install and open BRAT, paste the repository link into Add beta plugin, select Latest Version and click Add Plugin, then enable Google Drive Sync under Installed Plugins and open its settings.

Does the vault have to have the same name on every device?

Yes. The plugin uses the vault name to identify which vault is being worked on, and it can sync multiple vaults, so changes made under one vault name on one device have to appear under the same name on another. Initialisation creates a Drive folder named after the vault, which is what binds a device to it.

Does the plugin work on iOS?

There is not a conventional way of installing unofficial plugins on iOS, so the only option is to create the vault, install the plugin and copy the entire vault over from the desktop. On Android it installs the same way as on the desktop, by copying the extracted plugin folder into `.obsidian/plugins`.

How much access does the plugin need to my Google Drive?

You authorise the account with the restricted scope of seeing, editing, creating and deleting only the specific Google Drive files you use with the app, and you paste the resulting refresh token into the plugin settings. The plugin states that your notes are stored on your own Drive and that it does not store or collect any data.

What are the risks of using this plugin?

The README warns that the plugin is under active development, that new releases might introduce bugs and old releases might be incompatible with them, which might lead to data loss, that versions older than beta-17 are not entirely compatible with Obsidian v1.7 and newer, and that the plugin is not optimised for vaults with more than a thousand files. It asks you to create a backup before installing it.

Official sources

  1. Issues
  2. README
  3. Releases
  4. stravo1/obsidian-gdrive-sync on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/stravo1-obsidian-gdrive-sync.svg)](https://hysenlabs.com/projects/stravo1-obsidian-gdrive-sync)

Was this useful?