The calcMode attribute specifies the interpolation mode for the animation.

The default mode is linear, however if the attribute does not support linear interpolation (e.g. for strings), the calcMode attribute is ignored and discrete interpolation is used.

You can use this attribute with the following SVG elements:

Usage notes

Value discrete | linear | paced | spline
Default value linear
Animatable No

This specifies that the animation function will jump from one value to the next without any interpolation.


Simple linear interpolation between values is used to calculate the animation function. Except for <animateMotion>, this is the default value.


Defines interpolation to produce an even pace of change across the animation. This is only supported for values that define a linear numeric range, and for which some notion of "distance" between points can be calculated (e.g. position, width, height, etc.). If paced is specified, any keyTimes or keySplines will be ignored. For <animateMotion>, this is the default value.


Interpolates from one value in the values list to the next according to a time function defined by a cubic Bézier spline. The points of the spline are defined in the keyTimes attribute, and the control points for each interval are defined in the keySplines attribute.


SVG Animations Level 2
# CalcModeAttribute

See also