Scalable Vector Graphics
Encyclopedia
Scalable Vector Graphics (SVG) is a family of specifications of an XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

-based file format
File format
A file format is a particular way that information is encoded for storage in a computer file.Since a disk drive, or indeed any computer storage, can store only bits, the computer must have some way of converting information to 0s and 1s and vice-versa. There are different kinds of formats for...

 for describing two-dimensional vector graphics
Vector graphics
Vector graphics is the use of geometrical primitives such as points, lines, curves, and shapes or polygon, which are all based on mathematical expressions, to represent images in computer graphics...

, both static and dynamic (i.e. interactive
Interactivity
In the fields of information science, communication, and industrial design, there is debate over the meaning of interactivity. In the "contingency view" of interactivity, there are three levels:...

 or animated
SVG animation
Animation of Scalable Vector Graphics, an open XML-based standard vector graphics format, is possible through various means:*Scripting: ECMAScript is a primary means of creating animations and interactive user interfaces within SVG....

). The SVG specification is an open standard
Open standard
An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....

 that has been under development by the World Wide Web Consortium
World Wide Web Consortium
The World Wide Web Consortium is the main international standards organization for the World Wide Web .Founded and headed by Tim Berners-Lee, the consortium is made up of member organizations which maintain full-time staff for the purpose of working together in the development of standards for the...

 (W3C) since 1999.

SVG images and their behaviors are defined in XML text files. This means that they can be searched, indexed, scripted
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...

 and, if required, compressed. Since they are XML files, SVG images can be created and edited with any text editor
Text editor
A text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....

, but it is often more convenient to create these types of images with drawing programs such as Inkscape
Inkscape
Inkscape is a free software vector graphics editor, licensed under the GNU General Public License. Its goal is to implement full support for the Scalable Vector Graphics 1.1 standard....

.

All major modern web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

s have at least some degree of support and render SVG markup
Markup language
A markup language is a modern system for annotating a text in a way that is syntactically distinguishable from that text. The idea and terminology evolved from the "marking up" of manuscripts, i.e. the revision instructions by editors, traditionally written with a blue pencil on authors' manuscripts...

 directly, including Mozilla Firefox
Mozilla Firefox
Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...

, Internet Explorer 9
Internet Explorer 9
Windows Internet Explorer 9 is the current version of the Internet Explorer web browser from Microsoft. It was released to the public on March 14, 2011 at 21:00 PDT. Internet Explorer 9 supports several CSS 3 properties, embedded ICC v2 or v4 color profiles support via Windows Color System, and...

, Google Chrome
Google Chrome
Google Chrome is a web browser developed by Google that uses the WebKit layout engine. It was first released as a beta version for Microsoft Windows on September 2, 2008, and the public stable release was on December 11, 2008. The name is derived from the graphical user interface frame, or...

, Opera and Safari. However, no earlier versions of Microsoft Internet Explorer (IE) support SVG natively.

Overview

SVG has been in development since 1999 by a group of companies within the W3C after the competing standards Precision Graphics Markup Language (PGML) – developed from Adobe's
Adobe Systems
Adobe Systems Incorporated is an American computer software company founded in 1982 and headquartered in San Jose, California, United States...

 PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...

 – and Vector Markup Language
Vector Markup Language
Vector Markup Language is a deprecated XML language used to produce vector graphics.VML was submitted as a proposed standard to the W3C in 1998 by Autodesk, Hewlett-Packard, Macromedia, Microsoft, and Visio. Around the same time other competing W3C submissions were received in the area of web...

 (VML) – developed from Microsoft's RTF
Rich Text Format
The Rich Text Format is a proprietary document file format with published specification developed by Microsoft Corporation since 1987 for Microsoft products and for cross-platform document interchange....

 – were submitted to W3C in 1998. SVG drew on experience from the designs of both those formats.

SVG allows three types of graphic objects: vector graphics
Vector graphics
Vector graphics is the use of geometrical primitives such as points, lines, curves, and shapes or polygon, which are all based on mathematical expressions, to represent images in computer graphics...

, raster graphics
Raster graphics
In computer graphics, a raster graphics image, or bitmap, is a data structure representing a generally rectangular grid of pixels, or points of color, viewable via a monitor, paper, or other display medium...

 and text. Graphical objects, including PNG and JPEG
JPEG
In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....

 raster images, can be grouped, styled, transformed and composited into previously rendered
Rendering (computer graphics)
Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...

 objects. SVG does not directly support z-indices that separate drawing order from document order for overlapping objects, unlike some other vector markup languages like VML. Text can be in any XML namespace
XML Namespace
xmlns tagged XML namespaces are used for providing uniquely named elements and attributes in an XML document. They are defined in a W3C recommendation. An XML instance may contain element or attribute names from more than one XML vocabulary...

 suitable to the application, which enhances search ability and accessibility
Accessibility
Accessibility is a general term used to describe the degree to which a product, device, service, or environment is available to as many people as possible. Accessibility can be viewed as the "ability to access" and benefit from some system or entity...

 of the SVG graphics. The feature set includes nested transformations, clipping path
Clipping path
A clipping path is a closed vector path, or shape, used to cut out a 2D image in image editing software. Anything inside the path will be included after the clipping path is applied; anything outside the path will be omitted from the output...

s, alpha mask
Alpha compositing
In computer graphics, alpha compositing is the process of combining an image with a background to create the appearance of partial or full transparency. It is often useful to render image elements in separate passes, and then combine the resulting multiple 2D images into a single, final image in a...

s, filter effects, template objects and extensibility
Extensibility
In software engineering, extensibility is a system design principle where the implementation takes into consideration future growth. It is a systemic measure of the ability to extend a system and the level of effort required to implement the extension...

.

Since 2001, the SVG specification has been updated to version 1.1 (current Recommendation) and 1.2 (still a Working Draft).
The SVG Mobile Recommendation introduced two simplified profiles of SVG 1.1, SVG Basic and SVG Tiny, meant for devices with reduced computational and display capabilities.
SVG Tiny later became an autonomous Recommendation (current version 1.2) and the basis for SVG 1.2.
In addition to these variants and profiles, the SVG Print specification (still a Working Draft) contains guidelines for printable SVG 1.2 and SVG Tiny 1.2 documents.

Although not directly comparable to SVG since it is a bitmap based format, the Canvas
Canvas (HTML element)
The canvas element is part of HTML5 and allows for dynamic, scriptable rendering of 2D shapes and bitmap images. It is a low level, procedural model that updates a bitmap and does not have a built-in scene graph.- History :...

 element in HTML5 provides an approach to rendering dynamic graphics in HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

 that's procedural rather than declarative: instead of specifying the shapes to draw in XML, the author executes drawing commands from a script. Canvas does not allow for static rendering, and drawn elements are not identifiable in a DOM
Document Object Model
The Document Object Model is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. Aspects of the DOM may be addressed and manipulated within the syntax of the programming language in use...

