Générateur CSS de filtres, gratuit

Ajustez les propriétés filter CSS avec des curseurs et voyez le résultat en temps réel. Copiez le code généré.

Contrôles de filtre

Aperçu

Aperçu des filtres

CSS généré


      
    

Comment utiliser

  1. Ajustez les curseurs de filtre : utilisez les curseurs pour contrôler flou, luminosité, contraste, saturation, rotation de teinte, opacité, niveaux de gris, sépia et inversion.
  2. Prévisualisez en temps réel : l'image ou l'élément d'exemple se met à jour instantanément quand vous déplacez un curseur.
  3. Copiez le CSS : la valeur complète de la propriété filter (par ex. filter: brightness(1.2) contrast(1.5) saturate(0.8)) est prête à coller dans votre feuille de style.

Pourquoi utiliser le générateur CSS de filtres ?

Les filtres CSS permettent d'appliquer des effets de traitement d'image (flou, contraste, luminosité, décalages de couleurs) directement dans le navigateur sans Photoshop ni logiciel d'édition d'image. Ils fonctionnent sur les images, les vidéos et tout élément HTML. Construire la chaîne de la propriété filter à la main exige de connaître les noms de fonctions exacts et les plages de valeurs valides. Ce générateur propose des curseurs intuitifs avec un retour visuel pour obtenir exactement le rendu souhaité.

Fonctionnalités

Questions fréquentes

Peut-on appliquer les filtres CSS à des vidéos ?

Oui. La propriété filter CSS fonctionne sur tout élément, y compris <video>, <img>, <div> et <canvas>. Appliqué à une vidéo, le filtre est rendu en temps réel pendant la lecture.

Quelle est la différence entre filter et backdrop-filter ?

filter applique l'effet à l'élément lui-même et à tous ses enfants. backdrop-filter applique l'effet au contenu situé derrière (sous) l'élément, couramment utilisé pour des effets de verre dépoli.

Les filtres CSS affectent-ils les performances ?

Les filtres avec flou ou compositing complexe peuvent être gourmands pour le GPU. Pour des filtres animés, assurez-vous que l'élément est sur sa propre couche de composition (ajoutez transform: translateZ(0) comme indication). Les filtres statiques sur images et icônes ont un impact minimal.

Ce que CSS filter fait vraiment

La propriété CSS filter applique des effets graphiques (flou, ajustement de contraste, décalage de couleur, ombre portée) à un élément et à ses enfants avant que le navigateur ne le peigne à l’écran. Le traitement se fait entièrement dans le pipeline de rendu du navigateur, généralement accéléré par le GPU, sans aucun JavaScript impliqué. Les effets sont uniquement visuels : le HTML sous-jacent, le fichier qu’une image référence et la mise en page restent tous inchangés. Une photographie affichée avec filter: grayscale(1) conserve ses couleurs originales dans le fichier ; le navigateur convertit en niveaux de gris uniquement à l’affichage.

CSS filter expose dix fonctions : blur(px) pour le flou gaussien, brightness(n) et contrast(n) pour les ajustements tonals, saturate(n) pour l’intensité des couleurs, hue-rotate(deg) pour décaler la roue chromatique, opacity(n) pour la transparence, grayscale(n) et sepia(n) pour les effets de désaturation, invert(n) pour la sortie négative, et drop-shadow(...) pour les ombres conscientes de la forme (contrairement à box-shadow, drop-shadow suit la forme réellement rendue y compris la transparence, idéal pour les ombres sur les icônes ou les images PNG avec des bords découpés). Les fonctions s’enchaînent : filter: brightness(1.2) contrast(1.3) saturate(0.9) applique les trois en séquence.

