Marché
Tarifs
Se connecterCommencer
Guide pratiqueCSS et web
CSS et web

SVG feTurbulence : filtres de bruit, de grain et de texture

Une seule primitive de filtre fabrique presque toutes les textures du web : le grain sur un dégradé, le papier derrière une carte, l’ondulation d’un contour. Voici ce que fait chaque attribut, avec des recettes qui marchent.

GradientlyCompte Gradiently vérifié·1 octobre 2026·6 min de lecture
Couverture : Sapphire Casino · GR·N417·BV

L’essentiel en bref

  • SVG feTurbulence est une primitive de filtre qui génère un bruit de Perlin, utilisable comme grain, papier, nuages ou source de déplacement.
  • L’attribut baseFrequency règle la taille du bruit : des valeurs élevées, autour de 0,6 à 0,9, donnent un grain fin, et des valeurs basses, autour de 0,01 à 0,05, de grands nuages doux.
  • type="fractalNoise" produit un bruit doux et régulier adapté au grain et au papier, tandis que type="turbulence" produit un bruit plus net et ondulé adapté au marbre et à l’eau.
  • Une petite tuile de bruit avec stitchTiles="stitch", posée sur un dégradé à faible opacité, ajoute de la texture et masque les bandes pour un coût très faible.
  • feTurbulence est coûteux à calculer sur de grandes surfaces : rendez-le une fois sous forme de tuile plutôt que de l’animer en plein écran.
Sur cette page
Ce que fait chaque attribut de feTurbulenceRecette : du grain sur un dégradéRecette : texture papierRecette : bords déformés avec feDisplacementMapPerformances et comportement des navigateurs

SVG feTurbulence est une primitive de filtre qui remplit sa zone d’un bruit de Perlin. Seul, le résultat ressemble à de la neige colorée ; combiné à d’autres primitives, il devient grain de film, fibre de papier, nuages, marbre ou source pour déformer des formes. Vous le pilotez avec cinq attributs : type, baseFrequency, numOctaves, seed et stitchTiles. La plupart des textures des sites modernes, y compris le grain des dégradés granuleux, commencent ici.

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>
Le minimum : un filtre qui produit du bruit, appliqué à un rectangle. Le résultat est une neige multicolore tant que vous n’en retirez pas la couleur.

Ce que fait chaque attribut de feTurbulence

typeturbulence (par défaut) ou fractalNoise

Effet

Ondulé et net, ou doux et régulier
baseFrequency

Valeurs

Un nombre, ou deux pour x et y

Effet

Plus petit veut dire motifs plus grands
numOctaves

Valeurs

Nombre entier, 1 par défaut

Effet

Couches de détail plus fin ; coûte en vitesse
seedN’importe quel nombre, 0 par défaut

Effet

Un autre motif aléatoire
stitchTiles

Valeurs

noStitch (par défaut) ou stitch

Effet

Lisse les bords pour que les tuiles se répètent proprement
AttributValeursEffet
typeturbulence (par défaut) ou fractalNoiseOndulé et net, ou doux et régulier
baseFrequencyUn nombre, ou deux pour x et yPlus petit veut dire motifs plus grands
numOctavesNombre entier, 1 par défautCouches de détail plus fin ; coûte en vitesse
seedN’importe quel nombre, 0 par défautUn autre motif aléatoire
stitchTilesnoStitch (par défaut) ou stitchLisse les bords pour que les tuiles se répètent proprement
Les cinq attributs. Changez-en un seul à la fois pendant le réglage, car ils interagissent.

baseFrequency est celui que vous toucherez le plus. Il se mesure en cycles par unité utilisateur : 0.8 resserre les motifs, 0.02 les étire en nuages lents. Deux valeurs, comme baseFrequency="0.01 0.3", étirent le bruit sur un axe, et c’est ainsi qu’on imite le métal brossé et le veinage du bois.

0,8 à 0,9

Ressemble à

Grain de film fin

Usage

Superposition sur dégradés et photos
0,5 à 0,7

Ressemble à

Grain visible, risographie

Usage

Affiches, pages éditoriales
0,15 à 0,3

Ressemble à

Moucheture grossière, béton

Usage

Fonds, pierre
0,02 à 0,05

Ressemble à

Nuages, fumée

Usage

Fibres de papier, lumière douce
0,005 à 0,01

Ressemble à

Grandes vagues lentes

Usage

