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.
Genera una cabecera Content-Security-Policy online gratis. Doce directivas guiadas con valores seguros por defecto y explicaciones en lenguaje claro: default-src, script-src, style-src, img-src, font-src, connect-src y más. Vista previa en vivo, salida lista para copiar. 100% en el navegador.
La validación de entradas y el escapado de salida reducen la posibilidad de inyección, pero una Content-Security-Policy limita el radio de explosión cuando algo se cuela: un navegador que se niega a ejecutar scripts de orígenes no aprobados no puede ejecutar un payload inyectado. El CSP es la última línea de defensa y cuesta una cabecera.
El generador expone 12 directivas —default-src, script-src, style-src, img-src, font-src, connect-src, media-src, object-src, frame-src, frame-ancestors, base-uri y form-action— cada una con una explicación de una línea de qué controla. Los valores por defecto seguros precargan el formulario para que el caso común (self en todas partes, nada exótico) sea un clic, y cada edición actualiza la política en vivo.
El camino seguro hacia una política estricta es gradual. Empieza en modo Report-Only sirviendo la cabecera con la directiva report-to y sin imposición: las violaciones se registran mientras el sitio se comporta con normalidad, y los informes nombran cada script, estilo y endpoint que la política bloquearía. Corrige el ruido de los informes: mueve los handlers inline a archivos, añade nonces o hashes para los scripts que genuinamente necesitas, y fija los orígenes de terceros que realmente cargas. Cuando los Reports estén tranquilos un par de semanas, cambia la cabecera de Content-Security-Policy-Report-Only a Content-Security-Policy y mantén vivo el endpoint deReportes: un pico repentino después de que salga una nueva etiqueta de terceros es tu sistema de alerta temprana. Este generador produce ambas variantes de la cabecera para que el despliegue nunca exija editar la política a mano.
Es una cabecera HTTP que dice a los navegadores exactamente qué fuentes de scripts, estilos, imágenes y conexiones puede cargar tu página. Lo que no esté en la lista blanca se bloquea, que es la defensa más eficaz contra los ataques de cross-site scripting (XSS).
El generador parte de una base conservadora: default-src en self, scripts y estilos limitados a self más unsafe-inline solo donde los frameworks lo necesiten de verdad, y object-src en none. Cada una de las 12 directivas viene con una explicación en lenguaje claro para que sepas qué estás permitiendo antes de permitirlo.
Despliégala primero como Content-Security-Policy-Report-Only en lugar de la cabecera que impone. Los navegadores reportan las violaciones a la consola sin bloquear nada; una vez que los informes estén tranquilos, cambia a la cabecera que impone.
El coste de imposición es insignificante: el navegador comprueba los orígenes mientras carga los recursos, añadiendo microsegundos por petición. Si acaso, una política estricta mejora el rendimiento de carga porque bloquea scripts de terceros no confiables antes de que se descarguen. El único coste real es el tiempo de ingeniería durante el despliegue, no el de ejecución.
report-uri es la directiva antigua que hace POST del JSON de violaciones a un único endpoint; report-to es su sucesora, construida sobre la Reporting API con grupos de endpoints nombrados, enrutamiento de entrega y mejor soporte de navegador hacia adelante. Este generador emite ambas apuntando al mismo colector, así que los navegadores antiguos y nuevos reportan.
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.