Pourquoi cela compte pour le design web moderne : il y a une décennie, ajuster la luminosité, la teinte ou la saturation des images pour la cohérence du design nécessitait de prétraiter chaque image dans Photoshop et de la réexporter. CSS filter apporte les mêmes ajustements à l’exécution, appliqués de manière non destructive. Vous pouvez servir une seule image et la présenter de manières différentes selon le thème, l’état de survol ou la préférence de l’utilisateur. Vous pouvez aussi utiliser les filtres pour l’accessibilité : une photo en niveaux de gris inversés comme espace réservé, ou une superposition d’image assombrie pour une lisibilité de texte à fort contraste. Le compromis est la performance pour certains filtres (le flou surtout) et le fait que les filtres affectent aussi les enfants, ce qui peut cascader de manière inattendue.

Comment cet outil fonctionne en coulisses

Chaque curseur dans l’outil est lié à une seule fonction de filtre. Quand vous déplacez un curseur, JavaScript lit la valeur, construit la chaîne de fonction de filtre avec cette valeur (par ex. brightness(1.4)) et concatène toutes les fonctions actives en une seule chaîne filter CSS. Cette chaîne est appliquée comme un style inline sur l’image d’aperçu, produisant un retour visuel immédiat lorsque le navigateur repeint avec le nouveau filtre. Aucune donnée d’image n’est traitée en JavaScript : les calculs réels au niveau du pixel se font à l’intérieur du moteur de rendu du navigateur, généralement sur le GPU.

Le CSS généré affiché dans la boîte de code est la même chaîne appliquée à l’aperçu. Cliquez sur « Copier CSS » et l’outil écrit cette chaîne dans votre presse-papiers en utilisant l’API moderne navigator.clipboard.writeText(). La chaîne est prête à coller dans l’attribut style de n’importe quel élément ou dans n’importe quelle déclaration de classe dans votre feuille de style. L’outil prend aussi en charge le chargement de votre propre image : choisissez un fichier et il devient une URL blob: temporaire dans le navigateur, jamais téléversée nulle part, et le filtre s’affiche sur votre image réelle pour que vous puissiez régler l’apparence exacte pour votre contenu.

Le comportement de réinitialisation est par filtre : chaque curseur a son propre bouton de réinitialisation qui ramène seulement ce filtre à sa valeur sans effet (1 pour les multiplicateurs, 0deg pour hue-rotate, 0px pour blur). Le bouton « Tout réinitialiser » ramène chaque curseur à neutre simultanément. L’état de l’outil vit en mémoire seulement ; rafraîchissez la page et votre combinaison de filtres est partie. Aucun serveur ne stocke vos valeurs de filtre choisies, aucune analyse ne suit quelles combinaisons vous essayez. L’outil est un terrain de jeu CSS sans état, soutenu par la publicité.

Brève histoire des filtres CSS

Flux du monde réel

Pièges courants et ce qu’ils signifient

Confidentialité : tout se passe dans votre navigateur

Les outils générateurs CSS viennent en deux saveurs : pages HTML simples exécutant du JavaScript côté client (privées, rapides) et éditeurs cloud qui sauvegardent vos projets (collaboratifs mais avec des compromis de confidentialité). Cet outil est du premier type. Vos valeurs de curseur, votre CSS généré et même toute image que vous téléversez pour prévisualisation restent entièrement dans votre session navigateur. Rafraîchissez la page et l’état est parti sauf si vous avez copié le CSS d’abord ou enregistré une capture d’écran.

La fonctionnalité « téléverser votre propre image » mérite une note de confidentialité : lorsque vous choisissez un fichier, le navigateur crée une URL blob: locale pointant vers la mémoire, et l’aperçu affiche votre image avec le filtre appliqué. Aucune requête ne va vers un serveur. Ouvrez l’onglet Réseau du navigateur pendant le téléversement ; vous verrez zéro trafic sortant. L’image existe seulement dans la mémoire de l’onglet de votre navigateur et est effacée lorsque vous fermez l’onglet. Pour les images confidentielles (designs propriétaires, scans médicaux, captures d’écran protégées par NDA), c’est la propriété de confidentialité qui compte.

Quand un autre outil est le bon choix

Autres questions fréquentes

