Cookie Away is free and open source. Star it on GitHub …
Brand style sheet · Landing page and everything after

Say no to cookies, nicely.

One small system for cookieaway.com: Kooky, a pink monster with googly eyes, ink outlines, hard shadows and very little else. Everything on this page is a working component you can lift into the landing page.

See the components
Up Strategy Lab × Cookie Away1 November 2026Inter 800 · Cookie Pink #FF3FAF · Ink #111113Type “cookie” anywhere 🍪
01 · Idea & voice

A sticker on a grey web.

Cookie banners all look the same: blue buttons, grey text, a giant "Accept all". Cookie Away should look like the opposite, something you'd stick on your laptop. The icon already says it: flat pink, a thick black outline, googly eyes and a mouth that's mostly appetite.

It says no for you

The one job. Every page leads back to it: you stop clicking "Accept all", and the extension does the boring rejecting.

Careful, not clever

It checks its own clicks, leaves pay-or-accept walls alone and never follows a link away from the page. We say that plainly rather than promising magic.

Small and open

Free, MIT, no server, no analytics. One person built it to make browsing a little less annoying, and the site should feel that size.

How it talks Voice

Plain, a bit dry

Cookie Away clicks "Reject" so you don't have to.

Revolutionary AI-powered consent management.

Honest about limits

Some banners still get past it. Send us the link.

Blocks 100% of cookie banners, guaranteed.

Kooky can joke, the copy can't shout

It found the reject button hidden three screens deep.

NO MORE COOKIES!!! 🍪🔥 Game-changer!

No long dashes in copy, sentence case everywhere, "consent tools" not "CMPs" (except in the code), and we say "reject", never "block".

02 · Kooky

Meet Kooky. He is the logo.

Kooky is a bit kooky: a pink bottle-cap of a monster whose eyes never quite agree. The original drawing, with the pupils split out so they follow your pointer, each at its own pace, and drift back to his cross-eyed rest when you stop. He blinks now and then. Same drawing at every size; the favicon is the SVG too.

Hero · 220–340px
Section · 120px
Inline · 64px
Nav · 40px
Favicon · SVG

Lockups Wordmark is Inter 800, −0.05em

Cookie Away
Cookie Away
Cookie Away

Illustration assets/kooky-nom-nom.png

Kooky bursting out of a browser window, munching cookie banners, with consent-tool logos flying off

Kooky bursting out of a browser window and munching the banners, consent-tool logos flying off. It's the one illustration that explains the product without words, so it leads the homepage.

Use it on white or paper, never cropped tighter than the window. The consent-tool logos are part of the joke: keep them small and tumbling, never as endorsements.

On pink, Kooky keeps his own pink body: the ink outline separates it. Clear space is one eye's width on every side.

Don't Keep Kooky recognisable

Recolour the body
Stretch it
Soft drop shadows (use hard ink ones)
Put it on banner blue
Fade it into a watermark

Kooky is our own monster, not a borrowed one. No blue fur and no Sesame Street references.

03 · Colour

One loud pink, lots of ink.

Cookie Pink is the icon's exact pink. It is a fill, never text on paper: pink text uses Pink Deep. Ink text on pink passes AAA, so primary buttons are pink with ink labels. Night comes from the arcade reference and only shows up in the dark band and the easter egg.

Cookies Illustration only, never UI

Contrast pairs WCAG 2.2, checked live

Proportion Roughly, per page

Paper 56White 18Ink 16Pink 8
04 · Type

Inter, tight and heavy.

Same face as the promo video and store art. Headlines at 800 with negative tracking feel like stickers; body at 400, 17px, 1.6 line height. JetBrains Mono only for code and specs. Fluid sizes run from 360px to 1440px.

Mega · 800 · −0.055em
clamp(3rem → 7.5rem)

Reject all.

H1 · 800 · −0.045em

Cookie banners, handled.

H2 · 800 · −0.04em

It finds the reject button for you.

H3 · 700 · −0.025em

Even when it's three screens deep

H4 · 700

Careful by design

Lead · 400 · 18–22px

When a page shows a consent banner, Cookie Away finds it and clicks the reject option. If there isn't one, it opens the settings and switches everything off.

Body · 400 · 17px / 1.6

News sites often hide "Reject" behind a settings screen full of "legitimate interests". Cookie Away opens it, clicks "Object all", switches off whatever is still on, and saves. If even that fails, it leaves the banner alone. Links are Pink Deep with a 2px underline.

Eyebrow · 700 · caps +0.14emHow it works
Stat · 800 · tabular

27

Small / micro

Works in Chrome, Edge, Brave and Arc.

Last updated 1 November 2026

Highlight · one per heading

Say no automatically

Code · JetBrains Mono 500

Load it from chrome://extensions, then press ⌘ R to reload.

