This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
The setStdDeviation() method of the SVGFEDropShadowElement interface sets the values for the stdDeviation attribute.
setStdDeviation(x, y)
xA float representing X component of the stdDeviation attribute.
yA float representing Y component of the stdDeviation attribute.
None (undefined).
setStdDeviation()
In this example, we set the horizontal and vertical standard deviations for a blur operation for a <feDropShadow> filter shadow effect using the setStdDeviation() method of the SVGFEDropShadowElement interface.
<svg height="200" width="200" viewBox="0 0 200 200">
<defs>
<filter id="drop-shadow-filter">
<feDropShadow
in="SourceGraphic"
dx="10"
dy="10"
stdDeviation="5 5"
flood-color="gray" />
</filter>
</defs>
<!-- Rectangle with an initial gray shadow -->
<rect
x="50"
y="50"
width="100"
height="100"
fill="red"
filter="url(#drop-shadow-filter)" />
</svg>
<!-- Button to update the shadow -->
<button id="updateShadow" type="button">Update Shadow</button>
// Get the feDropShadow element
const dropShadow = document.querySelector("feDropShadow");
// Button to trigger the update
document.getElementById("updateShadow").addEventListener("click", () => {
// Change the standard deviation (blur radius) of the shadow
dropShadow.setStdDeviation(15, 20);
});
Click on the red rectangle to update the drop shadow's blur effect.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
setStdDeviation |
13 | 79 | 30 | 15 | 6 | 18 | 30 | 14 | 6 | 1.0 | 4.4 | 6 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDropShadowElement/setStdDeviation