Skip to main content

The open standard for cookie banners.

Own your cookie banner. c15t puts the banner, the preferences dialog and the consent rules for your scripts in your codebase.

Or read the quickstart for Next.js, TanStack Start, Nuxt, Vue, Astro or another framework.

Upgrading from v2? See what is new in v3.

  • Expo
  • Zed
  • Mastra
  • Infisical
  • Unkey
  • Mintlify
  • Melius
  • RevisionDojo
  • Sazabi

Four steps in every framework.

Start with one file. Follow your framework's quickstart for the full setup, then move your scripts into c15t.

components/consent.tsx
import {
	ConsentBanner, ConsentDialog, ConsentDialogLink, ConsentRoot,
} from 'c15t/next';
import { defineConsentConfig, resolveConsent } from 'c15t/next/server';
import type { ReactNode } from 'react';

export const consentConfig = defineConsentConfig({
	backendURL: 'https://your-project.inth.app',
	manifestURL: '/api/c15t/manifest',
});

export function Consent({ children }: { children: ReactNode }) {
	const state = resolveConsent({ config: consentConfig });

	return (
		<ConsentRoot state={state} backendURL={consentConfig.backendURL}>
			{children}
			<ConsentBanner />
			<ConsentDialog />
			<ConsentDialogLink>Privacy settings</ConsentDialogLink>
		</ConsentRoot>
	);
}

Also in TanStack Start, React, Vue, Svelte, SvelteKit and JavaScript.

Open in four ways.

c15t is open source under the Apache 2.0 licence. The same code runs on Inth or self-hosted. You learn it once for 10 frameworks. It supports IAB TCF 2.4, and its Google helpers send Consent Mode v2 signals.

What is in c15t?

Everything your app needs for consent, in your code.

  • Time until the banner is on screen, as Cookiebench measured it: c15t 65 ms, OneTrust 672 ms, Usercentrics 703 ms.

    Banner visible in 65 ms

    Cookiebench measured the banner on screen in 65 ms.

  • We value your privacy

    30+ languages

    Right-to-left included. Override any string.

  • Your tokens, your theme

    Your colours, radius and shape. Or build your own UI with headless hooks.

  • Policy rules by region

    Policy rules pick what each visitor sees.

  • Privacy Settings

    • Measure advertising performance
    • Measure content performance
    • Develop and improve services

    IAB TCF banner and dialog

    The IAB TCF banner and dialog, ready to mount.

Developers choose c15t.

Install c15t. Get 42 integrations.

c15t maintains each typed helper. Most helpers load their vendor only after consent, and stop it when the visitor withdraws consent.

Import each helper from @c15t/integrations.

Browse the integrations

Start in minutes.

Paste this line into your agent. It reads the setup brief and does each step.

Ask your coding agent
Set up c15t in my app: c15t.com/SKILL.md

The setup brief is at /SKILL.md. For the docs, agents can read /llms.txt and /llms-full.txt, or use the MCP server at with no sign-in.

Inth hosts the backend, the policy rules and the IAB CMP ID.

Compare c15t with your consent tool.

The facts about each tool come from its own published pages.

Read the comparison overview