05 · Shape & elevation

Outlines and hard shadows.

Anything you can press or that holds content gets a 2px ink outline and a hard offset shadow, no blur. Hover lifts it up and left, press pushes it flat. Screenshots of real sites are the exception: they get the soft shadow so they read as "the web", not as us.

--shadow-1 · 3px
Buttons, small cards
--shadow-2 · 6px
Browser frames, hero cards
--shadow-pink
On ink, or one highlight per page
--shadow-soft
Real-site screenshots only
--r-1 · 8px
Chips, inputs, code
--r-2 · 16px
Cards, frames
--r-3 · 28px
Panels, demo stage
--r-pill
Buttons, tags
06 · Glyphs & illustration

Simple icons, real cookies.

Icons are drawn on a 24px grid with a 2px round stroke, the same family as the extension popup. Put them in a pink sticker square when they lead a card. Cookies are the only illustration: one SVG symbol for big sizes, a CSS one for crumbs and inline use.

Cookies & crumbs

<svg><use href="#cookie"/></svg> above 40px · .ca-cookie with --c below
07 · Grid & spacing

Twelve columns, one page.

Max width 1200px, fluid gutters, reading width 40rem. It's a single landing page, so most sections are a heading plus two or three columns. Spacing runs on a 4px base.

.ca-grid · 12 cols · gap clamp(16 → 28px) · .ca-cols-2 / -3 / -4 for the common cases
08 · Components

Everything the page needs.

All classes are prefixed ca- and live in styles/components.css. Copy the markup from this page; nothing depends on a framework.

Buttons .ca-btn

Add to Chrome View on GitHub How it works Chrome Web Store · in review
Primary: pink + ink label. One per view. --line beside it, --ink for "next step", aria-disabled while the store listing is in review.

GitHub star button & star bar .ca-ghstar · .ca-starbar

Star…Live count from the GitHub API, cached for an hour. Falls back to "Star" with no number.
Cookie Away is free and open source.Star it on GitHub …

Tags & chips .ca-tag · .ca-chips

RejectedLeft alone · pay wallAcceptedMIT licenceIn reviewv4.2.2
  • OneTrust
  • Cookiebot
  • Didomi
  • Sourcepoint
  • Usercentrics
  • TrustArc
  • Google Funding Choices
  • Quantcast
  • Complianz
  • +18 more

Cards .ca-card + --lift / --soft / --pink / --flat

1

Finds the banner

Rules for 27 consent tools, and wording in about 20 languages for the rest.

2

Clicks reject

Or opens the settings, objects to everything and saves.

3

Checks it worked

The banner has to actually go away. If not, it tries once more.

Knows when to stop

Stuck in a reload loop? It pauses on that site for 24 hours.

A card can wear googly eyes: <span data-googly="22" data-googly-pos="ca-eyes--corner">. Use on one card per section at most.

Stats .ca-statcard

27

consent tools it knows by name

~20

languages it reads banners in

0

servers, accounts or analytics

1 click

to turn it off for a site

Only facts we can stand behind. Test results come from site/data/benchmarks.json through scripts/build-benchmarks.py, never typed in by hand.

Toast & callout .ca-toast · .ca-callout

Rejected on techradar.com "Reject all" Left alone on aftonbladet.se rejecting costs money

Pay-or-accept walls

Some news sites only let you reject if you subscribe. Cookie Away never clicks "subscribe", so on those it leaves the banner for you to decide.

Forms .ca-field · .ca-input · .ca-switch

Opens a pre-filled GitHub issue. Nothing is sent anywhere else.
That doesn't look like a web address.

Tabs, install steps & code .ca-tabs · .ca-steps · .ca-codeblock

  1. Open the store page. One click on "Add to Chrome".
  2. That's it. It starts on the next page you open. Kooky in your toolbar shows what he did.

FAQ details.ca-faq

Does it send my browsing anywhere?

No. There's no server and no analytics. The only exception is the optional Jev feature, which is off by default and needs your own API key.

What happens on pay-or-accept walls?

It leaves them alone. Rejecting there means paying, and that's your call, not the extension's.

Why not just block the banners?

Hiding a banner doesn't tell the site you said no, and some sites keep tracking until you answer. Cookie Away actually answers.

Comparison table .ca-table

Cookie AwayConsent-O-MaticBanner hiders
Answers "no" to the site✓✓–
Digs into settings screens✓✓–
Reads unknown banners by their wording✓–~
Works with zero setup✓~✓

Placeholder rows to show the component. Be generous to the others; the README already recommends them.

Footer .ca-footer

09 · Interactive

Show it, then let them play.

The animated hero (js/hero.js) carries the homepage. The banner demo below is a spare explainer for the store, socials or a future how-it-works page. Googly mode is the fun bit: switch it on and click anything on this page to stick a pair of eyes on it, the way the icon has them.

