GitSyncMarks — bookmark sync to your Git repository

v3.0.4 — Multi-provider Git sync, Bitwarden backup to Git, profile transfer, push mirrors, live sync progress, and nested-card UI. Release notes

Pre-releases — try betas and help shape the next version. Extension · App

Or download the ZIP from Releases and load unpacked:

Chrome: chrome://extensions/ · Firefox: about:debugging

"With a distributed tool, no single place is vital to your data."

— Linus Torvalds (Git creator)

Features

Multi-Provider Git Sync

Connect your Git host or self-hosted server — each profile uses its own provider and URL. Full provider list

Profile Transfer & Push Mirrors

Copy bookmarks between profiles (replace or merge). Optional push-only backup remotes after each successful sync.

Bitwarden Vault Backup

Store password-protected vault exports in your repo with optional extra encryption. List, download, or delete remote backups.

Live Sync Progress

Step text during push, pull, and profile switch — e.g. 3 / 12 files or 1 of 3 steps in popup and settings.

Linkwarden Synergy

Save any page or link directly to Linkwarden with automatic viewport screenshots, collection sync, and tag management.

Smart Search

Dedicated lightning-fast search interface with theme support and full keyboard navigation. Find any bookmark in milliseconds.

Sync History & Restore

Browse past commits, preview changes with a diff view, and restore any previous bookmark state in one click.

Three-way merge

Automatic conflict-free sync when changes happen on both sides simultaneously. No manual merge needed in most cases.

Clean Remote Orphans

Preview and delete remote bookmark files that no longer exist locally — keep your repository tidy.

Private by design

Direct communication with your Git provider's API. No third-party servers, no analytics. Your data stays in your repository.

Per-file storage

Each bookmark is a readable JSON file in your Git repo — diff-friendly, versioned, and easy to edit manually.

Multiple profiles

Up to 10 profiles (work, personal, projects). Each has its own provider, repository, and bookmark set.

Automation ready

Add bookmark JSON via git or the included GitHub Action template; the extension imports them on the next sync.

Context menu

Quick folders, Search Bookmarks popup, Open All from Folder, Save to Linkwarden, favicon copy/download, and profile actions.

Setup wizard: After installation, the wizard guides you through provider, token, and repository setup. Connection check only validates access — you choose pull, merge, push, folder setup, or skip before anything is written.

Screenshots

Connection settings
1. Connection
Sync settings
2. Sync
Menu settings
3. Menu
Linkwarden settings
4. Linkwarden
History
5. History
Smart Search
6. Smart Search
Extension popup
7. Popup
Save to Linkwarden
8. Save to Linkwarden
Setup wizard welcome
9. Wizard (Welcome)
Setup wizard token
10. Wizard (Token)
Setup wizard repository
11. Wizard (Repository)
Bitwarden backup settings
12. Bitwarden Backup

Configure the Extension

Prefer a guided setup? The built-in setup wizard opens on first install and walks you through provider selection, token creation, repo setup (auto-create or existing), and your first sync action. Restart it anytime from Settings → Help → Start setup wizard.

  1. Open Settings → Git → Connection and choose your Git provider (full list)
  2. Create a repository for your bookmarks (or let the wizard auto-create one on supported hosts)
  3. Generate a personal access token with repository read/write scope (provider-specific — see provider docs)
  4. Enter token, owner, repository, branch, and bookmark folder path (e.g. bookmarks)
  5. Run Check connection, then choose pull, merge/sync, push, initialize structure, or skip
Get it on F-Droid GitHub Releases Obtainium

Or download APK, Flatpak, or ZIP from Releases.

Features

Multi-provider sync

GitHub, GitLab, Gitea-family hosts — same on-disk bookmark format as the extension; three-way merge, conflict resolution (force push / pull), and sync history (preview, restore, undo)

Settings Sync to Git

Encrypted sync (extension-compatible), individual mode with client-name based `profiles/<alias>/settings.enc`, import from other device

Move bookmarks

Long-press to move bookmarks to any folder (including subfolders)

Reorder bookmarks

Drag-and-drop to reorder; changes persisted to repo

Delete bookmarks

Long-press to delete (available even when edit mode is locked)

Share link as bookmark

(Android/iOS): Add shared URLs from browser or other apps as bookmarks; FAB / dialog to add bookmarks and create folders on all platforms

Edit bookmarks

Long-press → edit title and URL (atomic commit to repo)

Generated files

Optional README.md, Netscape HTML, RSS, Dashy YAML (Off / Manual / Auto) committed with “Generate now”

GitHub Repos / Linkwarden

(optional): Virtual tabs from your GitHub account or Linkwarden collections (profile toggles in Sync settings)

Export

JSON plus HTML, RSS, Dashy YAML, Markdown from the current tree (Settings → Files)

UI density & diagnostics

S/M/L list density, sync on resume, What’s New after updates, debug log (About)

Password-protected export/import

Export settings with AES-256-GCM encryption; import detects encrypted files and prompts for password

Screenshots

Bookmarks view
Bookmarks
Empty state
Empty state
Settings
Settings

Configure the App

  1. Open the app and go to Settings
  2. Enter your Personal Access Token with repo scope
  3. Enter Repository Owner and Repository Name (your bookmark repo)
  4. Set Branch (usually main) and Base Path (default bookmarks)
  5. Click Test Connection, then Save
  6. Use Sync Bookmarks to fetch your bookmarks