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


Specification Status Comment
SVG Animations Level 2
The definition of '<set>' in that specification.
Editor's Draft
Scalable Vector Graphics (SVG) 1.1 (Second Edition)
The definition of '<set>' in that specification.
Recommendation Initial definition

Browser compatibility

BCD tables only load in the browser

See also