-like way.

Printing

Though the SVG Specification primarily focuses on vector graphics markup language, its design includes the basic capabilities of a page description language
Page description language
A page description language is a language that describes the appearance of a printed page in a higher level than an actual output bitmap. An overlapping term is printer control language, but it should not be confused as referring solely to Hewlett-Packard's PCL...

 (PDL), like Adobe's PDF
Portable Document Format
Portable Document Format is an open standard for document exchange. This file format, created by Adobe Systems in 1993, is used for representing documents in a manner independent of application software, hardware, and operating systems....

. It contains provisions for rich graphics, and is also compatible with CSS
Cascading Style Sheets
Cascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...

 for styling purposes. It is unlike XHTML
XHTML
XHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....

, whose primary purpose is communication of content, not presentation, and therefore specifies objects to be displayed but not where to place such objects. Conversely SVG is an ideal PDL for print-oriented uses, as it contains all the functionality required to place each glyph and image in a chosen location on the final page. A much more print-specialized subset of SVG (SVG Print, authored by Canon, HP, Adobe
Adobe Systems
Adobe Systems Incorporated is an American computer software company founded in 1982 and headquartered in San Jose, California, United States...

 and Corel) is a W3C Working Draft.

Scripting and animation

SVG drawings can be dynamic and interactive. Time-based modifications to the elements can be described in SMIL
Synchronized Multimedia Integration Language
SMIL , the Synchronized Multimedia Integration Language, is a W3C recommended XML markup language for describing multimedia presentations. It defines markup for timing, layout, animations, visual transitions, and media embedding, among other things...

, or can be programmed in a scripting language
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...

 (e.g., ECMAScript
ECMAScript
ECMAScript is the scripting language standardized by Ecma International in the ECMA-262 specification and ISO/IEC 16262. The language is widely used for client-side scripting on the web, in the form of several well-known dialects such as JavaScript, JScript, and ActionScript.- History :JavaScript...

 or JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

). The W3C explicitly recommends SMIL as the standard for animation in SVG. A rich set of event handlers such as onmouseover and onclick can be assigned to any SVG graphical object.

Compression

SVG images, being XML, contain repeated fragments of text that are well suited for lossless data compression by applications
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

 such as gzip
Gzip
Gzip is any of several software applications used for file compression and decompression. The term usually refers to the GNU Project's implementation, "gzip" standing for GNU zip. It is based on the DEFLATE algorithm, which is a combination of Lempel-Ziv and Huffman coding...

 and WinZip
WinZip
WinZip is a proprietary file archiver and compressor for Microsoft Windows and Mac OS X, developed by WinZip Computing...

. Once an SVG image has been compressed, it may be referred to as an "SVGZ" image and use that filename extension. A compressed SVG file may be as small as 20% of the original size.

Development history

SVG was developed by the W3C SVG Working Group
SVG Working Group
The SVG Working Group is a working group created by the World Wide Web Consortium to address the need for an alternative to the PostScript document format...

 starting in 1998, after Macromedia
Macromedia
Macromedia was an American graphics and web development software company headquartered in San Francisco, California that produced such products as Flash and Dreamweaver. Its rival, Adobe Systems, acquired Macromedia on December 3, 2005 and controls the line of Macromedia...

 and Microsoft introduced VML whereas Adobe Systems
Adobe Systems
Adobe Systems Incorporated is an American computer software company founded in 1982 and headquartered in San Jose, California, United States...

 and Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

 submitted a competing format known as PGML. The working group was chaired by Chris Lilley
Chris Lilley (W3C)
Chris Lilley was educated at Broxburn Academy in West Lothian, Scotland. He obtained a Bachelors degree in Biochemistry at the University of Stirling, Scotland and then worked in Haematology and Blood transfusion at the hospital laboratories of Stirling and Falkirk.He obtained a Masters degree in...

 of the W3C.
  • SVG 1.0 became a W3C Recommendation
    W3C recommendation
    A W3C Recommendation is the final stage of a ratification process of the World Wide Web Consortium working group concerning a technical standard. This designation signifies that a document has been subjected to a public and W3C-member organization's review. It aims to standardise the Web technology...

     on 4 September 2001.
  • SVG 1.1 became a W3C Recommendation on 14 January 2003. The SVG 1.1 specification is modularized in order to allow subsets to be defined as profiles. Apart from this, there is very little difference between SVG 1.1 and SVG 1.0.
    • SVG Tiny and SVG Basic (the Mobile SVG Profiles) became W3C Recommendations on 14 January 2003. These are described as profiles of SVG 1.1.
  • SVG Tiny 1.2 became a W3C Recommendation on 22 December 2008.
  • SVG Full 1.2 has had a W3C Working Draft in process for years, but now will be dropped soon in favor of a SVG 2.0. SVG Tiny 1.2 was initially released as a profile and later refactored to be a complete specification, including all needed parts of SVG 1.1 and SVG 1.2. SVG 1.2 Full adds modules onto the SVGT 1.2 core.
  • SVG Print adds syntax for multi-page documents and mandatory color management support.
  • SVG 1.1 Second Edition, which includes all the errata and clarifications, but no new features to the original SVG 1.1 was released on August 16, 2011.
  • SVG 2.0 will completely rework draft 1.2 with more integration with new web features such as CSS, HTML5 and WOFF.


The MPEG-4 Part 20
MPEG-4 Part 20
MPEG-4 Part 20, or MPEG-4 Lightweight Application Scene Representation is a rich media standard dedicated to the mobile, embedded and consumer electronics industries specified by the MPEG standardization group...

 standard - Lightweight Application Scene Representation (LASeR) and Simple Aggregation Format (SAF) is based on SVG Tiny. It was developed by MPEG (ISO/IEC JTC1
ISO/IEC JTC1
ISO/IEC JTC 1 is Joint Technical Committee 1 of the International Organization for Standardization and the International Electrotechnical Commission . It deals with all matters of information technology....

/SC29/WG11) and published as ISO/IEC 14496-20:2006. SVG capabilities are enhanced in MPEG-4 Part 20 with key features for mobile services, such as dynamic updates, binary encoding, state-of-art font representation. SVG was also accommodated in MPEG-4 Part 11
MPEG-4 Part 11
MPEG-4 Part 11 Scene description and application engine was published as ISO/IEC 14496-11 in 2005. MPEG-4 Part 11 is also known as BIFS, XMT, MPEG-J...

, in the Extensible MPEG-4 Textual (XMT) format
Extensible MPEG-4 Textual Format
The Extensible MPEG-4 Textual Format is a high-level, XML-based file format for storing MPEG-4 data in a way suitable for further editing...

 - a textual representation of the MPEG-4 multimedia content using XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

.

Mobile profiles

