🛡️
Developer/CSP Generator

CSP Generator

Build a Content-Security-Policy header with per-directive guidance. Hardens against XSS by default.

100% LOCAL12 directivesSafe defaultsLive policy100% local
Saved Configurations· Auto-save on
▾
La calculatricePage 1
Fallback for every other fetch directive
JavaScript sources — the most important XSS defense
Stylesheets
Images and icons
Web fonts
fetch/XHR/WebSocket endpoints
Audio and video sources
Flash/Java embeds — should be none
Iframe sources
Limits <base> href — set to self to block injection
Where <form> may submit
Who may embed this page — replaces X-Frame-Options
12 directives · 246 chars
default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; media-src 'self'; object-src 'none'; frame-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'
Data Source & Legal Disclaimer
Effective: 2026Last updated: 2026-09-07Update: Manual review
Sources: Content Security Policy — MDN

The policy is generated locally from your selections. Nothing is uploaded.

See all data sources & update policy →
Comment ça marchePage 2

What a CSP actually defends against — illustrated

A Content-Security-Policy is a whitelist the browser enforces: scripts, styles, images, and connections may only come from origins you allow. Its headline win is XSS mitigation — even if an attacker injects a <script> tag, the browser refuses to run it unless script-src permits its origin. Use 'none' for things you truly do not need (object-src, frame-ancestors), avoid unsafe-inline in script-src if at all possible, and ship the header with report-only mode first (Content-Security-Policy-Report-Only) to catch breakage before enforcing.

Browser fetches → checked against your whitelist → blocked if not allowed
Page requestsscript · style · imgfont · connect · frameCSP whitelistdefault-src · script-srcimg-src · frame-ancestors…allowed → loads'self', data:, …else → blockede.g. injected evil.jsXSS bluntedinjected scriptnever executestest with Content-Security-Policy-Report-Only first — then flip to enforcing

The policy is metadata about your page: the browser refuses any resource outside the allow-list.

Hardening a marketing site — Priya's policy

Priya ships a static marketing site with self-hosted fonts and one Google Analytics tag, and wants a tight policy.

  1. Start from defaults:The tool pre-fills safe defaults: everything self, object-src and frame-ancestors none
  2. Allow the exceptions:She adds the Analytics origin to script-src and connect-src, and data: to img-src for inline icon SVGs — four edits total
  3. Remove unsafe-inline from scripts:style-src keeps unsafe-inline for her inline critical CSS, but script-src does not — the strictest line in the whole policy
  4. Roll out safely:She deploys as Report-Only for a week, watches the console reports come back empty, then flips the header to enforcing
FAQ et détailsPage 3

Generate a Content-Security-Policy header online free: 12 guided directives with safe defaults and live preview. Everything runs locally; nothing is uploaded.

FreeToolHub CSP Generator is a free browser-based tool — generate a Content-Security-Policy header online free: 12 guided directives with safe defaults and live preview. No signup, no upload; everything runs locally in your browser.

À propos de cet outil

Qu'est-ce que cet outil ?

Générez un en-tête Content-Security-Policy gratuitement en ligne. Douze directives guidées avec des valeurs par défaut sûres et des explications en clair : default-src, script-src, style-src, img-src, font-src, connect-src et plus. Aperçu en direct, sortie prête à copier. 100 % basé sur le navigateur.

12 directivesSafe defaultsLive policy100% local

Pourquoi le CSP est le rempart contre les XSS

La validation des entrées et l'encodage des sorties réduisent la probabilité d'injection, mais une Content-Security-Policy limite les dommages collatéraux lorsque quelque chose passe à travers : un navigateur qui refuse d'exécuter des scripts depuis des origines non approuvées ne peut pas exécuter une charge injectée. Le CSP est la dernière ligne de défense, et il ne coûte qu'un en-tête.

Directive par directive, en français simple

Le générateur expose 12 directives - default-src, script-src, style-src, img-src, font-src, connect-src, media-src, object-src, frame-src, frame-ancestors, base-uri, et form-action - chacune avec une explication d'une ligne sur ce qu'elle contrôle. Les valeurs par défaut sûres pré-remplissent le formulaire afin que le cas courant (soi-même partout, rien d'exotique) ne nécessite qu'un clic, et chaque modification met à jour la politique en direct.

Déploiement : du mode Report-Only à l'application

La voie sûre vers une politique stricte est progressive. Commencez en mode Report-Only en servant l'en-tête avec la directive report-to et sans application - les violations sont journalisées tandis que le site se comporte normalement, et les rapports nomment chaque script, style et point de terminaison que la politique bloquerait. Corrigez le bruit du rapport : déplacez les gestionnaires en ligne dans des fichiers, ajoutez des nonces ou des hachages pour les scripts dont vous avez réellement besoin, et fixez les origines de tiers que vous chargez réellement. Lorsque les rapports sont silencieux pendant quelques semaines, basculez l'en-tête de Content-Security-Policy-Report-Only à Content-Security-Policy et maintenez le point de terminaison de rapport actif - une soudaine augmentation après l'envoi d'une nouvelle balise de tiers est votre système d'alerte précoce. Ce générateur produit les deux variantes de l'en-tête afin que le déploiement ne nécessite jamais de modification manuelle de la politique.

Questions fréquentes

Qu'est-ce qu'un en-tête Content-Security-Policy ?

C'est un en-tête HTTP qui indique aux navigateurs exactement quelles sources de scripts, de styles, d'images et de connexions votre page peut charger. Tout ce qui n'est pas dans la liste blanche est bloqué, ce qui constitue la défense la plus efficace contre les attaques de type cross-site scripting (XSS).

Quelles sont les valeurs par défaut sûres ?

Le générateur part d'une base conservatrice : default-src défini sur self, les scripts et styles limités à self plus unsafe-inline uniquement là où les cadres en ont réellement besoin, et object-src défini sur none. Chacune des 12 directives est fournie avec une explication en français simple afin que vous sachiez ce que vous autorisez avant de l'autoriser.

Comment tester la politique sans casser mon site ?

Déployez-la d'abord comme Content-Security-Policy-Report-Only au lieu de l'en-tête d'application. Les navigateurs signalent les violations dans la console sans bloquer quoi que ce soit ; une fois que les rapports sont silencieux, passez à l'en-tête d'application.

Une Content-Security-Policy ralentit-elle mon site ?

Le coût d'application est négligeable - le navigateur vérifie les origines qu'il charge des ressources, ajoutant des microsecondes par requête. Si quoi que ce soit, une politique stricte améliore les performances de chargement car elle bloque les scripts tiers non fiables avant leur téléchargement. Le seul vrai coût est le temps d'ingénierie pendant le déploiement, pas à l'exécution.

Quelle est la différence entre report-uri et report-to ?

report-uri est l'ancienne directive qui POSTE du JSON de violation vers un seul point de terminaison ; report-to en est le successeur, construit sur l'API Reporting avec des groupes de points de terminaison nommés, un routage de livraison et un meilleur support navigateur à l'avenir. Ce générateur émet les deux pointant vers le même collecteur, afin que les anciens et les nouveaux navigateurs signalent tous les deux.

Outils connexes

Partager :𝕏inf⬆
Joke of the Day
Oct 22

What do you call a really smart cookie?

Free core, no account

Keep the Free Edition Free

No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.

☕Support me on Ko-fi— support the free tier

100% of proceeds go towards hosting & building more free tools.