Puis-je animer les changements de filtre CSS en douceur ?

Oui, avec des réserves. La propriété filter est animable en CSS, et les transitions entre deux chaînes de filtre avec les mêmes fonctions dans le même ordre interpolent en douceur (blur(0px) brightness(1) à blur(10px) brightness(1.5) fonctionne). Ajouter ou supprimer des fonctions au milieu de la transition saute brusquement. Pour une animation multi-filtres en douceur, listez chaque fonction que vous voulez transitionner aux états de début et de fin, en utilisant des valeurs neutres (brightness(1), saturate(1), blur(0px)) là où vous ne voulez pas qu’un filtre spécifique soit appliqué.

CSS filter fonctionne-t-il sur les images d’arrière-plan ?

Oui. CSS filter s’applique à l’élément entier y compris son image d’arrière-plan, son contenu et ses éléments enfants. Si vous voulez filtrer seulement l’image d’arrière-plan mais pas le contenu au premier plan, l’approche typique est d’utiliser un élément enfant séparé pour l’arrière-plan (par ex. un pseudo-élément ::before positionné) avec le filtre appliqué dessus, puis de placer le contenu comme un frère non filtré au-dessus. La propriété backdrop-filter est aussi utile quand vous voulez filtrer ce qui est visible derrière un élément transparent.

Les filtres CSS sont-ils indexés par les moteurs de recherche ?

Les filtres CSS sont purement visuels et ne changent pas le contenu HTML. Les moteurs de recherche indexent le contenu sous-jacent (texte alt d’image, texte environnant) comme si le filtre n’était pas appliqué. Une image en niveaux de gris avec filter: grayscale(1) est toujours indexée comme l’image couleur originale basée sur son fichier et son texte alt. C’est généralement ce que vous voulez : pas d’effets secondaires de filtre sur le SEO ou les lecteurs d’écran.

Pourquoi drop-shadow semble-t-il différent de box-shadow ?

Box-shadow dessine une ombre autour de la boîte rectangulaire d’un élément, ignorant toute transparence. Drop-shadow (filter) dessine une ombre qui suit la forme réellement rendue, y compris les régions transparentes. Pour une icône SVG avec des bords découpés ou un PNG avec transparence, drop-shadow produit une ombre consciente de la forme qui correspond au contour visible. Box-shadow sur le même élément montrerait une ombre rectangulaire autour de la boîte englobante, ce qui semble faux. Utilisez drop-shadow pour les ombres conscientes de la forme, box-shadow pour les éléments rectangulaires.

Quelle est la différence entre opacity et filter: opacity() ?

Dans la plupart des navigateurs ils produisent des résultats visuellement identiques. La différence technique : opacity est une propriété de premier niveau, tandis que filter: opacity() fait partie de la chaîne de filtres et se compose avec d’autres filtres. Si vous avez filter: blur(5px) opacity(0.5), les deux s’appliquent ensemble comme une seule opération GPU. Utiliser opacity en dehors de la chaîne de filtres fonctionne pareil dans la plupart des cas. Tenez-vous-en à opacity pour la transparence autonome ; utilisez filter: opacity() seulement lors de l’enchaînement avec d’autres filtres.

Puis-je réinitialiser tous les filtres rapidement ?

Oui. Définissez filter: none pour supprimer tous les filtres dans une déclaration. C’est la façon la plus propre de réinitialiser, surtout pour les états de survol où vous voulez supprimer tous les effets de filtre à la sortie du survol. Alternativement, réglez chaque fonction de filtre à sa valeur neutre : filter: brightness(1) contrast(1) saturate(1) blur(0px) hue-rotate(0deg) grayscale(0) sepia(0) invert(0) opacity(1) est fonctionnellement équivalent à filter: none mais plus verbeux.

Outils associés

Générateur de dégradés CSS, gratuit Convertisseur de couleurs, gratuit Filtres & effets d'image, gratuits Générateur CSS de motifs, gratuit