Imoran ai LogoImoran ai Logo

Cookie Cutter

A Chrome extension that finds the reject button on cookie consent banners and clicks it, with per-site stats in a popup. Plain JavaScript on Manifest V3, installed unpacked from GitHub.

Services

Browser Extension Development & Tooling

Timeline

4 Days

Technologies
JavaScriptChrome Extension APIManifest V3declarativeNetRequestMutationObserver
View Live Project →

The Cookie Cutter wordmark and icon beside the dark popup, showing 47 banners rejected, five recent sites and one failed site with a Report link.
01

Introduction

A Chrome extension that finds the reject button on cookie consent banners and clicks it, with per-site stats in a popup. Plain JavaScript on Manifest V3, installed unpacked from GitHub.

02

Work Done

Chrome Extension

The popup in its light and dark themes side by side, with the same counts, recent sites and failed list.
03

Challenges

Clicking reject on banners from many different consent platforms without ever clicking an unrelated button, reaching banners rendered inside iframes, and dealing with banners that offer no reject option at all.

Close-up of the popup controls in both themes: a failed site with a Report link, a Pause here button, the hide uncloseable banners toggle and the Export menu.
04

Solutions

Known selectors for each consent platform first, then a text match that only runs inside an element confirmed to be a cookie banner. The content script runs in every frame and reports stats against the top-level host. After 15 seconds without a click, the site is logged as failed and the banner can be hidden with page scroll restored.

The bottom of the dark popup: the hide uncloseable banners toggle, then the footer with the Export menu open, offering JSON and CSV.
The light popup header with the extension switched on, above a row reading Paused on stackoverflow.com with a Resume button.
05

Results

Version 1.3.0 on GitHub under MIT. It covers OneTrust, Cookiebot, Didomi, Quantcast, TrustArc, CookieYes and about a dozen more platforms, sends the Global Privacy Control signal, and merges a community rules file from the repo at most once a day.

06

Details

Why I built it

Most cookie banners put "Accept all" up front and tuck "Reject all" behind a second screen. Cookie Cutter is a Chrome extension that finds the reject button and clicks it. It's plain JavaScript with no build step: one content script, one service worker and a popup. You install it unpacked from GitHub. It isn't on the Chrome Web Store.

Clicking the right button

The selector list covers OneTrust, Cookiebot, Didomi, Quantcast, TrustArc, CookieYes and about a dozen more platforms, with a text match on phrases like "reject all" as the fallback. The first version ran that text match across the whole page, and on a GitHub profile it clicked "Decline invitation". Now an element has to carry a known consent platform id or class, or mention cookies or GDPR, before anything inside it gets clicked.

Banners inside frames

Didomi, Quantcast and Google's consent screen can render inside an iframe, so the content script runs in every frame. Stats are counted against the top-level host, and only the top frame can report a failure, so a miss inside an embedded frame doesn't put the whole page on the failed list.

When nothing works

A MutationObserver watches for late banners for 15 seconds. If a banner showed up and no click landed, the site goes into the popup's Failed list with a Report link that opens a prefilled GitHub issue. With the hide setting on, the banner is hidden and page scroll comes back.

Created by

Tope Akintola

Published

November 2, 2026

Role

Browser Extension Development & Tooling

Share

Let's Work
Together

Hand Reaching

Have a project in mind? We'd love to hear about it. Let's create something great together!

PRODUCT DEVELOPERUI ENGINEERMVP DEVELOPMENTFRONTEND DEVELOPMENTPRODUCT DEVELOPERUI ENGINEERMVP DEVELOPMENTFRONTEND DEVELOPMENTPRODUCT DEVELOPERUI ENGINEERMVP DEVELOPMENTFRONTEND DEVELOPMENT