The SVG <set> element provides a simple means of just setting the value of an attribute for a specified duration.

It supports all attribute types, including those that cannot reasonably be interpolated, such as string and boolean values. For attributes that can be reasonably be interpolated, the <animate> is usually preferred.

Note: The <set> element is non-additive. The additive and accumulate attributes are not allowed, and will be ignored if specified.


<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
    rect {
      cursor: pointer;
    .round {
      rx: 5px;
      fill: green;

  <rect id="me" width="10" height="10">
    <set attributeName="class" to="round" begin="me.click" dur="2s" />



This attribute defines the value to be applied to the target attribute for the duration of the animation. The value must match the requirements of the target attribute. Value type: <anything>; Default value: none; Animatable: no

Usage context

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


SVG Animations Level 2
# SetElement

Browser compatibility

BCD tables only load in the browser

See also