Déplacement, marbre
baseFrequencyRessemble àUsage
0,8 à 0,9Grain de film finSuperposition sur dégradés et photos
0,5 à 0,7Grain visible, risographieAffiches, pages éditoriales
0,15 à 0,3Moucheture grossière, bétonFonds, pierre
0,02 à 0,05Nuages, fuméeFibres de papier, lumière douce
0,005 à 0,01Grandes vagues lentesDéplacement, marbre
Points de départ pour une tuile d’environ 300 pixels de large. Le bruit suit l’échelle du SVG : une tuile dessinée plus grande paraît plus grossière.

type="fractalNoise"

  • Doux, nuageux, réparti régulièrement
  • Bien pour le grain, le papier et le brouillard
  • Le choix habituel pour les superpositions

type="turbulence"

  • Plus net, avec des plis sombres
  • Bien pour le marbre, le feu et l’eau
  • Paraît chargé en superposition complète

Recette : du grain sur un dégradé

Ce que feTurbulence fait de plus utile, c’est ajouter du grain. Un dégradé numérique propre se découpe en bandes visibles, surtout s’il est sombre ; un léger bruit brise ces bandes et donne à la surface un aspect imprimé. Les étapes : créer le bruit, lui retirer sa couleur, puis le poser sur le dégradé à faible 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 avec saturate à 0 rend le bruit gris. Étendre la zone du filtre à tout le rectangle évite une bordure floue.

