Notice: The WebPlatform project, supported by various stewards between 2012 and 2015, has been discontinued. This site is now available on github.



Scalable Vector Graphics (SVG) is an XML markup language for structurally describing two-dimensional vector graphics. In essence, SVG is to graphics what HTML is to text. SVG is a W3C recommendation and is explicitly designed to work with other W3C standards such as HTML, CSS or DOM.

Explore our SVG docs

SVG learning material

Tutorials and concept articles to teach you SVG from the ground up.


A reference guide to SVG and related elements.


A reference guide to all the available SVG attributes.



A reference guide to all the available SVG objects.



A reference guide to all the available SVG methods.



A reference guide to all the available SVG properties.

Note: If you are completely new to web development, you may want to review Web development for beginners.


SVG was first worked on in 1998, in an attempt to create a standardised vector graphics markup language for browsers to follow (proprietary technologies at the time included Microsoft’s VML and Sun/Adobe’s PGML.)

  • First version: The first version to be standardised was SVG 1.0. The SVG 1.0 recommendation was published in 2001.
  • Current stable version: SVG 1.1 is the current stable implementation supported across modern browsers, first published in 2003. There are also some SVG offshoots with different purposes, such as SVG Tiny 1.2, but for reference you should stick to SVG 1.1.
  • Current and future work: SVG 1.2 development has been dropped in favour of the upcoming SVG 2.0 specification.

Contributing to SVG development

SVG is worked on by the SVG working group — see the SVG WG homepage for more details, including mailing list details for feedback and contributing.

Index of all SVG topics