Skip to content

Repository files navigation

DeGoogler

VersionLicensePlatformPowerShellJavaScript

A turnkey migration toolkit for leaving Google services behind. Interactive wizard, desktop data processor, and browser automation — everything a normal person needs to fully degoogle.

https://sysadmindoc.github.io/DeGoogler/

What Is This?

DeGoogler is a three-part toolkit that walks anyone through the process of migrating away from Google services:

  1. DeGoogler Web App (degoogler.jsx) — Interactive React wizard that guides you through service inventory, alternative selection, and generates a phased migration plan
  2. DeGoogler Toolkit (DeGoogler-Toolkit.ps1 + DeGoogler-Toolkit.Core.ps1) — PowerShell WPF desktop app that handles the heavy data processing: extracting Takeout archives, fixing photo metadata, converting passwords, processing emails, and more
  3. DeGoogler Browser Assistant (DeGoogler-BrowserAssistant.user.js) — Tampermonkey userscript that adds automation overlays on Google Takeout, YouTube, Gmail, and Google Account pages

Quick Start

Web App (Migration Wizard)

Open degoogler.jsx as a React artifact or deploy to any static hosting.

PowerShell Toolkit

# Download the two-file toolkit and run (auto-elevates, auto-installs dependencies)$degooglerDir=Join-Path$env:LOCALAPPDATA'DeGoogler'New-Item-ItemType Directory -Path $degooglerDir-Force |Out-NullInvoke-WebRequest https://raw.githubusercontent.com/SysAdminDoc/DeGoogler/main/DeGoogler-Toolkit.ps1 -OutFile (Join-Path$degooglerDir'DeGoogler-Toolkit.ps1')
Invoke-WebRequest https://raw.githubusercontent.com/SysAdminDoc/DeGoogler/main/DeGoogler-Toolkit.Core.ps1 -OutFile (Join-Path$degooglerDir'DeGoogler-Toolkit.Core.ps1')
& (Join-Path$degooglerDir'DeGoogler-Toolkit.ps1')

Or download the toolkit files from the repository/release bundle, keep DeGoogler-Toolkit.Core.ps1 beside DeGoogler-Toolkit.ps1, and right-click the main script → Run with PowerShell.

Browser Assistant (Userscript)

  1. Install Tampermonkey or Violentmonkey
  2. Click here to install
  3. Visit any Google service page — the assistant panel appears automatically

Release bundle and hosting

GitHub Pages deploys the static Web App automatically on every push to main through .github/workflows/pages.yml. To build the distributable bundle locally:

pwsh -NoProfile -File .\build-release.ps1

The command creates dist\DeGoogler-v<version>.zip, containing the Web App, userscript, two-file toolkit, bundled ExifTool runtime, documentation, and a generated SHA256SUMS manifest. The toolkit remains unsigned; the manifest provides release-artifact integrity checking.

The toolkit's Check for updates button queries the public GitHub Releases API. It only offers a download when the release contains both the expected bundle and a SHA-256 manifest; the downloaded archive is verified before it is saved. The same flow is available without opening the WPF window with -CheckForUpdate, or with an explicit verified download using -DownloadUpdate.

For self-hosting, build the lightweight static container from the repository root:

docker build -t degoogler:local .
docker run --rm -p 8080:80 degoogler:local

Features

Web App — Migration Wizard

FeatureDescription
Service Inventory16 Google products across 7 categories with difficulty ratings
Alternative Database50+ curated privacy-respecting alternatives with ratings, cost, and platform info
Migration Plan GeneratorPersonalized 5-phase plan based on your selections
Progress TrackingPersistent checklist across sessions with per-phase completion
Progress DashboardOffline CSS charts for weekly migrated-service snapshots and cleared priority categories
Reverse ModeStarts from a new email and tracks confirmation, email updates, and Gmail retirement for every candidate service
LocalizationWeb App shell, tracker, dashboard, and migration navigation in EN/ES/DE/FR
Plan ExportDownload full migration plan as Markdown
Shared Plan SyncKeeps the Web App and Browser Assistant migration checklist in the versioned plan.json shape
Toolkit Deep LinksOpen a selected PowerShell tool with a local path or plan file preselected via degoogler://
Direct LinksOne-click links to Google Takeout, signup pages, and import guides