Banner demo Plays once on view, replay on click

news.example.com/the-article-you-wanted
We value your privacyWe and our 847 partners use cookies to personalise ads and content, measure performance and develop products. You can change your choices at any time.
Rejected "Reject all"
  1. A generic banner slides in. It is deliberately grey and blue: the villain looks like the web.
  2. Kooky pops in at the extension icon and eyes up the banner.
  3. "Reject all" gets a pink ring, Kooky chomps, the banner is eaten with crumbs.
  4. A toast says what it clicked. The page underneath is finally readable.

Googly mode Click any shape · click eyes to peel · Esc to stop

When it's on you can tell: the toggle turns ink with a pink pulse, the window gets a pink frame, the cursor becomes an eye, and a pill at the bottom counts the eyes and has Peel off and Done.

Works on the whole page, not just this box.

Eye size follows the thing you click (22% of its shorter side, 14–64px). Pupils are springs with a little gravity, so they wobble when you move fast. All of it switches off with prefers-reduced-motion.

10 · The page

One page, top to bottom.

The homepage is short. Someone arrives from LinkedIn, GitHub or the store, sees what it does in the first screen, and either installs it, stars it, or reads on to check it's safe. The full test results live on /benchmarks.

  1. Star bar.ca-starbar · live GitHub stars (hidden while there are none)
  2. NavKooky + wordmark · How it works, Results, Install, FAQ · .ca-ghstar on the right
  3. HeroMega headline with one highlight · lead · Install + View on GitHub · proof line · the animated illustration
  4. How it worksThree step cards (.ca-num) · finds, says no, checks it’s gone
  5. Careful by designInk band · four icon cards: never pays, keeps your place, knows when to stop, off when you want it
  6. ResultsThree stat cards filled from the test data · link to /benchmarks
  7. InstallPrivate by default · tabs: From GitHub / Chrome Web Store · steps
  8. Open sourcePink band · Kooky · Contribute + star buttons
  9. FAQFive questions (FAQPage schema) · the report-a-site form
  10. FooterInk · googly switch · “This site uses no cookies. Obviously.”

Band example .ca-pinkband

Open source

Built to make browsing a little less annoying.

It's free under the MIT licence. If you find a site where it doesn't work, send the link, or fix it and send a pull request.

11 · Motion

Quick in, a little bounce.

Stickers land with an overshoot, banners leave like they've been eaten, eyes follow you. Nothing loops except the arcade sprite and the occasional blink. Click a curve to run it.

Signature moves

Chomp

Two bites and a wobble, 840ms. Click it.

Pop

Stickers landing, staggered 70ms. Click to replay.

Crumbs

Twelve crumbs fly out when a banner goes. Click it.

TokenValueUse
--d-1120msHover, press
--d-2240msToggles, accordions, menus
--d-3480msReveals, the banner leaving
--d-4900msHero entrance, the chomp sequence
--stagger70msLists, card rows
12 · Arcade easter egg

Type “cookie”.

A hidden maze game for later. Kooky runs a maze of consent banners eating cookies; the ghosts are "Accept all" buttons. It's our own game in the maze-chase genre, not a copy of anyone's: our sprite, our maze, our rules. This sheet only sets the look and the trigger.

Accept all

Trigger

Typing "cookie" anywhere fires a ca:arcade event (already wired in js/googly.js). The footer hints at it: “Or type cookie”.

Look

Night background, pink chomper with one googly eye, cookies as pellets, banner-blue "Accept all" ghosts. Ink walls with pink edges.

Rules (draft)

Eat every cookie. A "Reject all" power-up turns the ghosts grey for 6 seconds. Score is "banners rejected". Arrow keys and swipe.

13 · Open decisions

Decided, and still open.

Defaults are set so the page can be built now. Each of these changes something visible.

Decided

cookieaway.com on Vercel

Static files from /site, one edge function for the star count. No analytics, no cookies, fonts self-hosted.

Decided

His name is Kooky

Because he's a bit kooky and his eyes are all funny. He can be "he" in copy, and the toasts can say "Kooky rejected…".

Decided

We publish the benchmarks

Every site, both extensions, the method and the caveats, on cookieaway.com/benchmarks. The homepage shows the headline numbers only.

Decided

Minimal homepage

Hero with the illustration, how it works, careful by design, results, install, FAQ, footer. Copy checked with Jev Writer.

Decided

Googly switch in the footer

A small button under “Play”, next to “This site uses no cookies. Obviously.” The hero stays about the product.

Open

Retire #FF3EA5

The promo video and store art use #FF3EA5, a near-miss of the icon's #FF3FAF. Default: switch them on the next render.

Cookie Away style sheet · draft v0.1 · tokens, components and motion in site/styles/, googly eyes in site/js/googly.js