Mercato
Prezzi
AccediInizia
Guida praticaCSS e web
CSS e web

SVG feTurbulence: filtri per rumore, grana e texture

Una sola primitiva di filtro crea quasi ogni texture del web: la grana su un gradiente, la carta dietro una card, un’ondulazione su un bordo. Ecco cosa fa ogni attributo, con ricette che funzionano.

GradientlyAccount Gradiently verificato·1 ottobre 2026·5 min di lettura
Copertina: Sapphire Casino · GR·N417·BV

In breve

  • SVG feTurbulence è una primitiva di filtro che genera rumore di Perlin, utilizzabile come grana, carta, nuvole o sorgente di spostamento.
  • L’attributo baseFrequency imposta la dimensione del rumore: valori alti, intorno a 0,6 e 0,9, danno una grana fine, mentre valori bassi, intorno a 0,01 e 0,05, danno nuvole ampie e morbide.
  • type="fractalNoise" produce un rumore morbido e uniforme adatto a grana e carta, mentre type="turbulence" produce un rumore più netto e increspato adatto a marmo e acqua.
  • Una piccola tessera di rumore con stitchTiles="stitch", stesa su un gradiente a bassa opacità, aggiunge texture e nasconde il banding a costo minimo.
  • feTurbulence è costoso da calcolare su aree grandi, quindi renderizzalo una volta come tessera invece di animarlo a schermo intero.
In questa pagina
Che cosa fa ogni attributo di feTurbulenceRicetta: grana su un gradienteRicetta: texture di cartaRicetta: bordi deformati con feDisplacementMapPrestazioni e comportamento dei browser

SVG feTurbulence è una primitiva di filtro che riempie la sua regione di rumore di Perlin. Da solo il risultato è un campo di statico colorato; combinato con altre primitive diventa grana da pellicola, fibra di carta, nuvole, marmo o una sorgente per deformare le forme. Lo controlli con cinque attributi: type, baseFrequency, numOctaves, seed e stitchTiles. La maggior parte delle texture dei siti moderni, compresa la grana dei gradienti granulosi, parte da qui.

html
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300">
  <filter id="noise">
    <feTurbulence type="fractalNoise" baseFrequency="0.75" numOctaves="3" stitchTiles="stitch" />
  </filter>
  <rect width="100%" height="100%" filter="url(#noise)" />
</svg>
Il minimo: un filtro che crea rumore, applicato a un rettangolo. L’output è statico multicolore finché non togli il colore.

Che cosa fa ogni attributo di feTurbulence

typeturbulence (predefinito) o fractalNoise

Effetto

Increspato e netto, oppure morbido e uniforme
baseFrequency

Valori

Un numero, oppure due per x e y

Effetto

Più piccolo significa dettagli più grandi
numOctaves

Valori

Numero intero, predefinito 1

Effetto

Strati di dettaglio più fine; costa velocità
seedQualsiasi numero, predefinito 0

Effetto

Un diverso schema casuale
stitchTiles

Valori

noStitch (predefinito) o stitch

Effetto

Smussa i bordi perché le tessere si ripetano senza giunture
AttributoValoriEffetto
typeturbulence (predefinito) o fractalNoiseIncrespato e netto, oppure morbido e uniforme
baseFrequencyUn numero, oppure due per x e yPiù piccolo significa dettagli più grandi
numOctavesNumero intero, predefinito 1Strati di dettaglio più fine; costa velocità
seedQualsiasi numero, predefinito 0Un diverso schema casuale
stitchTilesnoStitch (predefinito) o stitchSmussa i bordi perché le tessere si ripetano senza giunture
I cinque attributi. Cambiane uno alla volta mentre regoli, perché interagiscono.

baseFrequency è quello che toccherai di più. Si misura in cicli per unità utente, quindi 0.8 ammassa i dettagli e 0.02 li allunga in lente nuvole. Due valori, come baseFrequency="0.01 0.3", stirano il rumore lungo un asse, ed è così che si simulano il metallo spazzolato e la venatura del legno.

0,8 a 0,9

Sembra

Grana fine da pellicola

Uso

Sovrapposizione su gradienti e foto
0,5 a 0,7

Sembra

Grana visibile, risograph

Uso

Poster, pagine editoriali
0,15 a 0,3

Sembra

Puntinatura grossa, cemento

Uso

Sfondi, pietra
0,02 a 0,05

Sembra

Nuvole, fumo

Uso

Fibre di carta, luce morbida
0,005 a 0,01

Sembra

Onde ampie e lente

Uso

Spostamento, marmo
baseFrequencySembraUso
0,8 a 0,9Grana fine da pellicolaSovrapposizione su gradienti e foto
0,5 a 0,7Grana visibile, risographPoster, pagine editoriali
0,15 a 0,3Puntinatura grossa, cementoSfondi, pietra
0,02 a 0,05Nuvole, fumoFibre di carta, luce morbida
0,005 a 0,01Onde ampie e lenteSpostamento, marmo
Punti di partenza per una tessera larga circa 300 pixel. Il rumore scala con l’SVG, quindi una tessera disegnata più grande appare più grossolana.

