Gerador de Noise SVG
Gera um SVG com filtro feTurbulence para criar efeito de ruído (grain), ótimo overlay para texturizar fundos.
Noise SVG: como funciona o grain procedural
Noise (ou grain) é uma textura granular sobreposta a cores e gradients planos para dar sensação tátil ao design e mascarar o banding visível que telas de 8 bits produzem em transições sutis de cor. A geração Awwwards de designers adotou a técnica por volta de 2020 — a Apple usa em landing pages, sites brutalistas pintam com ela e ilustrações estilo risograph dependem dela. O truque que tornou tudo barato e independente de resolução foi a primitiva de filtro SVG <feTurbulence>, um gerador de noise estilo Perlin nativo em todos os navegadores modernos.
O filtro mínimo viável é assim:
<svg xmlns="http://www.w3.org/2000/svg">
<filter id="n">
<feTurbulence type="fractalNoise" baseFrequency="0.9"
numOctaves="3" stitchTiles="stitch"/>
<feColorMatrix values="0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0.4 0"/>
</filter>
<rect width="100%" height="100%" filter="url(#n)"/>
</svg>
O que cada parâmetro faz
- baseFrequency — resolução do noise. Baixo (0.4) fica mais smooth e com cara de nuvem; alto (1.5) fica granular e cinematográfico. O sweet spot para grain sutil é 0.7–0.9.
- numOctaves — quantas camadas de noise são somadas. Mais octaves = mais detalhe visual ao custo de CPU. Três é um bom default.
- seed — inteiro que controla a sequência pseudoaleatória, fazendo o mesmo SVG renderizar idêntico toda vez.
- type —
turbulenceé mais agressivo e caótico,fractalNoiseé mais suave e natural. - stitchTiles="stitch" — faz a textura encaixar sem costura quando você a repete como background, essencial para tile de CSS.
Aplicando o noise via CSS
O jeito mais ergonômico de aplicar é inlinear o SVG como data URI e jogá-lo em background-image. O padrão de plugin Tailwind .bg-noise embute isso numa utility. Sobreponha o noise a um gradient com mix-blend-mode: overlay para o feel de impressão, ou com opacity: 0.05–0.1 para matar o banding sem alterar o tom geral.
Perlin, Simplex, white noise — qual a diferença?
White noise é o chiado de TV antiga — cada pixel é aleatório de forma independente. Perlin noise, inventado por Ken Perlin em 1983 para o filme Tron, é noise gradiente suave que parece nuvens ou mármore. Simplex noise é a refinação de Perlin em 2001, mais rápida em dimensões maiores. O feTurbulence usa um algoritmo da família Perlin, por isso você consegue produzir resultados de nuvem e de grão só mudando a frequência.
Pegadinhas de performance
Filtros SVG rodam na GPU em browsers modernos, mas cobrir toda a viewport a cada paint ainda custa alguns milissegundos em dispositivos fracos. Dois truques: (a) renderizar um tile pequeno (256×256) uma vez e repetir como background CSS — fica em torno de 1 KB de payload — ou (b) bakear um PNG e servir pelo CDN. Para noise animado, use will-change: filter com parcimônia e prefira animar o atributo seed via requestAnimationFrame, porque o Chrome não interpola esse valor com suavidade via CSS.
Perguntas frequentes
O noise degrada a performance da página? Só em overlays animados de tela cheia. Um tile estático 256×256 repetido como background CSS é praticamente de graça.
Quanto de noise é "suficiente"? Para UI design, 5–10% de opacidade é o sweet spot — visível de perto, invisível de longe e o bastante para matar o banding de gradient.
O noise é gerado no servidor? Não — o navegador calcula o feTurbulence localmente. Nenhum byte sai da sua máquina e não há renderização backend.
Por que o Safari renderiza um pouco diferente do Chrome? As implementações de Perlin seguem a spec SVG mas divergem no arredondamento subpixel. A diferença costuma ser invisível em opacidades típicas; se importar, sirva um PNG.
Ferramentas Relacionadas
Gerador de Grain SVG
Cria efeito de grain (granulado) em SVG combinando feTurbulence com displacement. Útil para fotos vintage e overlays.
Gerador de Textura Noise SVG
Crie texturas de ruído (grain/noise) em SVG usando feTurbulence para fundos modernos. Controle frequência, oitavas e cor de saída.
Gerador SVG Padrão Tijolos
Gera SVG tileable simulando alvenaria de tijolos com offset alternado, parametrizando dimensões e juntas.
SVG Progress Ring
Gere um anel de progresso (progress ring) SVG de 0 a 100%, perfeito para mostrar conclusão e metas. Ajuste cor, espessura e valor e copie o código pronto.
Gerador de Wave Shape SVG
Cria uma onda SVG configurável (amplitude, frequência, fase) ideal para divisores de seções em landing pages.
SVG Coração
Gere um ícone de coração em SVG na cor que você quiser, leve e escalável sem perder qualidade. Copie o código ou baixe o arquivo pronto para usar no seu projeto.