Because of industry demand, two mobile profiles were introduced with SVG 1.1: SVG Tiny (SVGT) and SVG Basic (SVGB). These are subsets of the full SVG standard, mainly intended for user agent
User agent
In computing, a user agent is a client application implementing a network protocol used in communications within a client–server distributed computing system...

s with limited capabilities. In particular, SVG Tiny was defined for highly restricted mobile devices such as cellphones, and SVG Basic was defined for higher-level mobile devices, such as PDAs
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...

.

In 2003, the 3GPP
3GPP
The 3rd Generation Partnership Project is a collaboration between groups of telecommunications associations, known as the Organizational Partners...

 adopted SVG Tiny as the mandatory vector graphics media format for next-generation phones. SVGT is the required vector graphics format and support of SVGB is optional for Multimedia Messaging Service
Multimedia Messaging Service
Multimedia Messaging Service, or MMS, is a standard way to send messages that include multimedia content to and from mobile phones. It extends the core SMS capability that allowed exchange of text messages only up to 160 characters in length.The most popular use is to send photographs from...

 (MMS) and Packet-switched Streaming Service (PSS). It was later added as required format for vector graphics in 3GPP IP Multimedia Subsystem
IP Multimedia Subsystem
The IP Multimedia Subsystem or IP Multimedia Core Network Subsystem is an architectural framework for delivering Internet Protocol multimedia services. It was originally designed by the wireless standards body 3rd Generation Partnership Project , as a part of the vision for evolving mobile...

 (IMS).
Neither mobile profile includes support for the full DOM, while only SVG Basic has optional support for scripting, but because they are fully compatible subsets of the full standard, most SVG graphics can still be rendered by devices which only support the mobile profiles.

SVGT 1.2 adds a microDOM (μDOM), allowing all mobile needs to be met with a single profile.

Functionality

The SVG 1.1 specification defines 14 functional areas or feature sets:

Paths
Simple or compound shape outlines are drawn with curved or straight lines that can be filled in, outlined, or used as a clipping path
Clipping path
A clipping path is a closed vector path, or shape, used to cut out a 2D image in image editing software. Anything inside the path will be included after the clipping path is applied; anything outside the path will be omitted from the output...

. Paths have a compact coding. For example M (for 'move to') precedes initial numeric x and y coordinate
Cartesian coordinate system
A Cartesian coordinate system specifies each point uniquely in a plane by a pair of numerical coordinates, which are the signed distances from the point to two fixed perpendicular directed lines, measured in the same unit of length...

s and L (line to) precedes a point to which a line should be drawn. Further command letters (C, S, Q, T and A) precede data that is used to draw various Bézier
Bézier curve
A Bézier curve is a parametric curve frequently used in computer graphics and related fields. Generalizations of Bézier curves to higher dimensions are called Bézier surfaces, of which the Bézier triangle is a special case....

 and elliptical
Ellipse
In geometry, an ellipse is a plane curve that results from the intersection of a cone by a plane in a way that produces a closed curve. Circles are special cases of ellipses, obtained when the cutting plane is orthogonal to the cone's axis...

 curves. Z is used to close a path. In all cases, absolute coordinates follow capital letter commands and relative coordinates are used after the equivalent lower-case letters.

Basic shapes
Straight-line paths and paths made up of a series of connected straight-line segments (polylines), as well as closed polygons, circles and ellipses can be drawn. Rectangles and round-cornered rectangles are also standard elements.

Text
Unicode character text included in an SVG file is expressed as XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 character data. Many visual effects are possible, and the SVG specification automatically handles bidirectional text (for composing a combination of English and Arabic text, for example), vertical text (as Chinese was historically written) and characters along a curved path (such as the text around the edge of the Great Seal of the United States
Great Seal of the United States
The Great Seal of the United States is used to authenticate certain documents issued by the United States federal government. The phrase is used both for the physical seal itself , and more generally for the design impressed upon it...

).

Painting
SVG shapes can be filled and/or outlined (painted with a color, a gradient or a pattern). Fills can be opaque or have any degree of transparency. "Markers" are line-end features, such as arrowheads, or symbols that can appear at the vertices of a polygon.

Color
Colors can be applied to all visible SVG elements, either directly or via 'fill', 'stroke' and other properties. Colors are specified in the same way as in CSS2
Cascading Style Sheets
Cascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...

, i.e. using names like black or blue, in hexadecimal
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...

 such as #2f0 or #22ff00, in decimal like rgb(255,255,127) or as percentages of the form rgb(100%,100%,50%).

Gradients and patterns
SVG shapes can be filled or outlined with solid colors as above, or with color gradients or with repeating patterns. Color gradients can be linear or radial (circular), and can involve any number of colors as well as repeats. Opacity gradients can also be specified. Patterns are based on predefined raster or vector graphic objects, which can be repeated in x and/or y directions. Gradients and patterns can be animated and scripted.
Since 2008, there has been discussion among professional users of SVG that either gradient meshes or preferably diffusion curve
Diffusion curve
Diffusion curves are vector graphic primitives for creating smooth-shaded images. Each diffusion curve partitions the 2D graphics space through which it is drawn, defining different colors on either side. When rendered, these colors then spread into the regions on either side of the curve in a way...

s could usefully be added to the SVG specification. It is said that a "simple representation [using diffusion curves] is capable of representing even very subtle shading effects" and that "Diffusion curve images are comparable both in quality and coding efficiency with gradient meshes, but are simpler to create (according to several artists who have used both tools), and can be captured from bitmaps fully automatically."

Clipping, masking and compositing
Graphic elements, including text, paths, basic shapes and combinations of these, can be used as outlines to define both 'inside' and 'outside' regions that can be painted (with colors, gradients and patterns) independently. Fully opaque clipping paths and semi-transparent masks are composited together to calculate the color and opacity of every pixel of the final image, using alpha
Alpha compositing
In computer graphics, alpha compositing is the process of combining an image with a background to create the appearance of partial or full transparency. It is often useful to render image elements in separate passes, and then combine the resulting multiple 2D images into a single, final image in a...

 blending.

Filter effects

Interactivity
SVG images can interact with users in many ways. In addition to hyperlinks as mentioned below, any part of an SVG image can be made receptive to user interface events
Event (computing)
In computing an event is an action that is usually initiated outside the scope of a program and that is handled by a piece of code inside the program. Typically events are handled synchronous with the program flow, that is, the program has one or more dedicated places where events are handled...

 such as changes in focus
Focus (computing)
In computing, the focus indicates the component of the graphical user interface which is currently selected to receive input. Text entered at the keyboard or pasted from a clipboard is sent to the component which currently has the focus. Moving the focus away from a specific user interface element...

, mouse clicks, scrolling or zooming the image and other pointer, keyboard and document events. Event handlers may start, stop or alter animations as well as trigger scripts in response to such events.

Linking
SVG images can contain hyperlinks to other documents, using XLink
XLink
XML Linking Language, or XLink, is an XML markup language and W3C specification that provides methods for creating internal and external links within XML documents, and associating metadata with those links.-The XLink specification:...