type="fractalNoise"

  • Morbido, simile a nuvole, ben distribuito
  • Ottimo per grana, carta e nebbia
  • La scelta abituale per le sovrapposizioni

type="turbulence"

  • Più netto, con pieghe scure
  • Ottimo per marmo, fuoco e acqua
  • Sembra confuso come sovrapposizione a tutto campo

Ricetta: grana su un gradiente

La cosa più utile che fa feTurbulence è aggiungere grana. Un gradiente digitale pulito mostra il banding in strisce visibili, soprattutto se scuro; un rumore leggero spezza quelle strisce e fa sembrare la superficie stampata. I passaggi: crea il rumore, togli il colore, poi stendilo sul gradiente a bassa intensità.

html
<svg xmlns="http://www.w3.org/2000/svg" width="240" height="240">
  <filter id="grain" x="0" y="0" width="100%" height="100%">
    <feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="3" stitchTiles="stitch" result="noise" />
    <feColorMatrix in="noise" type="saturate" values="0" />
  </filter>
  <rect width="100%" height="100%" filter="url(#grain)" />
</svg>
feColorMatrix con saturate 0 rende grigio il rumore. Impostare la regione del filtro sull’intero rettangolo evita un bordo sfumato.

Salvalo come grain.svg o incorporalo come data URI, poi ripetilo in un pseudo elemento sopra il gradiente.