PowerShell Toolkit — Data Processing

ToolDescription
Takeout ExtractorExtracts and organizes Google Takeout ZIP archives into labeled folders per service
Photos Metadata FixRestores metadata with an EXIF → JSON → Picasa → filename → filesystem-time cascade, robust Takeout sidecar matching, XMP fallback, and bundled ExifTool 13.59.
Password ConverterConverts Chrome password CSV to Bitwarden, KeePass, 1Password, or Proton Pass format. Optional secure-delete of source.
Email (MBOX) ProcessorSplits Gmail MBOX files into individual EML files with label-based folder organization
Thunderbird Archive PathWizard checklist for local Gmail-to-new-mailbox migration when direct MBOX import is unavailable
Bookmark ConverterConverts Chrome JSON bookmarks to Netscape HTML for Firefox/Brave/LibreWolf. Auto-detects Chrome installation.
Contacts ProcessorCleans Google Contacts VCF exports: deduplication, phone number standardization, encoding fixes
Takeout Export ConvertersConverts Keep notes to labeled Markdown, Fit data to Apple Health XML/TCX, saved places to GeoJSON/GPX/KML, and Chat/Hangouts MBOX to Matrix/Signal-shaped JSON

Browser Assistant — Userscript

ModuleGoogle SiteWhat It Does
Takeout Helpertakeout.google.comSelect All / Deselect All services, export priority guide, recommended settings checklist
YouTube Exporteryoutube.comExports subscriptions as OPML for import into NewPipe, FreeTube, or Invidious
Account Auditmyaccount.google.com8-step audit checklist: app permissions, security, devices, activity, ads, privacy, takeout, forwarding
Connected Services Auditormyaccount.google.com/permissionsScans OAuth-connected apps, lets you add email-registered services manually, tracks per-service migration steps (Set Password → Update Email → Revoke Google → Verified), categorizes by priority (Critical/Important/Optional), exports full audit as CSV
Gmail Migrationmail.google.comStep-by-step forwarding setup, auto-reply configuration, contact update checklist

Connected-service audit state is encrypted with AES-GCM before it is stored in userscript storage. The generated key is kept separately in the same browser profile; this protects the stored payload from casual inspection but is not a substitute for a password-manager vault.

To register the local toolkit protocol handler once, run:

& .\DeGoogler-Toolkit.ps1 -RegisterProtocol

The Web App's tracker can then open degoogler://toolkit?... links, and exported plan.json files can be loaded by the toolkit with -PlanPath.

How It Works

┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ Web App (React) │ │ Browser Assistant │ │ PS Toolkit (WPF) │
│ │ │ (Userscript) │ │ │
│ 1. Select services │ │ Automates Google │ │ Processes exported │
│ 2. Pick alternatives│────>│ Takeout, exports │────>│ data: photos, email │
│ 3. Generate plan │ │ YouTube subs, audits │ │ passwords, contacts │
│ 4. Track progress │ │ account, helps Gmail │ │ bookmarks, archives │
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
PLAN EXPORT PROCESS

Typical workflow:

  1. Use the Web App to audit your Google usage and pick alternatives
  2. Install the Browser Assistant userscript
  3. Visit Google Takeout — the assistant helps you select and export everything
  4. Download your Takeout archives
  5. Run the PowerShell Toolkit to extract, fix, and convert your data
  6. Import processed data into your new services
  7. Visit myaccount.google.com/permissions — the Connected Services Auditor scans your OAuth apps and guides you through migrating every linked account
  8. Work through the connected services checklist: set passwords, update emails, revoke Google access, verify each one
  9. Follow the migration plan checklist to complete the transition

Covered Google Services & Alternatives