Enregistrez-le sous grain.svg ou intégrez-le en data URI, puis répétez-le en tuile dans un pseudo-élément au-dessus du dégradé.

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;
}
Les modes de fusion overlay et soft-light gardent la couleur du dégradé et n’ajoutent que la texture. Commencez entre 0,08 et 0,15 d’opacité et jugez en plein écran.
Le fond sous le grainlinear-gradient(160deg, #0f0b1e 0%, #312e81 55%, #6d28d9 100%)
C’est sur les dégradés violets sombres comme celui-ci que les bandes se voient le plus, et donc là que le grain mérite sa place. La cause est expliquée dans les bandes de dégradé.

Recette : texture papier

Le papier, c’est un bruit basse fréquence transformé en relief par une source de lumière. feDiffuseLighting traite le bruit comme une carte de hauteurs et l’éclaire de côté, ce qui produit les douces collines d’une feuille de papier coton.

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>
Augmentez surfaceScale pour une feuille plus rugueuse ; baissez elevation pour une lumière rasante qui accentue chaque fibre.

Associez-la à des fonds blanc cassé chauds. Les fonds texture papier proposent des palettes qui lui vont.

Recette : bords déformés avec feDisplacementMap

Le bruit peut aussi déplacer des pixels. feDisplacementMap lit le bruit et décale chaque pixel de la source d’au plus scale unités, ce qui donne des traits dessinés à la main, des lettres qui fondent et de l’eau ondulante.

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>
Une valeur de scale entre 4 et 12 donne un aspect fait main. Au-delà de 30, la source devient méconnaissable. Changez seed pour obtenir une autre ondulation.

Le texte reste du texte

Un texte SVG filtré reste du vrai texte : il peut être sélectionné et lu par les lecteurs d’écran. Gardez des déformations discrètes sur tout ce qui doit être lu.

Performances et comportement des navigateurs

feTurbulence fonctionne dans tous les navigateurs actuels, mais beaucoup le calculent sur le processeur, et son coût augmente avec la surface et les octaves. Une tuile de 240 pixels est calculée une fois puis répétée, ce qui coûte peu. Un filtre plein écran sur un élément vivant est recalculé à chaque repeint, ce qui peut être lent sur téléphone.

  1. 1

    Utilisez une tuile

    Rendez le bruit dans un petit SVG avec stitchTiles="stitch" et répétez-le comme image de fond.

  2. 2

    Gardez peu d’octaves

    Au-delà de 4, numOctaves ajoute rarement un détail visible à la taille d’un grain, et coûte à chaque fois.

  3. 3

    Évitez de l’animer

    Animer baseFrequency ou seed impose un recalcul complet à chaque image. Déplacez plutôt une tuile fixe avec une transformation.

  4. 4

    Vérifiez les deux thèmes

    Un grain qui paraît juste sur fond sombre peut sembler sale sur fond clair. Réglez l’opacité par thème, comme dans les dégradés en mode sombre.

Pour une version en CSS seul de la même idée, voyez la texture de bruit en CSS. Et si vous voulez du grain sans régler le moindre filtre, chaque Mark Gradiently porte son propre grain et sa matière dans sa recette, rendus en direct à la taille que vous créez.

Du grain, pas d’éclat.
Un bruit fin sur un dégradé profond

Un Mark avec le grain intégré à sa surface. Le bruit fait partie de la recette, il garde donc la même échelle à toutes les tailles.

Trouvez un dégradé qui n’est qu’à vous

Parcourez des milliers de Marks, créez avec n’importe lequel gratuitement, et réservez celui qui vous ressemble.

Parcourir le Marché

Les questions qu’on nous pose

Que fait feTurbulence en SVG ?

Il génère un bruit de Perlin dans un filtre SVG. Vous pouvez afficher ce bruit directement comme texture ou l’envoyer dans d’autres primitives comme feColorMatrix, feDiffuseLighting ou feDisplacementMap.

Quelle baseFrequency utiliser pour du grain ?

Essayez 0,7 à 0,9 avec le type fractalNoise et trois octaves pour un grain de film fin. Des valeurs plus basses donnent des motifs plus grands et plus doux.

Quelle différence entre fractalNoise et turbulence ?

fractalNoise est doux et régulier, bien pour le grain et le papier. turbulence a des plis plus nets et convient aux effets de marbre, de feu ou d’eau.

Pourquoi mon bruit SVG montre-t-il des raccords visibles en tuile ?

Ajoutez stitchTiles="stitch" sur feTurbulence et étendez la zone du filtre à toute la tuile avec x, y, width et height, pour que les bords correspondent et qu’aucune bordure floue n’apparaisse.

feTurbulence est-il lent ?

Il peut l’être sur de grandes surfaces ou quand il est animé, car il recalcule le bruit à chaque repeint. Une petite tuile fixe répétée en fond coûte peu.

Partager ce guide

Écrit par GradientlyCompte Gradiently vérifié

L’équipe derrière Gradiently, un outil de création construit autour des Marks : des dégradés vivants qui donnent à tout ce que vous créez votre propre signature.

Voir notre profil

Sur cette page

Ce que fait chaque attribut de feTurbulenceRecette : du grain sur un dégradéRecette : texture papierRecette : bords déformés avec feDisplacementMapPerformances et comportement des navigateurs

Partager ce guide

À suivre dans CSS et web

Dégradé maillé en SVG : ce qui fonctionne aujourd’hui

Pour aller plus loin

Tous les guides : CSS et web
Dégradés

Dégradés granuleux : un peu de bruit donne de la valeur à la couleur

6 min de lecture

Un dégradé propre ressemble à un réglage d’écran par défaut. Le même dégradé avec une fine couche de grain ressemble à un imprimé, à un photogramme de film ou à un mur peint. Voici pourquoi, quelle dose ajouter et comment faire.

CSS et web

Texture de bruit CSS : du grain sur les dégradés avec SVG

5 min de lecture

Une légère couche de bruit masque les paliers et donne à une couleur d’écran plate un air d’imprimé ou de pellicule. Voici le filtre SVG qui la produit, réglé et prêt à coller.

Dégradés

Pourquoi votre dégradé a des rayures, et comment corriger le banding

6 min de lecture

Vous avez fait un dégradé lisse et il est ressorti rayé. C’est du banding : il a une cause simple et une poignée de remèdes fiables. Voici l’arithmétique, puis les remèdes.

Trouvez le style qui n’est qu’à vous.

Chaque Mark est un fond vivant avec un seul propriétaire. Essayez un Mark encore disponible et réservez le vôtre quand vous le sentez.

Commencer à créer

Vérifier un certificat

Saisissez un numéro de certificat ou le code d’un Mark pour voir à qui il appartient.

Fonctionne avec ChatGPT et Claude

Demandez une création à votre IA. Elle la réalise dans votre Mark, prête à modifier.

ChatGPTClaude
Comment se connecter

Produit

  • Marché
  • Explorer
  • Tarifs
  • Certificats

Apprendre

  • Guide pratique
  • Centre d’aide
  • Nouveautés

Développeurs

  • Vue d’ensemble
  • ChatGPT et Claude
  • Référence de l’API
  • Clés API

Entreprise

  • À propos
  • Nous contacter
  • Se connecter

Mentions légales

  • Conditions
  • Confidentialité
  • Remboursements
  • Protection des Marks
  • Cookies
  • Toutes les politiques
Parcourez les lettres. Chacune porte un vrai Mark.Touchez une lettre pour voir son Mark.Un seul nom. Dix Marks à l’intérieur.
© 2026 Gradiently