css
.hero {
  position: relative;
  isolation: isolate;
  background: linear-gradient(160deg, #0f0b1e 0%, #312e81 55%, #6d28d9 100%);
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: url("/grain.svg");
  background-size: 240px;
  opacity: 0.12;
  mix-blend-mode: overlay;
  pointer-events: none;
}
Le modalità di fusione overlay e soft light mantengono il colore del gradiente e aggiungono solo texture. Parti da un’opacità tra 0,08 e 0,15 e giudica a schermo intero.
Il fondo sotto la granalinear-gradient(160deg, #0f0b1e 0%, #312e81 55%, #6d28d9 100%)
I gradienti viola scuro come questo sono quelli in cui il banding si vede di più, ed è proprio lì che la grana si guadagna il posto. La causa è spiegata meglio nel banding dei gradienti.

Ricetta: texture di carta

La carta è rumore a bassa frequenza trasformato in rilievo da una sorgente di luce. feDiffuseLighting tratta il rumore come una mappa di altezza e lo illumina da un lato, producendo le morbide colline di un foglio di carta di cotone.

html
<filter id="paper" x="0" y="0" width="100%" height="100%">
  <feTurbulence type="fractalNoise" baseFrequency="0.04" numOctaves="5" result="noise" />
  <feDiffuseLighting in="noise" lighting-color="#f7f1ea" surfaceScale="2" result="lit">
    <feDistantLight azimuth="45" elevation="60" />
  </feDiffuseLighting>
  <feBlend in="SourceGraphic" in2="lit" mode="multiply" />
</filter>
Aumenta surfaceScale per un foglio più ruvido; abbassa elevation per una luce radente che esalta ogni fibra.

Abbinala a fondi caldi bianco sporco. Gli sfondi con texture di carta hanno palette adatte.

Ricetta: bordi deformati con feDisplacementMap

Il rumore può anche spostare i pixel. feDisplacementMap legge il rumore e sposta ogni pixel della sorgente fino a scale unità, ottenendo linee disegnate a mano, testo che si scioglie e acqua increspata.

html
<filter id="wobble">
  <feTurbulence type="turbulence" baseFrequency="0.02" numOctaves="2" seed="3" result="warp" />
  <feDisplacementMap in="SourceGraphic" in2="warp" scale="10" xChannelSelector="R" yChannelSelector="G" />
</filter>

<text x="40" y="120" font-size="96" font-weight="700" filter="url(#wobble)">Wavy</text>
Una scala da 4 a 12 sembra fatta a mano. Oltre 30 la sorgente diventa irriconoscibile. Cambia seed per ottenere un’ondulazione diversa.

Il testo resta testo

Il testo SVG filtrato è ancora testo vero, quindi si può selezionare e viene letto dagli screen reader. Tieni le deformazioni lievi su tutto ciò che le persone devono leggere.

Prestazioni e comportamento dei browser

feTurbulence funziona in tutti i browser attuali, ma in molti viene calcolato sulla CPU e il suo costo cresce con l’area e con le ottave. Una tessera di 240 pixel si calcola una volta e si ripete, il che costa poco. Un filtro a schermo intero su un elemento attivo viene ricalcolato a ogni ridisegno, il che può essere lento sui telefoni.

  1. 1

    Usa le tessere

    Renderizza il rumore in un piccolo SVG con stitchTiles="stitch" e ripetilo come immagine di sfondo.

  2. 2

    Tieni basse le ottave

    numOctaves sopra 4 raramente aggiunge dettaglio visibile alle dimensioni di una grana e costa ogni volta.

  3. 3

    Evita di animarlo

    Animare baseFrequency o seed forza un ricalcolo completo a ogni fotogramma. Sposta invece una tessera statica con una trasformazione.

  4. 4

    Controlla entrambi i temi

    Una grana che sta bene sullo scuro può sembrare sporca sul chiaro. Regola l’opacità per ogni tema, come nei gradienti per la modalità scura.

Per una versione solo CSS della stessa idea, vedi la texture di rumore in CSS. E se vuoi la grana senza regolare alcun filtro, ogni Mark di Gradiently porta con sé grana e materiale nella sua ricetta, resi dal vivo a qualsiasi dimensione tu progetti.

Grana, non abbagliamento.
Rumore fine su un gradiente profondo

Un Mark con la grana integrata nella superficie. Il rumore fa parte della ricetta, quindi mantiene la stessa scala a ogni dimensione.

Trova un gradiente solo tuo

Sfoglia migliaia di Mark, progetta gratis con uno qualsiasi e riserva quello in cui ti riconosci.

Sfoglia il Mercato

Le domande più frequenti

Che cosa fa feTurbulence in SVG?

Genera rumore di Perlin dentro un filtro SVG. Puoi mostrare il rumore direttamente come texture oppure passarlo ad altre primitive come feColorMatrix, feDiffuseLighting o feDisplacementMap.

Quale baseFrequency devo usare per la grana?

Prova da 0,7 a 0,9 con type fractalNoise e tre ottave per una grana fine da pellicola. Valori più bassi creano dettagli più grandi e morbidi.

Qual è la differenza tra fractalNoise e turbulence?

fractalNoise è morbido e uniforme, ottimo per grana e carta. turbulence ha pieghe più nette e si adatta a effetti di marmo, fuoco o acqua.

Perché il mio rumore SVG ha giunture visibili quando viene ripetuto?

Imposta stitchTiles="stitch" su feTurbulence e imposta la regione del filtro sull’intera tessera con x, y, width e height, così i bordi combaciano e non compare un bordo sfumato.

feTurbulence è lento?

Può esserlo su aree grandi o quando è animato, perché ricalcola il rumore a ogni ridisegno. Una piccola tessera statica ripetuta come sfondo costa poco.

Condividi questa guida

Scritto da GradientlyAccount Gradiently verificato

Il team dietro Gradiently, uno strumento di design costruito attorno ai Mark: gradienti vivi che fanno sembrare tuo tutto ciò che progetti.

Vedi il nostro profilo

In questa pagina

Che cosa fa ogni attributo di feTurbulenceRicetta: grana su un gradienteRicetta: texture di cartaRicetta: bordi deformati con feDisplacementMapPrestazioni e comportamento dei browser

Condividi questa guida

Il prossimo in CSS e web

Gradienti mesh in SVG: cosa funziona oggi

Continua a leggere

Tutte le guide su CSS e web
Gradienti

Gradienti con grana: perché un po’ di rumore rende il colore prezioso

6 min di lettura

Un gradiente pulito sembra un’impostazione predefinita dello schermo. Lo stesso gradiente con un sottile strato di grana sembra una stampa, un fotogramma di pellicola o un muro dipinto. Ecco perché, quanta grana aggiungere e come.

CSS e web

Texture di rumore in CSS: aggiungere grana ai gradienti con SVG

5 min di lettura

Un debole strato di rumore nasconde il banding e fa sembrare il colore piatto dello schermo stampa o pellicola. Ecco il filtro SVG che lo produce, regolato e pronto da incollare.

Gradienti

Perché il tuo gradiente ha le strisce e come correggere il banding

6 min di lettura

Hai fatto un gradiente liscio ed è tornato a strisce. È il banding, e ha una causa semplice e una manciata di rimedi affidabili. Ecco prima l’aritmetica, poi le cure.

Trova lo stile che è solo tuo.

Ogni Mark è uno sfondo vivo con un solo proprietario. Prova un Mark ancora disponibile e riserva il tuo quando ti senti pronto.

Inizia a progettare

Verifica un certificato

Scrivi il numero di un certificato o il codice di un Mark per scoprire di chi è.

Funziona con ChatGPT e Claude

Chiedi un design alla tua AI. Lo crea nel tuo Mark, pronto da modificare.

ChatGPTClaude
Come collegarla

Prodotto

  • Mercato
  • Esplora
  • Prezzi
  • Certificati

Scopri

  • Guida pratica
  • Centro assistenza
  • Novità

Sviluppatori

  • Panoramica
  • ChatGPT e Claude
  • Riferimento API
  • Chiavi API

Azienda

  • Chi siamo
  • Contattaci
  • Accedi

Note legali

  • Termini
  • Privacy
  • Rimborsi
  • Protezione dei Mark
  • Cookie
  • Tutte le policy
Passa sopra le lettere. Ognuna indossa un vero Mark.Tocca una lettera per vedere il suo Mark.Un nome. Dieci Mark al suo interno.
© 2026 Gradiently