Gerador de filtros CSS

Ajuste as propriedades filter do CSS com controles deslizantes e veja o resultado em tempo real. Copie o código gerado.

Controles de filtro

Pré-visualização

Pré-visualização dos filtros

CSS gerado


      
    

Como usar

  1. Ajuste os controles deslizantes de filtro : use os controles para regular desfoque, brilho, contraste, saturação, rotação de matiz, opacidade, tons de cinza, sépia e inversão.
  2. Pré-visualize em tempo real : a imagem ou o elemento de exemplo é atualizado instantaneamente quando você move um controle.
  3. Copie o CSS : o valor completo da propriedade filter (por ex. filter: brightness(1.2) contrast(1.5) saturate(0.8)) está pronto para colar na sua folha de estilo.

Por que usar o gerador CSS de filtros ?

Os filtros CSS permitem aplicar efeitos de processamento de imagem (desfoque, contraste, brilho, deslocamentos de cor) diretamente no navegador sem Photoshop ou software de edição de imagem. Funcionam em imagens, vídeos e qualquer elemento HTML. Construir a cadeia da propriedade filter à mão exige conhecer os nomes de função exatos e as faixas de valores válidas. Este gerador oferece controles deslizantes intuitivos com feedback visual para obter exatamente o resultado desejado.

Funcionalidades

Perguntas frequentes

É possível aplicar filtros CSS em vídeos ?

Sim. A propriedade filter do CSS funciona em qualquer elemento, incluindo <video>, <img>, <div> e <canvas>. Aplicado a um vídeo, o filtro é renderizado em tempo real durante a reprodução.

Qual a diferença entre filter e backdrop-filter ?

O filter aplica o efeito ao próprio elemento e a todos os seus filhos. O backdrop-filter aplica o efeito ao conteúdo que está atrás (abaixo) do elemento, comumente usado para efeitos de vidro fosco.

Os filtros CSS afetam o desempenho ?

Filtros com desfoque ou compositing complexo podem ser pesados para a GPU. Para filtros animados, garanta que o elemento está em sua própria camada de composição (adicione transform: translateZ(0) como dica). Filtros estáticos em imagens e ícones têm impacto mínimo.

O que CSS filter realmente faz

A propriedade CSS filter aplica efeitos gráficos (desfoque, ajuste de contraste, mudança de cor, sombra projetada) a um elemento e seus filhos antes de o navegador pintá-lo na tela. O processamento acontece inteiramente no pipeline de renderização do navegador, geralmente acelerado por GPU, sem JavaScript envolvido. Os efeitos são apenas visuais: o HTML subjacente, o arquivo que uma imagem referencia e o layout permanecem inalterados. Uma fotografia exibida com filter: grayscale(1) ainda tem suas cores originais no arquivo; o navegador converte para escala de cinza somente na exibição.

CSS filter expõe dez funções: blur(px) para desfoque gaussiano, brightness(n) e contrast(n) para ajustes tonais, saturate(n) para intensidade de cor, hue-rotate(deg) para deslocar a roda de cores, opacity(n) para transparência, grayscale(n) e sepia(n) para efeitos de dessaturação, invert(n) para saída negativa, e drop-shadow(...) para sombras conscientes da forma (diferentemente de box-shadow, drop-shadow segue a forma realmente renderizada incluindo transparência, ideal para sombras em ícones ou imagens PNG com bordas recortadas). Funções encadeiam: filter: brightness(1.2) contrast(1.3) saturate(0.9) aplica os três em sequência.

Por que isso importa para o design web moderno: uma década atrás, ajustar brilho, matiz ou saturação de imagens para consistência de design exigia pré-processar cada imagem no Photoshop e reexportar. CSS filter traz os mesmos ajustes ao tempo de execução, aplicados de forma não destrutiva. Você pode servir uma única imagem e apresentá-la de maneiras diferentes com base no tema, estado de hover ou preferência do usuário. Você também pode usar filtros para acessibilidade: uma foto em escala de cinza invertida como placeholder, ou uma sobreposição de imagem escurecida para legibilidade de texto com alto contraste. O compromisso é o desempenho para alguns filtros (especialmente desfoque) e o fato de que os filtros também afetam filhos, o que pode cascatear inesperadamente.

Como esta ferramenta funciona nos bastidores

Cada controle deslizante na ferramenta está vinculado a uma única função de filtro. Quando você move um controle deslizante, o JavaScript lê o valor, constrói a string da função de filtro com aquele valor (por exemplo, brightness(1.4)), e concatena todas as funções ativas em uma única string CSS filter. Essa string é aplicada como estilo em linha na imagem de pré-visualização, produzindo feedback visual imediato à medida que o navegador repinta com o novo filtro. Nenhum dado de imagem é processado em JavaScript: a matemática real em nível de pixel acontece dentro do mecanismo de renderização do navegador, geralmente na GPU.

O CSS gerado mostrado na caixa de código é a mesma string aplicada à pré-visualização. Clique em «Copiar CSS» e a ferramenta escreve essa string em sua área de transferência usando a API moderna navigator.clipboard.writeText(). A string está pronta para colar no atributo style de qualquer elemento ou qualquer declaração de classe em sua folha de estilo. A ferramenta também suporta carregar sua própria imagem: escolha um arquivo e ele se torna uma URL blob: temporária no navegador, nunca enviada para qualquer lugar, e o filtro é pré-visualizado em sua imagem real para que você possa discar a aparência exata para seu conteúdo.