. URLs of SVG images can specify geometrical transforms in the fragment
Fragment identifier
In computer hypertext, a fragment identifier is a short string of characters that refers to a resource that is subordinate to another, primary resource...

 section.

Scripting
All aspects of an SVG document can be accessed and manipulated using scripts in a similar way to HTML. The default scripting language is ECMAScript
ECMAScript
ECMAScript is the scripting language standardized by Ecma International in the ECMA-262 specification and ISO/IEC 16262. The language is widely used for client-side scripting on the web, in the form of several well-known dialects such as JavaScript, JScript, and ActionScript.- History :JavaScript...

 (closely related to JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

) and there are defined Document Object Model
Document Object Model
The Document Object Model is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. Aspects of the DOM may be addressed and manipulated within the syntax of the programming language in use...

 (DOM) objects for every SVG element and attribute. Scripts are enclosed in <script> elements. They can run in response to pointer events, keyboard events and document events as required.

Animation
SVG content can be animated using the built-in animation elements such as <animate>, <animateMotion> and <animateColor>. Content can be animated by manipulating the DOM using ECMAScript and the scripting language's built-in timers. SVG animation has been designed to be compatible with current and future versions of Synchronized Multimedia Integration Language
Synchronized Multimedia Integration Language
SMIL , the Synchronized Multimedia Integration Language, is a W3C recommended XML markup language for describing multimedia presentations. It defines markup for timing, layout, animations, visual transitions, and media embedding, among other things...

 (SMIL). Animations can be continuous, they can loop and repeat, and they can respond to user events, as mentioned above.

Fonts
As with HTML and CSS, text in SVG may reference external font files, such as system fonts. If the required font files do not exist on the machine where the SVG file is rendered, the text may not appear as intended. To overcome this limitation, text can be displayed in an 'SVG font', where the required glyph
Glyph
A glyph is an element of writing: an individual mark on a written medium that contributes to the meaning of what is written. A glyph is made up of one or more graphemes....

s are defined in SVG as a font that is then referenced from the <text> element.

Metadata
In accord with the W3C's Semantic Web
Semantic Web
The Semantic Web is a collaborative movement led by the World Wide Web Consortium that promotes common formats for data on the World Wide Web. By encouraging the inclusion of semantic content in web pages, the Semantic Web aims at converting the current web of unstructured documents into a "web of...

 initiative, SVG allows authors to provide metadata
Metadata
The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...

 about SVG content. The main facility is the <metadata> element, where the document can be described using Dublin Core
Dublin Core
The Dublin Core metadata terms are a set of vocabulary terms which can be used to describe resources for the purposes of discovery. The terms can be used to describe a full range of web resources: video, images, web pages etc and physical resources such as books and objects like artworks...

 metadata properties (e.g., title, creator/author, subject, description, etc). Other metadata schemas may also be used. In addition, SVG defines <title> and <desc> elements where authors may also provide plain-text descriptive material within an SVG image to help indexing, searching and retrieval by a number of means.


An SVG document can define components including shapes, gradients etc., and use them repeatedly. SVG images can also contain raster graphics
Raster graphics
In computer graphics, a raster graphics image, or bitmap, is a data structure representing a generally rectangular grid of pixels, or points of color, viewable via a monitor, paper, or other display medium...

, such as PNG and JPEG
JPEG
In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....

 images, and further SVG images.

SVG on the web

Google
Google
Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...

 announced on 31 August 2010 that it had begun to index SVG content on the web, whether it is in standalone files or embedded in HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

, and that users would start to see such content listed among their search results.
It was announced on 8 December 2010 that Google Image Search
Google Image Search
Google Images is a search service created by Google that allows users to search the Web for image content. The feature was introduced in July 2001. The keywords for the image search are based on the filename of the image, the link text pointing to the image, and text adjacent to the image. When...

 would also begin indexing SVG files. On 28 January 2011, it was discovered that Google was allowing Image Search results to be restricted exclusively to SVG files. This feature was announced officially on 11 February 2011.

Support for SVG in web browsers

The use of SVG on the web is still limited by the lack of support in older versions of Internet Explorer (IE) which (as of December 2010) is the most widely-used browser (but not as widely-used as Firefox and Chrome together). The most widely deployed version of IE (version 8
Internet Explorer 8
Windows Internet Explorer 8 is a web browser developed by Microsoft in the Internet Explorer browser series. The browser was released on March 19, 2009 for Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, and Windows 7. Both 32-bit and 64-bit builds are available...

) does not support SVG. However, IE9 (released March 14, 2011) does support the basic SVG feature set. Many web sites that serve SVG images, such as Wikipedia
Wikipedia
Wikipedia is a free, web-based, collaborative, multilingual encyclopedia project supported by the non-profit Wikimedia Foundation. Its 20 million articles have been written collaboratively by volunteers around the world. Almost all of its articles can be edited by anyone with access to the site,...

, also provide the images in a raster format, either automatically by HTTP content negotiation
Content negotiation
Content negotiation is a mechanism defined in the HTTP specification that makes it possible to serve different versions of a document at the same URI, so that user agents can specify which version fit their capabilities the best...

 or by allowing the user directly to choose the file.

Native support

Konqueror
Konqueror
Not to be confused with the Conqueror web browser.Konqueror is a web browser and file manager that provides file-viewer functionality for file systems such as local files, files on a remote ftp server and files in a disk image. It is a core part of the KDE desktop environment...

 was the first browser to support SVG in release version 3.2 in February 2004. As of 2011, all major desktop browsers, and many minor ones, have some level of SVG support. Other browsers' implementations are not yet complete; see Comparison of layout engines
Comparison of layout engines (Scalable Vector Graphics)
The following tables compare SVG compatibility and support for a number of layout engines. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up-to-date...

 for further details.

Some earlier versions of Firefox (e.g. versions between 1.5 and 4.0) and some other outdated web browsers that can display SVG graphics needed them embedded in <object> or <iframe> elements
HTML element
An HTML element is an individual component of an HTML document. HTML documents are composed of a tree of HTML elements and other nodes, such as text nodes. Each element can have attributes specified. Elements can also have content, including other elements and text. HTML elements represent...

 to display them integrated as parts of an HTML webpage instead of using the standard way of integrating images with <img>. However, SVG images may be included in XHTML pages using XML namespace
XML Namespace
xmlns tagged XML namespaces are used for providing uniquely named elements and attributes in an XML document. They are defined in a W3C recommendation. An XML instance may contain element or attribute names from more than one XML vocabulary...

s.

Tim Berners-Lee
Tim Berners-Lee
Sir Timothy John "Tim" Berners-Lee, , also known as "TimBL", is a British computer scientist, MIT professor and the inventor of the World Wide Web...

, the inventor of the World Wide Web
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...

