`grayscale()` CSS function
Baseline Widely available
This feature is well established and works across many devices and browser versions. It's been available across browsers since September 2016.
The grayscale() CSS function converts the input image to grayscale. Its result is a <filter-function>.
Try it
filter: grayscale(0);
filter: grayscale(0.2);
filter: grayscale(60%);
filter: grayscale(1);
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
Syntax
grayscale(amount)
Parameters
-
amountOptional - Amount of the input image that is converted to grayscale. It is specified as a
<number>or a<percentage>. A value of100%changes the input completely to grayscale, while a value of0%leaves the input unchanged. Values between0%and100%have linear multipliers on the effect. The initial value used for interpolation is0. The default value is1.
Formal syntax
<grayscale()> =
grayscale( [ <number> | <percentage> ]? )
Examples
Examples of correct values for grayscale()
grayscale(0) /* No effect */ grayscale(.7) /* 70% grayscale */ grayscale() /* Completely grayscale */ grayscale(1) grayscale(100%)
Specifications
| Specification |
|---|
| Filter Effects Module Level 1 # funcdef-filter-grayscale |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | |
grayscale |
18 |
12 |
35 |
15 |
6 |
53 |
35 |
14 |
6 |
6.0 |
4.4 |
6 |
See also
The other <filter-function> functions available to be used in values of the filter and backdrop-filter properties include:
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/filter-function/grayscale