Build a Content-Security-Policy header with per-directive guidance. Hardens against XSS by default.
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'
The policy is generated locally from your selections. Nothing is uploaded.
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.
The policy is metadata about your page: the browser refuses any resource outside the allow-list.
Priya ships a static marketing site with self-hosted fonts and one Google Analytics tag, and wants a tight policy.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
What do you call a really smart cookie?
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 tier100% of proceeds go towards hosting & building more free tools.