, had been critical of Internet Explorer for its failure to support SVG.
  • Opera
    Opera (web browser)
    Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,...

     (since 8.0) has support for the SVG 1.1 Tiny specification while Opera 9 includes SVG 1.1 Basic support and some of SVG 1.1 Full. Since Opera 9.5 has partial SVG Tiny 1.2 support. It also supports SVGZ (compressed SVG).
  • Browsers based on the Gecko
    Gecko (layout engine)
    Gecko is a free and open source layout engine used in many applications developed by Mozilla Foundation and the Mozilla Corporation , as well as in many other open source software projects....

     layout engine
    Layout engine
    A web browser engine, , is a software component that takes marked up content and formatting information and displays the formatted content on the screen. It "paints" on the content area of a window, which is displayed on a monitor or a printer...

     (such as Firefox
    Mozilla Firefox
    Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...

    , Flock
    Flock (web browser)
    Flock was a web browser that specialized in providing social networking and Web 2.0 facilities built into its user interface.Earlier versions of Flock used the Gecko HTML rendering engine by Mozilla....

    , Camino
    Camino
    Camino is a free, open source, GUI-based Web browser based on Mozilla's Gecko layout engine and specifically designed for the Mac OS X operating system...

     and SeaMonkey
    SeaMonkey
    SeaMonkey is a free and open source cross-platform Internet suite. It is the continuation of the former Mozilla Application Suite, based on the same source code...

    ) all have had incomplete support for the SVG 1.1 Full specification since 2005. The Mozilla site has an overview of the modules which are supported in Firefox and of the modules which are in progress in the development. Gecko 1.9, included in Firefox 3.0
    Mozilla Firefox 3
    Mozilla Firefox 3.0 is a version of the Firefox web browser released on June 17, 2008 by the Mozilla Corporation.Firefox 3.0 uses version 1.9 of the Gecko layout engine for displaying web pages. This version fixes many bugs, improves standard compliance, and implements many new web APIs compared to...

    , adds support for more of the SVG specification (including filters).
  • Browsers based on WebKit
    WebKit
    WebKit is a layout engine designed to allow web browsers to render web pages. WebKit powers Google Chrome and Apple Safari and by October 2011 held over 33% of the browser market share between them. It is also used as the basis for the experimental browser included with the Amazon Kindle ebook...

     (such as Apple's Safari
    Safari (web browser)
    Safari is a web browser developed by Apple Inc. and included with the Mac OS X and iOS operating systems. First released as a public beta on January 7, 2003 on the company's Mac OS X operating system, it became Apple's default browser beginning with Mac OS X v10.3 "Panther". Safari is also the...

    , Google Chrome
    Google Chrome
    Google Chrome is a web browser developed by Google that uses the WebKit layout engine. It was first released as a beta version for Microsoft Windows on September 2, 2008, and the public stable release was on December 11, 2008. The name is derived from the graphical user interface frame, or...

     and The Omni Group
    The Omni Group
    The Omni Group is a company that develops software for the Mac OS X platform. The Omni Group was informally founded as a NEXTSTEP consulting company in 1989 by Wil Shipley, who immediately brought on Ken Case and Tim Wood. The three incorporated together under the name Omni Development, Inc. in...

    's OmniWeb
    OmniWeb
    OmniWeb is a proprietary Internet web browser developed and marketed by The Omni Group. It is available exclusively for Apple Inc.'s Mac OS X operating system...

    ) have had incomplete support for the SVG 1.1 Full specification since 2006.
  • Amaya
    Amaya (web browser)
    Amaya is a free and open source WYSIWYG web authoring tool with browsing abilities, created by a structured editor project at the INRIA, a French national research institution, and later adopted by the World Wide Web Consortium . Amaya is used as a testbed for web standards and replaced the Arena...

     has partial SVG support.
  • Native support became partially available in Internet Explorer 9
    Internet Explorer 9
    Windows Internet Explorer 9 is the current version of the Internet Explorer web browser from Microsoft. It was released to the public on March 14, 2011 at 21:00 PDT. Internet Explorer 9 supports several CSS 3 properties, embedded ICC v2 or v4 color profiles support via Windows Color System, and...

    .(the current version of IE, as of March 2011)


There are several advantages to native and full support: plugins are not needed, SVG can be freely mixed with other content in a single document, and rendering and scripting become considerably more reliable.

Compatibility

Internet Explorer, up to and including IE8, was the only major browser not to provide native SVG support. IE8 and older require a plug-in to render SVG content. There are a number of plug-ins available to assist, including:
  • Ample SDK
    Ample SDK
    Ample SDK is a lightweight JavaScript library intended to simplify cross-browser web application development. Although the Ample SDK allows you to do client-side scripting in a very similar way as jQuery and many other JavaScript libraries, its main purpose is to enable development of declarative...

     Open-Source JavaScript GUI Framework provides partial support for SVG 1.1, SMIL, DOM and style scripting in Internet Explorer (5.5 - 8.0) too. It is not dependent on any plugins and relies on presence of alternative Vector Graphics format VML in Internet Explorer.
  • Batik
    Batik (software)
    Batik is a pure-Java library that can be used to render, generate, and manipulate SVG graphics. IBM supported the project and then donated the code to the Apache Software Foundation, where other companies and teams decided to join efforts.Batik provides a set of core modules that provide...

    , a widely deployed Java plugin
  • Google Chrome Frame
    Google Chrome Frame
    Google Chrome Frame is a plug-in designed for Internet Explorer based on the open-source Chromium project. It went stable on September 2010, on the first birthday of the project....

     from Google
    Google
    Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...

     can support all web elements supported by WebKit, including SVG 1.0 and partially SVG 1.1.
  • GPAC
    GPAC Project on Advanced Content
    GPAC stands for GPAC Project on Advanced Content . It is an implementation of the MPEG-4 Systems standard written in ANSI C...

    , targets SVGT 1.2
  • Adobe SVG Viewer from Adobe Systems
    Adobe Systems
    Adobe Systems Incorporated is an American computer software company founded in 1982 and headquartered in San Jose, California, United States...

     plugin supports most of SVG 1.0/1.1. Zooming and panning of the image are also supported to enable viewing of any area of the SVG lying outside the visible area of its containing window, but scrolling is not supported. Adobe SVG Viewer is available for download from Adobe Systems free of charge. However, on 1 January 2009, Adobe Systems discontinued support for Adobe SVG Viewer.
  • Corel SVG Viewer (discontinued)
  • Raphaël
    Raphaël (JavaScript Library)
    Raphaël is a cross-browser JavaScript library that draws vector graphics for web sites. It will use SVG for most browsers, but will use VML for older versions of Internet Explorer...

     is another JavaScript library that takes advantage of the intersection between VML's and SVG's features to create vector graphics and animate them.
  • Renesis Player
    Renesis Player
    The RENESIS Player is a SVG compatible viewer and renderer, which was distributed by examotion GmbH .It currently runs on the Windows platform....

     for Internet Explorer from examotion GmbH, supports SVG 1.1 on IE 6
    Internet Explorer 6
    Internet Explorer 6 is the sixth major revision of Internet Explorer, a web browser developed by Microsoft for Windows operating systems...

     and 7
    Internet Explorer 7
    Windows Internet Explorer 7 is a web browser released by Microsoft in October 2006. Internet Explorer 7 is part of a long line of versions of Internet Explorer and was the first major update to the browser in more than 5 years...

     (discontinued)
  • SVG Web is a JavaScript library for Web developers, targeted at Internet Explorer and dependent on the presence of an installed Adobe Flash
    Adobe Flash
    Adobe Flash is a multimedia platform used to add animation, video, and interactivity to web pages. Flash is frequently used for advertisements, games and flash animations for broadcast...

     plugin on the client machine. SVG Web provides partial support for SVG 1.1, SVG Animation (SMIL), Fonts, Video and Audio, DOM and style scripting.


On January 5, 2010, a senior manager of the Internet Explorer team at Microsoft announced on his official blog that Microsoft had just requested to join the SVG Working Group
SVG Working Group
The SVG Working Group is a working group created by the World Wide Web Consortium to address the need for an alternative to the PostScript document format...

 of the W3C in order to "take part in ensuring future versions of the SVG spec will meet the needs of developers and end users," although no plans for SVG support in Internet Explorer were mentioned at that time. Internet Explorer 9 beta supported a basic SVG feature set based on the SVG 1.1 W3C recommendation. Functionality has been implemented for most of the SVG document structure, interactivity through scripting and styling inline and through CSS. The presentation elements, attributes and DOM interfaces that have been implemented include basic shapes, colors, filling, gradients, patterns, paths and text.

Software and support in applications

Images can be rasterised using a library such as ImageMagick
ImageMagick
ImageMagick is an open source software suite for displaying, converting, and editing raster image files. It can read and write over 100 image file formats. ImageMagick is licensed under the Apache 2.0 license.- Features and capabilities:...

, which provides a quick but incomplete implementation of SVG, or Batik
Batik (software)
Batik is a pure-Java library that can be used to render, generate, and manipulate SVG graphics. IBM supported the project and then donated the code to the Apache Software Foundation, where other companies and teams decided to join efforts.Batik provides a set of core modules that provide...

, which implements nearly all of SVG 1.1 and much of SVG Tiny 1.2 but requires the Java Runtime Environment.
  • Adobe Acrobat
    Adobe Acrobat
    Adobe Acrobat is a family of application software developed by Adobe Systems to view, create, manipulate, print and manage files in Portable Document Format . All members of the family, except Adobe Reader , are commercial software, while the latter is available as freeware and can be downloaded...

     (since version 5.1) supports SVG 1.0 only in so called "alternate presentations" in PDF format.
  • Adobe Fireworks supports only export to SVG, via an optional (free) Export extension.
  • Adobe Illustrator
    Adobe Illustrator
    Adobe Illustrator is a vector graphics editor developed and marketed by Adobe Systems. Illustrator is similar in scope, intended market, and functionality to its competitors, CorelDraw, Xara Designer Pro and Macromedia FreeHand....

     supports both the import and export of a subset of SVG images. When writing SVG files, it has the option to embed a copy of the associated proprietary Illustrator format for later editing. This often results in changes being lost if another editor is used whereafter the file is reopened in Illustrator because it ignores everything but the embedded Illustrator file.
  • Altsoft Xml2PDF
    Altsoft Xml2PDF
    Altsoft Xml2PDF Workstation is a commercial software for converting xml-based files to portable document format . The product is intended for the professional publishing business community. It runs on Windows PCs...

     allows converting SVG files to PDF, PS, various GDI+ formats.
  • Ample SDK
    Ample SDK
    Ample SDK is a lightweight JavaScript library intended to simplify cross-browser web application development. Although the Ample SDK allows you to do client-side scripting in a very similar way as jQuery and many other JavaScript libraries, its main purpose is to enable development of declarative...

     provides partial support for SVG markup in Internet Explorer 5.5-8.0.
  • Batik SVG Toolkit
    Batik (software)
    Batik is a pure-Java library that can be used to render, generate, and manipulate SVG graphics. IBM supported the project and then donated the code to the Apache Software Foundation, where other companies and teams decided to join efforts.Batik provides a set of core modules that provide...

     can be used by Java programs to render, generate and manipulate SVG graphics.
  • Blender
    Blender (software)
    Blender is a free and open-source 3D computer graphics software product used for creating animated films, visual effects, interactive 3D applications or video games. The current release version is 2.60, and was released on October 19, 2011...

     will import SVG graphics as paths. As of 2.53 it will also now export UV Maps as SVG files.
  • Cairo
    Cairo (graphics)
    cairo is a software library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends...

     is a vector graphics based library which can generate SVG. It has bindings for many programming languages including C++
    C++
    C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

    , Haskell
    Haskell (programming language)
    Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the...

    , Java, Perl
    Perl
    Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

    , Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

    , Scheme, Smalltalk
    Smalltalk
    Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis." It was designed and created in part for educational use, more so for constructionist...

     and several others.
  • CorelDRAW
    CorelDRAW
    CorelDRAW is a vector graphics editor developed and marketed by Corel Corporation of Ottawa, Canada. It is also the name of Corel's Graphics Suite...

     has an SVG export and import filter.
  • GIMP
    GIMP
    GIMP is a free software raster graphics editor. It is primarily employed as an image retouching and editing tool and is freely available in versions tailored for most popular operating systems including Microsoft Windows, Apple Mac OS X, and Linux.In addition to detailed image retouching and...

     allows SVG images to be imported as paths or rendered bitmap
    Bitmap
    In computer graphics, a bitmap or pixmap is a type of memory organization or image file format used to store digital images. The term bitmap comes from the computer programming terminology, meaning just a map of bits, a spatially mapped array of bits. Now, along with pixmap, it commonly refers to...

    s. GIMP paths are compatible with SVG.
  • The GNOME
    GNOME
    GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

     project has had integrated SVG support throughout the desktop since 2000.
  • GNU LilyPond
    GNU LilyPond
    GNU LilyPond is a computer program for music engraving. One of LilyPond's major goals is to produce scores that are engraved with traditional layout rules, reflecting the era when scores were engraved by hand....

     can export musical scores to SVG.
  • Go-oo
    Go-oo
    Go-oo was an office suite which started as a set of patches for the cross-platform OpenOffice.org office suite, then later became an independent fork of OpenOffice.org with a number of enhancements...

     Draw (OpenOffice.org
    OpenOffice.org
    OpenOffice.org, commonly known as OOo or OpenOffice, is an open-source application suite whose main components are for word processing, spreadsheets, presentations, graphics, and databases. OpenOffice is available for a number of different computer operating systems, is distributed as free software...

     variant) can open and export SVG files. (discontinued)
  • Google Docs can export a drawing into SVG files.
  • Graphviz
    Graphviz
    Graphviz is a package of open-source tools initiated by AT&T Labs Research for drawing graphs specified in DOT language scripts. It also provides libraries for software applications to use the tools...

     can create graph diagrams in SVG.
  • Inkscape
    Inkscape
    Inkscape is a free software vector graphics editor, licensed under the GNU General Public License. Its goal is to implement full support for the Scalable Vector Graphics 1.1 standard....

     is an open source vector graphics program for Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

    , Microsoft Windows
    Microsoft Windows
    Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

     and Mac OS X
    Mac OS X
    Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

     that uses SVG as its native image format. Inkscape also contains tools to convert pixel-based graphics to SVG. Inkscape can import PDF files and thus can transform content in PDF to SVG.
  • ItsNat
    ItsNat
    ItsNat Natural AJAX, is an open source Java component-based Ajax framework.- Overview :ItsNat is server centric using an approach called the browser is the server...

     is a Java based web framework with built-in support of native SVG, Adobe SVG Viewer, Renesis, Savarese Ssrc, Batik applet and SVGWeb plugins.
  • LibreOffice
    LibreOffice
    LibreOffice is a free and open source office suite developed by The Document Foundation as a fork of OpenOffice.org. It is largely compatible with other major office suites, including Microsoft Office, and available on a variety of platforms...

     Writer word processor and Draw can import SVG files.
  • Microsoft Visio
    Microsoft Visio
    Microsoft Visio , formerly known as Microsoft Office Visio, is a commercial diagramming program for Microsoft Windows that uses vector graphics to create diagrams.- Features :...

     since version 2003 can import and save files in the SVG format as well as the SVG compressed format.
  • OpenOffice.org Draw
    OpenOffice.org Draw
    OpenOffice.org Draw is a vector graphics editor and is part of the OpenOffice.org office suite. It features "connectors" between shapes, which are available in a range of line styles and facilitate building drawings such as flowchart...

     can export SVG drawings. Import extensions are available to import SVG images into OpenOffice.org
    OpenOffice.org
    OpenOffice.org, commonly known as OOo or OpenOffice, is an open-source application suite whose main components are for word processing, spreadsheets, presentations, graphics, and databases. OpenOffice is available for a number of different computer operating systems, is distributed as free software...

     Draw.
  • OxygenOffice Draw (OpenOffice.org
    OpenOffice.org
    OpenOffice.org, commonly known as OOo or OpenOffice, is an open-source application suite whose main components are for word processing, spreadsheets, presentations, graphics, and databases. OpenOffice is available for a number of different computer operating systems, is distributed as free software...

     variant) can open and export SVG files.
  • The Processing
    Processing (programming language)
    Processing is an open source programming language and integrated development environment built for the electronic arts and visual design communities with the purpose of teaching the basics of computer programming in a visual context, and to serve as the foundation for electronic sketchbooks...

     programming language has native support for the SVG format.
  • QuickLook is a feature of Mac OS X
    Mac OS X
    Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

     that can display a variety of files, including SVG.
  • Scribus
    Scribus
    Scribus is a desktop publishing application, released under the GNU General Public License as free software. It is based on the free Qt toolkit, therefore native versions are available for Linux, Unix-like operating systems, Mac OS X, Microsoft Windows, and OS/2...

     can import SVG files and export separate pages in SVG.
  • Sheetster
    Sheetster
    Sheetster is a GPL Open Source Web Spreadsheet and a Java Application Server created by Extentech Inc. The product was created for the enterprise and small and medium sized businesses as an Open Source alternative to closed document management systems....

     Supports creation and display of SVG spreadsheet charts.
  • sK1
    SK1 (program)
    sK1 is an open-source illustration program for the Linux platform that can be used as a substitute for professional proprietary software like CorelDRAW or Adobe Illustrator...

     is a free software
    Free software
    Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

     vector graphics program for Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

    , supports both the import and export of SVG images.
  • SVG Kit for Adobe Creative Suite
    SVG Kit for Adobe Creative Suite
    SVG Kit for Adobe Creative Suite is a plug-in, which adds full-functional support of SVG images to Adobe InDesign and Adobe Photoshop. Because of the fact, that Adobe's SVG support is limited , it is possible to work with SVG directly only in Adobe Illustrator...

     is a plug-in, which adds full-functional support of SVG images to Adobe InDesign and Adobe Photoshop.
  • SVG-edit
    SVG-edit
    SVG-edit is a web-based, JavaScript-driven SVG editor that works in any modern browser:* Firefox 1.5+* Opera 9.50+* Safari 4+* Chrome 1+* Internet Explorer 6+...

     is a lightweight, web-based, Javascript-driven SVG editor that works in any modern browser.
  • Xara Xtreme
    Xara Xtreme
    Xara Photo & Graphic Designer is a 2D vector graphics editor created by the British software company Xara, which was acquired by German company MAGIX AG in 2007, and now operates as a wholly owned subsidiary. It was previously sold under the names Xara Studio, Xara X and Xara Xtreme...

     can export in SVG format. The free/open-source GNU/LINUX version also has a limited import filter.
  • xfig
    Xfig
    Xfig is a Free and open source vector graphics editor which runs under the X Window System on most UNIX-compatible platforms.In Xfig, figures may be drawn using objects such as circles, boxes, lines, spline curves, text, etc. It is also possible to import images in formats such as GIF, JPEG, EPS,...

     and gnuplot
    Gnuplot
    - License :Despite gnuplot's name, it is not part of or related to the GNU system and it is not distributed under the GNU General Public License .However, some GNU packages do use gnuplot....

     allow export of SVG drawings.
  • yEd
    YEd
    yEd is a freely available, general-purpose diagramming software with amulti-document interface.It is a cross-platform application written in Java that runs on Windows, Linux, Mac OS, or any platform that supports the JVM....

     Graph Editor - Java-based diagram editor that can import symbols in SVG format and export SVG drawings.

Mobile support

The most popular implementations for mobile phones are by Ikivo and BitFlash, while for PDAs
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...

, BitFlash and Intesis have implementations. Mobile SVG players from Ikivo and BitFlash come pre-installed, i.e., the manufacturers burn the SVG player code into their mobiles before shipping to the customers. Adobe Flash Lite has optionally supported SVG Tiny since version 1.1. At the SVG Open 2005 conference, Sun
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

 demonstrated a mobile implementation of SVG Tiny 1.1 for the Connected Limited Device Configuration
Connected Limited Device Configuration
The Connected Limited Device Configuration is a specification of a framework for Java ME applications describing the basic set of libraries and virtual-machine features that must be present in an implementation...

 (CLDC) platform.

Mobiles which use Opera Mobile
Opera Mobile
Opera Mobile is a web browser for smartphones and PDA's developed by the Opera Software company. The first version was released in 2000 for the Psion Series 7 and netBook. Today, it is available for a variety of devices that run on Android, S60, Windows Mobile, Maemo , and MeeGo...

 as well as the iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

's built in browser, also include SVG support. However, even though it used the WebKit
WebKit
WebKit is a layout engine designed to allow web browsers to render web pages. WebKit powers Google Chrome and Apple Safari and by October 2011 held over 33% of the browser market share between them. It is also used as the basis for the experimental browser included with the Amazon Kindle ebook...

 engine, the Android built-in browser did not support SVG prior to v3.0 (Honeycomb). Prior to v3.0, Firefox Mobile 4.0b2 (beta) for Android was the first browser running under Android to support SVG by default.

The level of SVG Tiny support available varies from mobile to mobile, depending on the SVG engine installed. Many newer mobile products support additional features beyond SVG Tiny 1.1, like gradient and opacity; this standard is often referred as SVGT 1.1+. The iPhone, for example, supports declarative animation but not interactivity.

Rim's
Research In Motion
Research In Motion Limited or RIM is a Canadian multinational telecommunications company headquartered in Waterloo, Ontario, Canada that designs, manufactures and markets wireless solutions for the worldwide mobile communications market...

 BlackBerry
BlackBerry
BlackBerry is a line of mobile email and smartphone devices developed and designed by Canadian company Research In Motion since 1999.BlackBerry devices are smartphones, designed to function as personal digital assistants, portable media players, internet browsers, gaming devices, and much more...

 has buit-in support for SVG TIny 1.1 since version 5.0. Support continues for WebKit-based BlackBerry Torch browser in OS 6 and 7.

Nokia's
Nokia
Nokia Corporation is a Finnish multinational communications corporation that is headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki...

 S60 platform
S60 platform
The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...

 has built-in support for SVG. For example, icons are generally rendered using the platform's SVG engine. Nokia has also led the JSR 226: Scalable 2D Vector Graphics API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 expert group which defines Java ME
Java Platform, Micro Edition
Java Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems . Target devices range from industrial controls to mobile phones and set-top boxes...

 API for SVG presentation and manipulation. This API has been implemented in S60 Platform 3rd Edition Feature Pack 1 onward. Some Series 40 phones also support SVG (such as Nokia 6280).

Most Sony Ericsson
Sony Ericsson
Sony Ericsson Mobile Communications AB is a joint venture established on October 1, 2001 by the Japanese consumer electronics company Sony Corporation and the Swedish telecommunications company Ericsson to manufacture mobile phones....

 phones beginning with K700 (by release date) support SVG Tiny 1.1. Phones beginning with K750 also support such features as opacity and gradients. Phones with Sony Ericsson Java Platform-8
Sony Ericsson Java Platform
The Sony Ericsson Java Platform is a set of profiles describing particular Sony Ericsson Java implementation. It was designed to help developers to focus on a platform rather than on a variety of different product names. Two platform branches exist, supporting Symbian and non-Symbian based phones...

 have support for JSR 226.

SVG is also supported on various mobile devices from Motorola
Motorola
Motorola, Inc. was an American multinational telecommunications company based in Schaumburg, Illinois, which was eventually divided into two independent public companies, Motorola Mobility and Motorola Solutions on January 4, 2011, after losing $4.3 billion from 2007 to 2009...

, Samsung
Samsung
The Samsung Group is a South Korean multinational conglomerate corporation headquartered in Samsung Town, Seoul, South Korea...

, LG
LG
LG may refer to:*LG Corp., a South Korean electronics and petrochemicals conglomerate*LG Electronics, an affiliate of the South Korean LG Group which produces electronic products* Lawrence Graham, a London headquartered firm of business lawyers...

 and Siemens mobile/BenQ-Siemens
BenQ-Siemens
BenQ-Siemens was the mobile communications subsidiary of Taiwanese BenQ Corp. The division was formed out of BenQ's acquisition of the then struggling Siemens mobile group in 2005. The stated goal of the company was to pull together BenQ's lifestyle experience, their design team and Siemens'...

.

Hardware rendering

Implementations of SVG that uses the OpenVG
OpenVG
OpenVG is a standard API designed for hardware-accelerated 2D vector graphics. It is aimed primarily at mobile phones, media and gaming consoles such as the PlayStation 3, and other consumer electronic devices. It will help manufacturers create flashier user interfaces that are less dependent on...

 API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 will be hardware accelerated
Hardware acceleration
In computing, Hardware acceleration is the use of computer hardware to perform some function faster than is possible in software running on the general-purpose CPU...

 on devices which have hardware acceleration of OpenVG. Examples include Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 operating systems with Gallium3D
Gallium3D
Gallium3D is a free software library for 3D graphics device drivers being developed by VMware, after they acquired Tungsten Graphics – the original authors....

 based graphics drivers and several GPU
Graphics processing unit
A graphics processing unit or GPU is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display...

s intended for handheld devices (see OpenVG
OpenVG
OpenVG is a standard API designed for hardware-accelerated 2D vector graphics. It is aimed primarily at mobile phones, media and gaming consoles such as the PlayStation 3, and other consumer electronic devices. It will help manufacturers create flashier user interfaces that are less dependent on...

).

See also

  • Canvas element
  • Commons: Transition to SVG
  • Comparison of layout engines (SVG)
  • Computer Graphics Metafile
    Computer Graphics Metafile
    Computer Graphics Metafile is a free and open international standard file format for 2D vector graphics, raster graphics, and text, and is defined by ISO/IEC 8632.-Overview:...

  • Geographic information system
    Geographic Information System
    A geographic information system, geographical information science, or geospatial information studies is a system designed to capture, store, manipulate, analyze, manage, and present all types of geographically referenced data...

  • List of vector graphics editors

  • List of vector graphics markup languages
  • Raster to vector
    Raster to vector
    In computer graphics, vectorization refers to the process of converting raster graphics into vector graphics.- Popular applications :*In computer-aided design drawings are scanned, vectorized and written as CAD files in a process called paper-to-CAD conversion or drawing conversion.*In geographic...

  • SVG animation
    SVG animation
    Animation of Scalable Vector Graphics, an open XML-based standard vector graphics format, is possible through various means:*Scripting: ECMAScript is a primary means of creating animations and interactive user interfaces within SVG....

  • SVG's XML Binding Language
    SXBL
    sXBL is a mechanism for defining the presentation and interactive behavior of elements described in a namespace other than SVG's . sXBL is very similar to XBL, as it does for SVG documents what XBL does for XUL documents...

  • Vector Markup Language
    Vector Markup Language
    Vector Markup Language is a deprecated XML language used to produce vector graphics.VML was submitted as a proposed standard to the W3C in 1998 by Autodesk, Hewlett-Packard, Macromedia, Microsoft, and Visio. Around the same time other competing W3C submissions were received in the area of web...



External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK