Skip to main content
← alle tools Cookie Banner

TTDSG/GDPR Cookie Banner — fertig zum Einbauen.

Wähle deine Tools, passe Style + Position an, kopiere den Code. Funktioniert in jedem Framework — von Plain HTML bis Next.js.

Opt-In Pattern, Consent-Speicherung, Revoke-API, Dark-Mode-ready
live preview
bottom · card

🍪 Cookies

Wir verwenden Cookies um unsere Website zu verbessern. Analyse-Cookies helfen uns die Nutzung zu verstehen. Mehr

Welche Tools verwendest du?
Design
cookie-banner.html
<!-- Cookie Banner — generated by thenotperfect.de/tools/cookie-banner -->
<div id="cookie-banner" class="cookie-banner cookie-banner--bottom cookie-banner--card" role="dialog" aria-labelledby="cookie-banner-title" hidden>
  <div class="cookie-banner__inner">
    <div class="cookie-banner__content">
      <h2 id="cookie-banner-title" class="cookie-banner__title">🍪 Cookies</h2>
      <p class="cookie-banner__text">
        Wir verwenden Cookies um unsere Website zu verbessern.
        Analyse-Cookies helfen uns die Nutzung zu verstehen. 
        <a href="/datenschutz" class="cookie-banner__link">Mehr erfahren</a>
      </p>
    </div>
    <div class="cookie-banner__actions">
      <button type="button" class="cookie-banner__btn cookie-banner__btn--reject" data-cookie-action="reject">Nur notwendige</button>
      <button type="button" class="cookie-banner__btn cookie-banner__btn--accept" data-cookie-action="accept">Alle akzeptieren</button>
    </div>
  </div>
</div>