O comportamento de redefinição é por filtro: cada controle deslizante tem seu próprio botão de redefinição que retorna apenas aquele filtro ao seu valor sem efeito (1 para multiplicadores, 0deg para hue-rotate, 0px para blur). O botão «Redefinir Tudo» retorna cada controle deslizante para neutro simultaneamente. O estado da ferramenta vive apenas na memória; atualize a página e sua combinação de filtros se vai. Nenhum servidor armazena seus valores de filtro escolhidos, nenhuma análise rastreia quais combinações você tenta. A ferramenta é um playground de CSS sem estado, suportado por anúncios.

Breve história dos filtros CSS

Fluxos do mundo real

Armadilhas comuns e o que significam

Privacidade: tudo acontece em seu navegador

Ferramentas geradoras de CSS vêm em dois sabores: páginas HTML simples rodando JavaScript do lado do cliente (privadas, rápidas) e editores em nuvem que salvam seus projetos (colaborativos mas com compromissos de privacidade). Esta ferramenta é a primeira. Seus valores de controle deslizante, seu CSS gerado, e até mesmo qualquer imagem que você envia para pré-visualizar permanecem inteiramente em sua sessão do navegador. Atualize a página e o estado se vai a menos que você tenha copiado o CSS primeiro ou salvado uma captura de tela.

O recurso «enviar sua própria imagem» merece uma nota de privacidade: quando você escolhe um arquivo, o navegador cria uma URL blob: local apontando para a memória, e a pré-visualização exibe sua imagem com o filtro aplicado. Nenhuma solicitação vai para qualquer servidor. Abra a aba de Rede do navegador enquanto envia; você verá zero tráfego de saída. A imagem existe apenas na memória da aba do seu navegador e é apagada quando você fecha a aba. Para imagens confidenciais (designs proprietários, exames médicos, capturas protegidas por NDA), esta é a propriedade de privacidade que importa.

Quando outra ferramenta é a escolha certa

Mais perguntas frequentes

Posso animar mudanças de filtro CSS suavemente?

Sim, com ressalvas. A propriedade filter é animável em CSS, e transições entre duas cadeias de filtro com as mesmas funções na mesma ordem interpolam suavemente (blur(0px) brightness(1) para blur(10px) brightness(1.5) funciona). Adicionar ou remover funções no meio da transição salta abruptamente. Para animação multi-filtro suave, liste cada função que você quer transicionar nos estados de início e fim, usando valores neutros (brightness(1), saturate(1), blur(0px)) onde você não quer que um filtro específico seja aplicado.

CSS filter funciona em imagens de fundo?

Sim. CSS filter se aplica ao elemento inteiro, incluindo sua imagem de fundo, conteúdo e elementos filhos. Se você quer filtrar apenas a imagem de fundo mas não o conteúdo em primeiro plano, a abordagem típica é usar um elemento filho separado para o fundo (por exemplo, um pseudo-elemento ::before posicionado) com o filtro aplicado, depois colocar o conteúdo como um irmão não filtrado em cima. A propriedade backdrop-filter também é útil quando você quer filtrar o que é visível atrás de um elemento transparente.

Os filtros CSS são indexados por motores de busca?

Os filtros CSS são puramente visuais e não mudam o conteúdo HTML. Os motores de busca indexam o conteúdo subjacente (texto alt da imagem, texto circundante) como se o filtro não tivesse sido aplicado. Uma imagem em escala de cinza com filter: grayscale(1) ainda é indexada como a imagem colorida original com base em seu arquivo e texto alt. Isso geralmente é o que você quer: sem efeitos colaterais de filtro em SEO ou leitores de tela.

Por que drop-shadow parece diferente de box-shadow?

Box-shadow desenha uma sombra ao redor da caixa retangular de um elemento, ignorando qualquer transparência. Drop-shadow (filter) desenha uma sombra que segue a forma realmente renderizada, incluindo regiões transparentes. Para um ícone SVG com bordas recortadas ou um PNG com transparência, drop-shadow produz uma sombra consciente da forma que corresponde ao contorno visível. Box-shadow no mesmo elemento mostraria uma sombra retangular ao redor da caixa delimitadora, o que parece errado. Use drop-shadow para sombras conscientes da forma, box-shadow para elementos retangulares.

Qual é a diferença entre opacity e filter: opacity()?

Na maioria dos navegadores eles produzem resultados visualmente idênticos. A diferença técnica: opacity é uma propriedade de nível superior, enquanto filter: opacity() faz parte da cadeia de filtros e se compõe com outros filtros. Se você tem filter: blur(5px) opacity(0.5), ambos se aplicam juntos como uma única operação GPU. Usar opacity fora da cadeia de filtros funciona o mesmo na maioria dos casos. Fique com opacity para transparência autônoma; use filter: opacity() apenas quando encadear com outros filtros.

Posso redefinir todos os filtros rapidamente?

Sim. Defina filter: none para remover todos os filtros em uma declaração. Esta é a maneira mais limpa de redefinir, especialmente para estados de hover onde você quer remover todos os efeitos de filtro ao sair do hover. Alternativamente, defina cada função de filtro para seu valor neutro: filter: brightness(1) contrast(1) saturate(1) blur(0px) hue-rotate(0deg) grayscale(0) sepia(0) invert(0) opacity(1) é funcionalmente equivalente a filter: none mas mais verboso.

Ferramentas relacionadas

Gerador de gradiente CSS Conversor de cores Filtros e efeitos de imagem Gerador de padrões CSS