Mass unsubscribe from Gmail promotions, updates, and any search with one click.
Users
31
+28 in 30 days
Rating
0.0 / 5
unchanged in 30 days
Ratings
0
0 in 30 days
Store rank
#131K
#109K among extensions
Version
1.1
updated 13 Jun 2026
Users
monthly, 5 months
Latest, 18 Oct 2026:31 usersMove the mouse over the chart for any month
Ratings count
monthly, 5 months
Latest, 18 Oct 2026:0 ratingsMove the mouse over the chart for any month
The Chrome Web Store rounds user counts down to the leading digit, so the user line moves in steps. The ratings count is exact and is the better signal of real adoption.
About Gmail Mass Unsubscribe
# Gmail Mass Unsubscribe
You can select all 10,000 emails in Gmail and delete them in one click.
So why can't you unsubscribe from all of them at once?
Now you can.
Gmail Mass Unsubscribe scans your inbox, promotions, or any Gmail search
and automatically unsubscribes you from every mailing list it finds —
in bulk, in the background, while you do other things.
## How it works
- Pick a category (Promotions, Updates, Social) or any Gmail search query
- Filter by age, read/unread, starred, importance
- Hit Start — the extension reads each email's `List-Unsubscribe` header
and fires the unsubscribe request directly to the sender, the same
one-click request your browser would send if you clicked "Unsubscribe"
yourself
- For senders that only support email-based unsubscribes, it sends the
unsubscribe email through your Gmail account so it arrives from
Google's servers — the same way Gmail's own button works
- Optionally trash successfully unsubscribed threads when done
## Floating button
A small button lives on your Gmail page so you can select specific
emails by hand and unsubscribe just those — no need to open the popup.
## Privacy — zero servers
This extension has no backend. No server. No database. No analytics.
Nothing leaves your browser except:
1. The Gmail API calls you explicitly trigger, which go directly from
your browser to Google, and
2. The unsubscribe requests themselves, which go directly from your
browser to each sender's unsubscribe link — exactly the request a
normal click on "Unsubscribe" would make.
Your emails are never read by us. We don't store anything. We don't
know who you are. The OAuth token lives only in Chrome, on your device.
Full privacy policy: [docs/privacy.html](docs/privacy.html)
## Permissions explained
| Permission | Why it's needed |
| --- | --- |
| `gmail.modify` | Read `List-Unsubscribe` headers, send unsubscribe emails, and optionally move threads to Trash. Minimum Gmail scope that covers all three actions. |
| `identity` | Google sign-in via Chrome's built-in OAuth flow. |
| `storage` | Saves your limit/trash preferences locally. |
| `tabs` | Reads the current Gmail URL to detect which view you're in. |
| `host_permissions` (all sites) | Required to send the actual unsubscribe request to each sender's own domain. Without it, Chrome blocks the extension from contacting any site other than Gmail, so unsubscribe links would fail. The extension only ever contacts the exact unsubscribe URL found in each email — it doesn't browse, track, or read any other site. |
## Shortcomings
Most unsubscribe links work fine, but a few categories of sender will
still show up as failures no matter what:
- **IP/origin-allowlisted endpoints** (looking at you, **LinkedIn** and
**Medium** 👀). Their unsubscribe links return a flat `403` to any
request that doesn't come from a recognized mailbox-provider's
infrastructure (Google, Microsoft, Yahoo, etc.) — presumably to stop a
leaked unsubscribe link from being used to unsubscribe someone else.
Noble goal, terrible execution: it punishes every legitimate tool
while a determined spammer just... doesn't bother checking your inbox
for leaked links in the first place. A browser extension can't
originate requests from those IP ranges, so these can only be
unsubscribed via Gmail's own built-in "Unsubscribe" button or the
sender's account settings page.
- **Dead or expired links.** Some older emails contain unsubscribe links
generated by a bulk-email platform's click-tracking system that has
since expired; the platform itself returns an error page. These are
dead links in any browser, not something this extension can fix.
- **Transactional email with no unsubscribe link.** Receipts, calendar
invites, security alerts, etc. legitimately have no
`List-Unsubscribe` header — these are correctly reported as "no
unsubscribe link found" rather than treated as failures.
See [NOTES.md](NOTES.md) for the full debugging history behind these.
## Suggestions / Comments
Found a bug, have a feature idea, or just want to complain about
LinkedIn's unsubscribe endpoint? Email **betaupsx86@gmail.com** directly
or open an issue on GitHub.
## Development
See [DEVELOPMENT.md](DEVELOPMENT.md) for running a local unpacked build.