<style>
  .cookie-banner { position: fixed; z-index: 9999; font-family: system-ui, -apple-system, sans-serif; }
  .cookie-banner--bottom { bottom: 1rem; left: 1rem; right: 1rem; }
  .cookie-banner--top { top: 1rem; left: 1rem; right: 1rem; }
  .cookie-banner--corner { bottom: 1rem; right: 1rem; max-width: 380px; }
  .cookie-banner--modal { top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 500px; }
  .cookie-banner__inner {
    background: #ffffff; color: #1a1a1a; padding: 1.25rem; border-radius: 0.75rem;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15); display: flex; gap: 1rem; align-items: center; flex-wrap: wrap;
    border: 1px solid rgba(0,0,0,0.06);
  }
  
  
  .cookie-banner__content { flex: 1 1 280px; }
  .cookie-banner__title { margin: 0 0 0.5rem 0; font-size: 1rem; font-weight: 600; }
  .cookie-banner__text { margin: 0; font-size: 0.875rem; line-height: 1.5; color: #4a4a4a; }
  .cookie-banner__link { color: #84cc16; text-decoration: underline; }
  .cookie-banner__actions { display: flex; gap: 0.5rem; flex-shrink: 0; flex-wrap: wrap; }
  .cookie-banner__btn { padding: 0.625rem 1.25rem; border-radius: 0.5rem; font-size: 0.875rem; font-weight: 500; cursor: pointer; border: none; transition: all 0.2s; }
  .cookie-banner__btn--reject { background: transparent; color: #4a4a4a; border: 1px solid rgba(0,0,0,0.12); }
  .cookie-banner__btn--reject:hover { background: rgba(0,0,0,0.04); }
  .cookie-banner__btn--accept { background: #84cc16; color: #fff; }
  .cookie-banner__btn--accept:hover { filter: brightness(1.1); }
  @media (prefers-color-scheme: dark) {
    .cookie-banner__inner { background: #1a1a1a; color: #fff; border-color: rgba(255,255,255,0.1); }
    .cookie-banner__text { color: #aaa; }
    .cookie-banner__btn--reject { color: #ccc; border-color: rgba(255,255,255,0.15); }
    .cookie-banner__btn--reject:hover { background: rgba(255,255,255,0.06); }
  }
</style>
cookie-banner.js
<!-- Cookie Banner Logic — TTDSG/GDPR konform — by thenotperfect.de -->
<script>
(function() {
  var STORAGE_KEY = 'cookie_consent';
  var BANNER = document.getElementById('cookie-banner');
  var CONSENT = JSON.parse(localStorage.getItem(STORAGE_KEY) || 'null');

  function show() { if (BANNER) BANNER.hidden = false; }
  function hide() { if (BANNER) BANNER.hidden = true; }

  function setConsent(decision) {
    var consent = {
      decision: decision, // 'accepted' | 'rejected'
      timestamp: new Date().toISOString(),
      tools: ["ga4","mixpanel"]
    };
    localStorage.setItem(STORAGE_KEY, JSON.stringify(consent));
    hide();
    window.dispatchEvent(new CustomEvent('cookie-consent-changed', { detail: consent }));
    if (decision === 'accepted') {
      loadAnalytics();
      loadMarketing();
    }
  }

  function loadAnalytics() {
    // Load Google Analytics 4 here
    // Example: window.gtag = ...
    // Load Mixpanel here
    // Example: window.gtag = ...
    console.log('[consent] Analytics tools enabled');
  }

  function loadMarketing() {
    
    console.log('[consent] Marketing tools enabled');
  }

  // Wire up buttons
  document.querySelectorAll('[data-cookie-action]').forEach(function(btn) {
    btn.addEventListener('click', function() {
      var action = btn.getAttribute('data-cookie-action');
      setConsent(action === 'accept' ? 'accepted' : 'rejected');
    });
  });

  // Show banner if no consent yet
  if (!CONSENT || !CONSENT.decision) {
    show();
  } else if (CONSENT.decision === 'accepted') {
    loadAnalytics();
    loadMarketing();
  }

  // Public API to revoke consent
  window.revokeCookieConsent = function() {
    localStorage.removeItem(STORAGE_KEY);
    show();
  };
})();
</script>

Brauchst du auch DSGVO + Impressum?

Wir bauen vollständige Compliance-Setups: Cookie-Banner + Datenschutzerklärung + Impressum + Cookie-Scanner.

Compliance-Beratung anfragen

So funktioniert das Cookie Banner Generator

In drei Schritten zu deinem Ergebnis — kostenlos, ohne Anmeldung.

  1. 01

    Tools auswählen

    Welche Cookies setzt deine Seite? Wähle aus 12 gängigen Tools (GA4, Mixpanel, Stripe, Hotjar, etc.) — wir kategorisieren automatisch.

  2. 02

    Style anpassen

    Position (Bottom/Top/Corner/Modal), Style (Card/Minimal/Bar) und Akzent-Farbe. Live-Preview zeigt jede Änderung sofort.

  3. 03

    Code kopieren

    Fertigen HTML + CSS + JS Code kopieren und in deine Seite einfügen — funktioniert mit jedem Framework.

FAQ

Häufige Fragen zum Cookie Banner Generator.

thenotperfect --help cookie-banner
THENOTPERFECT(COOKIE-BANNER) — Häufig gestellte Fragen
Q:Ist der Banner TTDSG/GDPR-konform?
A: Ja: Opt-In-Pattern (alle Cookies sind aus bis Zustimmung), 'Nur notwendige' Option auf gleicher Stufe, Consent-Speicherung mit Timestamp, Revoke-API.
Q:Was ist mit dem Tracking VOR Consent?
A: Wichtig: Lade Tracking-Tools NICHT bevor Consent erteilt wurde. Der generierte Code lädt Analytics/Marketing erst NACH Klick auf 'Akzeptieren'.
Q:Funktioniert das mit Next.js?
A: Ja. Den HTML-Block in deine Seite (z.B. layout.tsx als dangerouslySetInnerHTML), den JS-Block in einen <Script>-Tag mit strategy='afterInteractive'.
Q:Wie kann ich das Design noch anpassen?
A: Der CSS ist im HTML-Block enthalten — passe Farben, Padding, Border-Radius beliebig an. Mobile-responsive und Dark-Mode-aware ist es schon.
Q:Brauche ich noch eine Datenschutzerklärung?
A: Ja. Cookie-Banner und Datenschutzerklärung sind zwei getrennte Pflichten. Die DSGVO verlangt beide. Wir helfen gerne bei beidem.
Q:Was kostet das Tool?
A: Komplett kostenlos. Open-Code, kein Vendor-Lock, keine Subscriptions wie bei Cookiebot.
Weitere Fragen? → thenotperfect.de/kontakt

Verwandte Tools

Weitere kostenlose Tools die dir helfen.