The <symbol> element is used to define graphical template objects which can be instantiated by a <use> element. The use of symbol elements for graphics that are used multiple times in the same document adds structure and semantics. Documents that are rich in structure may be rendered graphically, as speech, or as Braille, and thus promote accessibility. Note that a symbol element itself is not rendered. Only instances of a symbol element (i.e., a reference to a symbol by a <use> element) are rendered.

Usage context


Global attributes

Specific attributes

DOM Interface

This element implements the SVGSymbolElement interface.


<svg width="120" height="140">
<!-- symbol definition  NEVER draw -->
<symbol id="sym01" viewBox="0 0 150 110">
  <circle cx="50" cy="50" r="40" stroke-width="8"
      stroke="red" fill="red"/>
  <circle cx="90" cy="60" r="40" stroke-width="8"
      stroke="green" fill="white"/>

<!-- actual drawing by "use" element -->
<use href="#sym01"
     x="0" y="0" width="100" height="50"/>
<use href="#sym01"
     x="0" y="50" width="75" height="38"/>
<use href="#sym01"
     x="0" y="100" width="50" height="25"/>


Specification Status Comment
Scalable Vector Graphics (SVG) 2
The definition of '<symbol>' in that specification.
Candidate Recommendation Allowed geometry properties to be specified on a symbol
Scalable Vector Graphics (SVG) 1.1 (Second Edition)
The definition of '<symbol>' in that specification.
Recommendation Initial definition

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 (Yes) 1.5 (1.8) 9.0 9.0 3.0.4
Feature Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 3.0 (Yes) 1.0 (1.8) No support (Yes) 3.0.4

The chart is based on these sources.

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.