🛡️
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
▾
A calculadoraPage 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 →
Como funcionaPage 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 e detalhesPage 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.

Sobre esta ferramenta

O que é esta ferramenta?

Gere um cabeçalho de Content-Security-Policy gratuitamente online. Doze diretrizes guiadas com padrões seguros e explicações em português simples: default-src, script-src, style-src, img-src, font-src, connect-src e mais. Visualização ao vivo, saída pronta para copiar. 100% baseado em navegador.

12 directivesSafe defaultsLive policy100% local

Por que o CSP é a Defesa Contra XSS

A validação de entrada e a codificação de saída reduzem a chance de injeção, mas uma Content-Security-Policy limita o raio de impacto quando algo passa despercebido: um navegador que se recusa a executar scripts de origens não aprovadas não pode executar uma carga injetada. O CSP é a última linha de defesa, e custa apenas um cabeçalho.

Diretriz por Diretriz, em Português Simples

O gerador expõe 12 diretrizes - default-src, script-src, style-src, img-src, font-src, connect-src, media-src, object-src, frame-src, frame-ancestors, base-uri e form-action - cada uma com uma explicação de uma linha sobre o que ela controla. Padrões seguros pré-carregam o formulário para que o caso comum (self em todos os lugares, nada exótico) seja um clique, e cada edição atualiza a política ao vivo.

Implantação: Do Modo Apenas Relatório para Aplicação

O caminho seguro para uma política estrita é gradual. Comece no modo Apenas Relatório servindo o cabeçalho com a diretriz report-to e sem aplicação - as violações são registradas enquanto o site se comporta normalmente, e os relatórios nomeiam cada script, estilo e endpoint que a política bloquearia. Corrija o ruído do relatório: mova manipuladores inline para arquivos, adicione nonces ou hashes para os scripts que você realmente precisa, e defina as origens de terceiros que você realmente carrega. Quando os relatórios ficam silenciosos por algumas semanas, mude o cabeçalho de Content-Security-Policy-Report-Only para Content-Security-Policy e mantenha o endpoint de relatório ativo - um aumento repentino após o envio de uma nova tag de terceiro é seu sistema de alerta precoce. Este gerador produz ambas as variantes do cabeçalho para que a implantação nunca exija edição manual da política.

Perguntas frequentes

O que é um cabeçalho Content-Security-Policy?

É um cabeçalho HTTP que diz aos navegadores exatamente de quais fontes de scripts, estilos, imagens e conexões sua página pode carregar. Qualquer coisa não na lista de permissão é bloqueada, o que é a defesa mais eficaz contra ataques de cross-site scripting (XSS).

Quais são os padrões seguros?

O gerador parte de uma linha de base conservadora: default-src definido como self, scripts e estilos limitados a self mais unsafe-inline apenas onde frameworks realmente precisam, e object-src definido como none. Cada uma das 12 diretrizes vem com uma explicação em português simples para que você saiba o que está permitindo antes de permitir.

Como testo a política sem quebrar meu site?

Implante-a primeiro como Content-Security-Policy-Report-Only em vez do cabeçalho de aplicação. Navegadores relatam violações no console sem bloquear nada; assim que os relatórios ficarem silenciosos, mude para o cabeçalho de aplicação.

Uma Content-Security-Policy desacelera meu site?

O custo de aplicação é insignificante - o navegador verifica origens enquanto carrega recursos, adicionando microsegundos por requisição. Se algo, uma política estrita melhora o desempenho de carregamento porque bloqueia scripts de terceiros não confiáveis antes do download. O único custo real é o tempo de engenharia durante a implantação, não em tempo de execução.

Qual é a diferença entre report-uri e report-to?

report-uri é a diretriz mais antiga que POSTa JSON de violação para um único endpoint; report-to é seu sucessor, construído na Reporting API com grupos de endpoint nomeados, roteamento de entrega e melhor suporte de navegador no futuro. Este gerador emite ambos apontando para o mesmo coletor, para que navegadores mais antigos e mais novos relatem.

Ferramentas relacionadas

Compartilhar:𝕏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.