The SVG <animateMotion> element let define how an element moves along a motion path.

Note: To reuse an existing path, it will be necessary to use an <mpath> element inside the <animateMotion> element instead of the path attribute.

<svg viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg">
  <path fill="none" stroke="lightgrey"
    d="M20,50 C20,-50 180,150 180,50 C180-50 20,150 20,50 z" />

  <circle r="5" fill="red">
    <animateMotion dur="10s" repeatCount="indefinite"
      path="M20,50 C20,-50 180,150 180,50 C180-50 20,150 20,50 z" />

Usage context

CategoriesAnimation element
Permitted contentAny number of the following elements, in any order:
Descriptive elements


This attribute indicate, in the range [0,1], how far is the object along the path for each keyTimes associated values.
Value type<number>*; Default value: none; Animatable: no
This attribute defines the path of the motion, using the same syntax as the d attribute.
Value type<string>; Default value: none; Animatable: no
This attribute defines a rotation applied to the element animated along a path, usually to make it pointing in the direction of the animation.
Value type<number>|auto|auto-reverse; Default value: 0; Animatable: no

Note: For <animateMotion> the default value for the calcMode attribute is paced

Animation Attributes

Global attributes

Usage notes

This element implements the SVGAnimateMotionElement interface.


Browser compatibility

BCD tables only load in the browser

See also