Cookie Consent Solution for
GDPR, LGPD & PIPEDA Compliance

Launch a premium consent experience that looks polished, protects conversions, and keeps your site aligned with GDPR, LGPD, and PIPEDA requirements from day one.

WebCookies consent banner preview

Try it right here

Test the WebCookies banner in different modes. Each button resets stored consent and launches a fresh banner.

🌍

Auto-detect

Detects your country via IP and shows the correct compliance banner.

🇪🇺

GDPR Mode

Full GDPR banner with Reject All, granular toggles, and compliance badge.

🇧🇷

LGPD Mode

LGPD-compliant controls for Brazilian users.

🌙

Dark Popup

Dark-themed popup positioned at the center-bottom of the screen.

🎨

Custom Brand

Orange brand color, top position, with a custom company name.

Current Consent Status

No consent recorded yet
Compliance Coverage
GDPR (EU / EEA)
UK GDPR
LGPD (Brazil)
PIPEDA (Canada)
Basic (Rest of World)

Everything you need.
Nothing you don't.

A minimal, production-ready cookie consent solution that works in any JavaScript project without a build step.

Auto-detect jurisdiction

IP geolocation automatically selects the correct compliance mode — GDPR for EU, LGPD for Brazil, PIPEDA for Canada, or a basic notice everywhere else.

Granular category control

Toggle Necessary, Functional, Analytics, and Marketing cookies individually. Users can customize their exact preferences.

Zero dependencies

Pure vanilla JavaScript. No jQuery, React, or heavy frameworks. The minified bundle is under 30 KB.

localStorage fallback

Works perfectly without any backend. Consent is stored locally and syncs to Supabase when configured.

Google Consent Mode v2

Automatically calls gtag('consent', 'update', …) when the user makes a choice, compatible with Google's consent framework.

Fully accessible

ARIA roles, keyboard navigation, focus-visible ring styles, and semantic HTML throughout the banner.

Up and running in 4 steps

No build pipeline required. Works as an ES module, a script tag, or an npm package.

1

Install

Add the package via npm or include the CDN script tag before your closing </body>.

2

Initialize

Call CookieConsent.init() with your brand color and privacy policy URL.

3

Done

WebCookies auto-detects the user's country and shows the right consent UI — Accept All, Reject All, and Customize. Preferences are stored instantly.

4

React to consent

Listen for the vc:consent window event or call hasConsent('analytics') before loading tracking scripts.

Get your free custom installation plan

Enter your details and we'll send personalized setup instructions to your email.

We'll use your information only to send your customized setup instructions.

Thanks! Your request is ready. We'll send your personalized installation instructions to your email shortly.