coderef

SMIL SVG animationsBaseline · Widely available

The <animate>, <animateMotion>, and <animateTransform> SVG elements declaratively animate SVG elements. Also known as SMIL.

Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Jan 15, 2020. Widely available since Jul 15, 2022.

Browser support

DesktopChrome
1–18Not supported
19+Supportedsince May 15, 2012
Current: 155
Edge
12–18Not supported
79+Supportedsince Jan 15, 2020
Current: 154
Firefox
1–3.6Not supported
4+Supportedsince Mar 22, 2011
Current: 157
Safari
1–5.1Not supported
6+Supportedsince Jul 25, 2012
Current: 27
MobileChrome Android
18–18Not supported
25+Supportedsince Feb 27, 2013
Current: 155
Firefox Android
4+Supportedsince Mar 29, 2011
Current: 157
Safari iOS
1–5Not supported
6+Supportedsince Sep 10, 2012
Current: 27

How to use

This feature is Baseline widely available — use it freely, no fallback needed.

Example

Full syntax and examples are on MDN: SVGAnimateElement.

Feature detection

JS · check before using
if ("SVGAnimationElement" in globalThis) {
  // SVGAnimationElement is available
} else {
  // load a polyfill or use a fallback
}

Sub-features

Support for each part of the feature (90). The overall table above shows when the whole feature works.

Show 70 more
Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
SVGAnimatedLengthList.baseVal1121.531841
SVGAnimatedNumber1121.531841
SVGAnimatedNumber.animVal1121.531841
SVGAnimatedNumber.baseVal1121.531841
SVGAnimatedNumberList6121.551844
SVGAnimatedNumberList.animVal612361846
SVGAnimatedNumberList.baseVal612361846
SVGAnimatedPreserveAspectRatio5121.551844
SVGAnimatedPreserveAspectRatio.animVal51222618226
SVGAnimatedPreserveAspectRatio.baseVal51222618226
SVGAnimatedRect1121.531841
SVGAnimatedRect.animVal11215318151
SVGAnimatedRect.baseVal11215318151
SVGAnimatedString1121.531841
SVGAnimatedString.animVal1121.531841
SVGAnimatedString.baseVal1121.531841
SVGAnimatedTransformList1121.531841
SVGAnimatedTransformList.animVal1121.531841
SVGAnimatedTransformList.baseVal1121.531841
SVGAnimationElement279431841
SVGAnimationElement.beginElement279441843.2
SVGAnimationElement.beginElementAt279441843.2
SVGAnimationElement.beginEvent_event35799326.2359326.2
SVGAnimationElement.endElement279441843.2
SVGAnimationElement.endElementAt279441843.2
SVGAnimationElement.endEvent_event35799326.5359326.5
SVGAnimationElement.getCurrentTime279441843.2
SVGAnimationElement.getSimpleDuration279441843.2
SVGAnimationElement.getStartTime279441843.2
SVGAnimationElement.repeatEvent_event35799326.2359326.2
SVGAnimationElement.requiredExtensions27912318141
SVGAnimationElement.systemLanguage27912318141
SVGAnimationElement.targetElement279441843.2
SVGPolygonElement.animatedPoints1121.531841
SVGPolylineElement.animatedPoints1121.531841
SVGSVGElement.animationsPaused1791.531841
SVGSVGElement.pauseAnimations1121.531841
SVGSVGElement.unpauseAnimations1121.531841
TimeEvent✕✕4✕✕4✕
TimeEvent.detail✕✕4✕✕4✕
TimeEvent.initTimeEvent✕✕4✕✕4✕
TimeEvent.view✕✕4✕✕4✕
animate27943.11842
animate.attributeName279441843.2
animate.attributeType279441843.2
animate.dur279441843.2
animate.fill27943.11842
animate.from279441843.2
animate.href50795112.1505112.2
animate.repeatCount279441843.2
animate.systemLanguage279123.118142
animate.to279441843.2
animateMotion1979462546
animateMotion.calcMode1979462546
animateMotion.fill1979462546
animateMotion.href50795112.1505112.2
animateMotion.keyPoints1979462546
animateMotion.origin1979462546
animateMotion.path1979462546
animateMotion.rotate1979462546
animateMotion.systemLanguage197912625146
animateTransform279431841
animateTransform.by279431842
animateTransform.fill279431841
animateTransform.from279431842
animateTransform.href50795112.1505112.2
animateTransform.systemLanguage27912318141
animateTransform.to279431842
animateTransform.type279431842
svg.global_attributes.class.animation_support579541853.2