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

Animation Attributes

Animation timing attributes
begin, dur, end, min, max, restart, repeatCount, repeatDur, fill
Other Animation attributes

Most notably: attributeName

Animation event attributes

Most notably: onbegin, onend, onrepeat

Global attributes

Core Attributes

Most notably: id

Styling Attributes
class, style
Event Attributes

Global event attributes, Document element event attributes

Usage notes

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


SVG Animations Level 2 (SVG Animations 2)
# SetElement

Browser compatibility

BCD tables only load in the browser

See also