Google ServiceTop Alternatives
GmailProton Mail, Tuta Mail, Fastmail, Mailbox.org
Google DriveProton Drive, Nextcloud, Tresorit, Filen
Google SearchDuckDuckGo, Brave Search, Startpage, Kagi
ChromeFirefox, Brave, LibreWolf, Vivaldi
Google CalendarProton Calendar, Tuta Calendar, EteSync
Google PhotosImmich, Ente Photos, PhotoPrism
Google MapsOsmAnd, Organic Maps, Magic Earth
YouTubeNewPipe, FreeTube, Invidious, Odysee
Google Docs/SheetsLibreOffice, CryptPad, ONLYOFFICE
Google MeetJitsi Meet, Signal, Element (Matrix)
Google KeepStandard Notes, Joplin, Obsidian
Google AuthenticatorAegis, Ente Auth, Bitwarden TOTP
Google Password ManagerBitwarden, KeePassXC, Proton Pass
Google TranslateDeepL, LibreTranslate
Google Play StoreF-Droid, Aurora Store
Android OS (Stock)GrapheneOS, LineageOS, CalyxOS

Prerequisites

PowerShell Toolkit:

  • Windows 10/11
  • PowerShell 5.1+
  • Admin rights (auto-elevates)
  • ExifTool (auto-downloaded for Photos Metadata Fix)
  • DeGoogler-Toolkit.Core.ps1 beside the main script (included in the repository/release bundle)
  • Bundled tools\exiftool.exe plus tools\exiftool_files\ (ExifTool 13.59, used offline)

Browser Assistant:

  • Tampermonkey or Violentmonkey browser extension
  • Any Chromium or Firefox-based browser

Web App:

  • Any modern browser

Privacy & Security

  • All data processing happens locally on your machine
  • No data is sent to any external server
  • The web app stores progress in browser storage only
  • The userscript only runs on Google domains
  • Password converter includes optional secure-delete (cryptographic overwrite) of source CSV
  • No tracking, no analytics, no telemetry
  • Long-running archive, photo, and MBOX operations checkpoint completed units in %LOCALAPPDATA%\DeGoogler\logs\*.progress.json so interrupted runs can resume.

FAQ / Troubleshooting

Q: Google Takeout export is failing or incomplete. A: Takeout exports for large accounts can take hours or days. Try reducing the archive size setting to 2GB and export in multiple batches. Use the Takeout Helper userscript to ensure all services are selected.

Q: Photos Metadata Fix says ExifTool not found. A: The toolkit auto-downloads ExifTool on first run. If that fails, manually download from exiftool.org and place exiftool.exe in %LOCALAPPDATA%\DeGoogler\.

Q: Chrome passwords CSV is empty. A: Chrome requires biometric/PIN verification before exporting. Go to chrome://password-manager/settings and click Export. The CSV is saved to your Downloads folder.

Q: YouTube subscription export found 0 channels. A: YouTube's page structure changes frequently. As a fallback, use Google Takeout to export YouTube data — the subscriptions.csv file works with most import tools.

Q: Can I do this gradually? A: Absolutely. The migration plan is designed to be completed over weeks or months. Run old and new services in parallel during the transition phase.

Q: How do I find all the services tied to my Google account? A: Start with the OAuth scan at myaccount.google.com/permissions — the Browser Assistant automates this. But that only shows apps using "Sign in with Google." You also need to think through every service where your Gmail is the registered email: banking, insurance, government, medical, work HR, shopping, social media, hosting, utilities. The Connected Services Auditor has a quick-add list of 24 commonly-forgotten services to jog your memory.

Q: What happens if I delete my Google account before migrating connected services? A: You lose access to every service that relied on Google OAuth for login (unless you set a standalone password first) and every service that sends password resets or 2FA codes to your Gmail. This is the #1 mistake people make. The migration plan's Connected Services phase must be completed BEFORE account deletion.

License

MIT License — see LICENSE for details.

Contributing

Issues and PRs welcome. If you know of a better alternative or have a migration tip, open an issue.

About

A turnkey migration toolkit for leaving Google services behind. Interactive wizard, desktop data processor, and browser automation — everything a normal person needs to fully degoogle.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages