unsubbed.co

Gmail Cleaner

Gmail Cleaner is a self-hosted email servers tool that provides web-based GUI for cleaning Gmail inboxes.

A privacy-focused inbox cleanup tool, honestly reviewed. No marketing fluff, just what you get when you run it on your own machine.

TL;DR

  • What it is: MIT-licensed Python/Docker web app that runs on localhost:8000 and cleans your Gmail inbox via the official Gmail API — bulk unsubscribe, delete by sender, mark as read, archive, label. No cloud intermediary, ever [README].
  • Who it’s for: Anyone paying $30–$84/year for SaaS inbox cleaners (Clean Email, Mailstrom, SaneBox) who doesn’t want a third-party server reading their mail — and is comfortable with Docker or Python basics [README][5].
  • Cost savings: Clean Email costs $29.99/year, Mailstrom $59.99/year, SaneBox starts at $84/year [5]. Gmail Cleaner is $0, forever.
  • Key strength: Your emails genuinely never leave your machine. You supply your own Google OAuth credentials — there is no shared backend anywhere in this architecture [README].
  • Key weakness: Setup requires creating a Google Cloud project and enabling the Gmail API yourself. For a non-technical founder, that’s a 30–60 minute barrier before you see the interface.

What is Gmail Cleaner

Gmail Cleaner is a Python web application that runs locally and exposes a Gmail-style interface at localhost:8000. It uses the official Gmail API with batch requests — 100 emails per API call — to perform bulk operations that Gmail’s own web interface makes painfully manual [README].

The privacy model is different from every SaaS alternative: there is no shared server. When you connect Gmail Cleaner to your inbox, the OAuth token lives on your machine (token.json, gitignored by default), all API calls go directly from your machine to Google’s servers, and the web interface you’re looking at is served by a process running on your laptop or VPS. Nobody else’s infrastructure is in the middle [README].

What makes it different from the Chrome extension cleanup tools is depth of functionality. This isn’t a one-trick unsubscriber — it handles unsubscribing, bulk deletion by sender, bulk deletion of multiple senders simultaneously with progress tracking, marking thousands of emails as read, archiving, label creation and management, marking emails as important or not, CSV export of email metadata, and smart filtering by date range, size, and inbox category [README].

The project sits at 1,780 GitHub stars. The developer, Gururagavendra, built it in response to a straightforward frustration: Gmail has no good native tool for this, and every tool that exists either charges a subscription or routes your email metadata through someone else’s cloud [README][website].


Why people choose it over Clean Email, Mailstrom, and SaneBox

The comparison market for Gmail cleanup tools in 2026 breaks into roughly three camps: SaaS services that process your data on their servers but promise not to sell it, one extension-based tool (InboxPurge) that stays local but is freemium, and Gmail Cleaner, which is fully local and fully free [5].

Versus Clean Email. Clean Email is the most feature-complete SaaS option — Auto-Clean rules, Smart Views, multi-provider support. It costs $29.99/year and routes your email through cloud servers, though the company states it doesn’t sell user data and claims GDPR compliance [5]. Gmail Cleaner does less (no auto-rules, Gmail-only) but costs nothing and never touches a cloud server. For a founder whose concern is data exposure rather than automation sophistication, that trade is obvious.

Versus Mailstrom. Mailstrom only accesses email headers and metadata, never body content — a better privacy story than most SaaS alternatives [5]. But the free tier only cleans 25% of your inbox, and paid plans start at $59.99/year. Gmail Cleaner accesses everything (via the official Gmail API, under your own OAuth credentials) and has no free-tier cap.

Versus SaneBox. SaneBox is a fundamentally different product — it does ongoing AI-powered sorting, not inbox cleanup. Plans start at $7/month ($84/year). If you’re looking for a one-time or periodic cleanup tool rather than continuous sorting, SaneBox is solving a different problem [5].

Versus InboxPurge. InboxPurge is the closest competitor on privacy — it runs as a Chrome extension with on-device processing [5]. But it’s a browser extension (not a standalone tool), is freemium with limited free unsubscribes, and doesn’t match Gmail Cleaner’s feature depth (no label management, no CSV export, no archive function). Gmail Cleaner runs on a VPS if you want it running 24/7 independently of your browser.

Versus Cleanfox. Cleanfox is free, but it sells derived email data to NielsenIQ [5]. That’s a privacy trade the Gmail Cleaner README explicitly addresses: “No external servers, no data collection” [README]. If Cleanfox’s business model bothers you, this is the alternative.

The honest summary: Gmail Cleaner wins on cost and privacy. It loses on ease of setup and cross-provider support (Gmail API only — no Outlook, Yahoo, or IMAP). For a privacy-conscious Gmail user who can get through the setup, the comparison isn’t even close.


Features

From the README — this is what the tool actually does:

Inbox management:

  • Bulk unsubscribe — supports both automatic one-click and manual unsubscribe methods [README]
  • Delete by sender — scan to see which senders have the most emails, delete all in bulk [README]
  • Bulk delete multiple senders simultaneously with real-time progress tracking [README]
  • Mark as read in bulk — thousands of unread emails at once [README]
  • Archive emails from selected senders (removes from inbox, not deleted) [README]
  • Label management — create, delete, apply, or remove labels to emails from specific senders [README]
  • Mark important / unmark emails from selected senders [README]
  • Download email metadata for selected senders as CSV [README]

Smart filters:

  • Date range filtering [README]
  • Email size filtering [README]
  • Category filtering: Promotions, Social, Updates, Forums, Primary [README]
  • Sender filtering [README]
  • Label filtering [README]

Performance:

  • Gmail API batch requests — 100 emails per API call [README]
  • The website claims the UI shows real-time progress tracking on bulk operations [website]

Privacy and security:

  • 100% local — no external servers involved [README]
  • You supply your own Google OAuth credentials — the app requests only read + modify permissions (not delete-all or send) [README]
  • credentials.json and token.json are gitignored by default [README]
  • Open source under MIT — inspect every line yourself [README]

What’s not there: no automatic rules engine (no “clean this sender every week”), no scheduled cleanup, no multi-account support, no cross-provider support (Gmail API only), no mobile interface. This is a manual-trigger tool, not a background automation.


Pricing: SaaS vs self-hosted math

Gmail Cleaner:

  • Software cost: $0, MIT license [README]
  • VPS if you want it always available: $5–6/month (not required — runs on your laptop)
  • Your time for initial setup: 30–60 minutes for technical users, more for non-technical

The developer’s optional $8 setup service — Gururagavendra explicitly offers a 1-on-1 Google Meet session ($8) where he’ll walk you through the installation if you’re stuck on Docker or the Google Cloud Console. He’s clear about what it is: “I guide you; I never see your passwords.” This is not a product charge — it’s a voluntary support option to keep the tool free [README].

SaaS alternatives for comparison [5]:

  • Clean Email: $29.99/year (cloud-based)
  • Mailstrom: $59.99/year (metadata-only, cloud)
  • SaneBox: $7/month = $84/year (AI sorting, cloud)
  • Cleanfox: Free (sells derived data to NielsenIQ)
  • InboxPurge: Freemium Chrome extension (limited free tier)

Three-year math for a typical founder using Clean Email:

  • Clean Email: $90 over 3 years
  • Gmail Cleaner self-hosted on a $6/month Hetzner VPS: $216 over 3 years — actually more expensive if you’re dedicating a VPS to it
  • Gmail Cleaner on your own laptop (no VPS): $0

The self-hosted math only beats the SaaS options when you’re running Gmail Cleaner on a machine you’d have running anyway (your laptop, an existing homelab server, or a VPS you’re sharing with other tools). Spinning up a dedicated $6/month VPS just for inbox cleanup costs more than Clean Email annually. The economics are different if the VPS serves multiple purposes or if you run it locally on demand.


Deployment reality check

The README’s setup path splits into two options: Docker (recommended) or local Python with uv. The Docker path is faster if you already have Docker Desktop installed; the Python path has fewer prerequisites for users already running Python.

Before either path, you must set up Google Cloud credentials. This is the real friction point. You need to:

  1. Create a Google Cloud project (or select an existing one)
  2. Enable the Gmail API
  3. Configure OAuth consent screen (External audience)
  4. Add your own Gmail address as a test user
  5. Create OAuth 2.0 credentials and download credentials.json

The README links to a YouTube walkthrough for this step [README]. The developer’s $8 setup service exists specifically because this step is where non-technical users drop off [README].

What you actually need:

  • Docker Desktop (for Docker path) or Python 3.9+ with uv (for Python path)
  • A Google account with access to Google Cloud Console
  • 30–60 minutes for a technical user
  • 1–2 hours for someone encountering Google Cloud Console for the first time

Platforms supported: Linux x86_64, Windows x86_64, macOS Intel, macOS Apple Silicon (M1–M4) — both Docker and Python paths [README].

What can go sideways:

  • The Google Cloud Console OAuth setup is genuinely complex for non-technical users. There are multiple menus, an “External audience” option that sounds alarming but is correct, and a test users list you must add yourself to. The YouTube tutorial helps, but it’s not a five-minute setup.
  • Once set up, credentials.json and token.json are local files. If you move to a different machine or lose those files, you redo the OAuth flow. There’s no account-based persistence.
  • Docker Desktop on macOS requires allowing local network access — standard, but occasionally flagged by corporate security policies.
  • This is a single-developer project at 1,780 stars. There’s no company behind it, no SLA, no guaranteed maintenance cadence. The README mentions the developer wants to grow the project and that the $8 support service helps fund continued development [README]. If a Gmail API change breaks something, the fix timeline depends on one person.

Realistic time estimate: 30 minutes for a developer who’s done Google Cloud Console before. 60–90 minutes for a technically-capable non-developer following the YouTube tutorial. For someone who’s never touched Google Cloud or Docker, budget an afternoon or take the $8 session offer.


Pros and cons

Pros

  • Actually free. Not freemium, not “free tier with limits” — free forever under MIT license. No credit card, no trial expiry, no per-seat pricing [README].
  • Genuinely private. OAuth credentials are yours, processing is local, no third-party server in the request chain. The architecture makes data exposure impossible by design, not just by policy [README].
  • Deep Gmail API feature set. Label management, CSV export, archiving, importance marking — features that most paid SaaS tools don’t include, because they’re supporting multiple email providers [README].
  • Batch API performance. 100 emails per API call means cleaning a 10,000-email inbox takes minutes, not hours [README].
  • MIT license. Fork it, modify it, embed it, audit it — no commercial agreement needed [README].
  • Cross-platform Docker support including Apple Silicon. Native M1/M2/M3/M4 support without Rosetta, which is a common pain point with older Docker-based tools [README].
  • Smart filters. Date range, size, and category filtering (Promotions, Social, Updates, Forums, Primary) before bulk operations means you can target precisely without blowing away emails you want [README].

Cons

  • Gmail only. The Gmail API means no Outlook, Yahoo, IMAP, or anything else. If you have multiple email providers, you need separate tools for each.
  • Complex setup for non-technical users. Google Cloud Console OAuth setup is a real barrier. The $8 setup service acknowledges this directly [README]. No SaaS alternative requires this.
  • Single-developer project. No company, no team, no published maintenance schedule. At 1,780 stars it’s healthy but not a community with dozens of active contributors. Gmail API changes or Google’s OAuth policy shifts could break the tool with no guaranteed timeline for fixes.
  • No scheduled/automated cleanup. Manual-trigger only. If you want “delete all emails from newsletters older than 90 days every Sunday,” you’d need to script around it yourself.
  • No multi-account support. One credentials.json per instance. Running it against two Gmail accounts requires running two separate instances.
  • No mobile interface. Runs at localhost:8000 — accessible from the machine running it, not from your phone on a different network (unless you set up a reverse proxy).
  • Token management is manual. The OAuth token stored in token.json is a local file. Lose it or switch machines and you re-authenticate from scratch.

Who should use this / who shouldn’t

Use Gmail Cleaner if:

  • You’re paying for Clean Email, Mailstrom, or any similar SaaS tool and your primary inbox is Gmail.
  • You want a one-time deep clean of a badly neglected inbox — thousands of promotional emails, old newsletters, unread counts in the thousands.
  • You’re comfortable with Docker or Python, or willing to spend 30–60 minutes following a setup guide.
  • Privacy matters to you — specifically, you don’t want any third party reading your email headers or metadata even if they claim not to sell it.
  • You’re a developer who wants to audit or modify the cleanup logic for your specific needs.

Skip it (use InboxPurge instead) if:

  • You want zero setup — a Chrome extension that works immediately inside Gmail without Google Cloud Console [5].
  • You’re okay with freemium limitations in exchange for browser-native convenience.

Skip it (use Clean Email instead) if:

  • You want ongoing automation — Auto-Clean rules that run continuously, not manual sessions [5].
  • You need cross-provider support (Outlook, Yahoo, IMAP alongside Gmail) [5].
  • You want a polished paid SaaS where you send a support ticket if something breaks.

Skip it (use Cleanfox instead) if:

  • You want the absolute easiest free option and you’re not bothered by your derived email data going to NielsenIQ [5].

Skip it entirely if:

  • You’ve never used Docker or the command line and don’t want to learn — the Google Cloud Console setup alone will be a frustrating afternoon. Either pay the $8 for the setup session or use a browser-based SaaS tool.

Alternatives worth considering

From the comparison landscape in [5] and the tool’s own positioning:

  • InboxPurge — Chrome extension, on-device processing, freemium. Best if you want zero-setup local privacy without Docker [5].
  • Clean Email — $29.99/year, cloud-based, Auto-Clean rules, multi-provider. Best if you want ongoing automation, not just one-time cleanup [5].
  • Mailstrom — $59.99/year, metadata-only (never reads body), multi-provider. Good middle ground on privacy for multi-provider users [5].
  • SaneBox — $84/year, AI-powered continuous sorting, not a cleanup tool per se. Different job to be done entirely [5].
  • Cleanfox — Free, but sells derived email data. The obvious privacy trade-off [5].
  • Google’s built-in tools — Gmail’s own filter and search operators (has:unsubscribe, from:sender older_than:1y) cover maybe 20% of what Gmail Cleaner does, slower, manually.

For a privacy-conscious Gmail user, the realistic shortlist is Gmail Cleaner vs InboxPurge. Pick Gmail Cleaner if you want maximum feature depth and true local processing. Pick InboxPurge if you want maximum convenience and are willing to live with freemium limits.


Bottom line

Gmail Cleaner is doing one thing well: it hands you back control of your own Gmail inbox without routing your data through anyone else’s infrastructure. The feature set is genuinely deeper than most paid alternatives — label management, CSV export, category filtering, multi-sender batch operations — and the price is zero. The MIT license means you can read every line of code that touches your OAuth credentials.

The trade-off is real and the project doesn’t hide it: setup requires creating your own Google Cloud project and managing your own OAuth tokens, which is a 30–90 minute barrier that the developer literally offers to walk you through for $8 [README]. If that barrier is surmountable for you, this beats paying $30–$60/year to a SaaS company that you’re trusting not to misuse your inbox metadata. If the setup sounds like a weekend project you’ll never start, InboxPurge or Clean Email will serve you better.

For a non-technical founder with 10,000 unread emails and a $30/year subscription they want to cancel, this is worth the afternoon.


Sources

  1. InboxPurge Blog“Best Gmail Cleanup Tool in 2026 (Free & Paid Options Compared)” (April 8, 2026). https://www.inboxpurge.com/blog/best-email-cleaner-for-gmail

Primary sources:

Features

Authentication & Access

  • Single Sign-On (SSO)

Integrations & APIs

  • REST API