grayscale()

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

css
grayscale(amount)

Parameters

amount Optional

Amount of the input image that is converted to grayscale. It is specified as a <number> or a <percentage>. A value of 100% changes the input completely to grayscale, while a value of 0% leaves the input unchanged. Values between 0% and 100% have linear multipliers on the effect. The initial value used for interpolation is 0. The default value is 1.

Formal syntax

<grayscale()> = 
grayscale( [ <number> | <percentage> ]? )

Examples

Examples of correct values for grayscale()

css
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

See also

The other <filter-function> functions available to be used in values of the filter and backdrop-filter properties include: