SVG links

## Contents

* 1 Definition
* 2 Tools
* 2.1 Indexes for SVG tools
* 2.2 Editors and drawing tools with SVG support
* 2.3 SVG support in web browsers
* 2.4 Other viewing software
* 2.5 SVG emulators
* 2.6 Convertors
* 2.7 Validation and cleanup tools
* 2.8 Online editors
* 2.9 Toolkits for programmers
* 3 Standards
* 4 Manuals and Textbooks
* 4.1 Free Online Textbooks
* 4.2 Online references
* 4.3 Books
* 5 Example sites
* 5.1 General
* 5.2 SVG Clipart
* 5.3 Code fragments
* 6 Tutorials
* 6.1 General overviews
* 6.2 Basic Tutorials
* 6.3 SVG with JavaScript and DOM
* 6.4 SMIL Animation
* 6.5 Server-side SVG
* 6.6 SVG and XSLT
* 6.7 Various articles (not classified)
* 7 General SVG resource pages
* 8 Communities

## Definition[edit | edit source]

This is a links page about SVG. According to Wikipedia,

SVG images can be produced by the use of a vector graphics editor, such as Inkscape, Adobe Illustrator, or CorelDRAW, and rendered to common raster image formats such as PNG using the same software.

Software can be programmed to render SVG images by using a library such as librsvg or Batik. SVG images can also be rendered to any desired popular image format by using the free software command-line utility ImageMagick.

Web browsers which can display SVG images on web pages include Firefox, Internet Explorer (IE 9+), Opera, Safari and Google Chrome.

SVG on the desktop has also become common. The GNOME project has supported and extensively used SVG icons since 2000.

Other uses for SVG include embedding for use in word processing (e.g. with LibreOffice) and desktop publishing (e.g. Scribus), plotting graphs (e.g. gnuplot), and importing paths (e.g. for use in GIMP or Blender).

(retrieved 18:45, 28 March 2012 (CEST))

This page should help people finding tools, texts (introductions, tutorials, manuals, ...) and other resources. Read the SVG article for a short technical overview.

Updated: Checked all (well most) links on 18:45, 28 March 2012 (CEST) - Daniel K. Schneider

## Tools[edit | edit source]

### Indexes for SVG tools[edit | edit source]

* Comparison of vector graphics editors (Wikipedia). Start by looking at File format support

### Editors and drawing tools with SVG support[edit | edit source]

Text (programming) editors with SVG support

* You can hand code SVG with any XML editor

Free drawing programs with native SVG

* Inkscape. Inkscape is a free (GPL) open source SVG editor with capabilities similar to Illustrator, CorelDraw, Visio, etc. Supported SVG features include basic shapes, paths, text, alpha blending, transforms, gradients, node editing, svg-to-png export, grouping, and more. Available for Win, Linux, source. Recommended, but the tool requires learning and SVG code is not optimised for the web.
* Inkscapeforum
* InkScape Wiki
* List of 3rd party tutorials

Free online drawing programs with native SVG

* SVG Edit is an online vector graphics editor that uses only JS, HTML5, CSS and SVG (i.e. no server-side functionality). You can use this online web 2.0 tool without installing anything on your computer, then "save as" in your navigator. Recommended: This tool is the best thing for learning SVG and for creating shapes that you later want to hand edit for animation and scripting
* DrawSvg.org an other online SVG editor.
* Imagebot by Flamingtext is a simple to use SVG editor. No source code editing but you can import SVG and save-as svg.
* Pilat drawing tool (online)

Free drawing programs that can import/export SVG

* Skencil, a free Linux/Unix vector drawing program can export/import SVG. (formely "Sketch", not tested). Imports/exports SVG.
* OpenOffice and Libre Office (a fork of OpenOffice) can import/export SVG.
* DIA, a popular open source diagramming tool can import/export SVG (Win/Mac/Linux). There are also portable app (Windows) and zip versions (good for teachers who live in a restrictive environment...). Recommended.

Commercial drawing programs with native SVG

* Sketsa SVG Graphics Editor by Kiyut, $89 Payware, Java 1.7+ based, demo and Java Webstart version available.
* As of Jan 2014, this is probably the best pure SVG 1.0 tool, i.e. it is best suited for creating web graphics and adding animation and interactivity. In terms of pure drawing operations, it can do less than Inkscape, but it is much easier to use and also produces pure SVG, i.e. web ready.
* There is no animation and interactivity support (as in Flash CS6), but both the built-in text and DOM editors allow to add SMIL animation code without problems.
* Versions 6.6 (jan 2012) and 7.1x (jan 2014) tested with Ubuntu 10.4 and Win7. Claims to support SVG 1.1 full profile. You can edit code with a structure editor, e.g. for doing SMIL animations.
* Hairy models from openclipart.org import rather well.

Commercial drawing programs with SVG import/export

These programs can usually both import/export SVG. However, you may loose information in both cases.

* Adobe Illustrator can import/export SVG
* SVG Kit for Adobe Creative Suite is a plug-in, which adds full-functional SVG and SVGZ file support to Adobe Creative Suite (Photoshop, PS Elements and InDesign).
* Corel Draw can import/export SVG (not tested recently)
* Microsoft Viso can import/export SVG (look at DIA above if you want a free solution)
* SiteSpinner. (formerly WebDwarf). Drag-and-Drop Visual authoring and animation for HTML, DHTML, and SVG. ($50) - 18:45, 28 March 2012 (CEST)
* Scribus, an open source document processing tool that can (only) import SVG

### SVG support in web browsers[edit | edit source]

As of Jan 2014 all modern browsers do provide basic SVG support. None is fully complete, i.e. CanIUse (Jan 2014) computes overall compliance of 80 to 90 % for each major browser, except IE.

IE 11, Opera mini and IE Mobile still do not support SMIL-type animation.

Can I use provides more details.

See also Comparison of layout engines (SVG) (Wikipedia). There is also an interesting SVG test suite by test by Marek Raida.

### Other viewing software[edit | edit source]

Plugins for web browsers

Since 2010, SVG plugins are no longer needed !. Information below is kept for historical reasons.

* The Adobe SVG Viewer, worked with with IE and Firefox. Adobe discontinued support after they finally managed to acquire Macromedia (and Flash). The quality of this plugin was impressive. It implemented all of SVG 1.0. After Adobe dropped the project, getting it to work with IE 7 and Firefox 3 (or 4?) was quite a nightmare.....

Special purpose web browsers

* The X-smiles XML-browser was a research browser made to explore various new web formats) supported SVG (uses CSIRO SVG viewer), also SMIL, XForms, X3D, etc. (2008)

Viewers

* Batik is mainly a toolkit for server-side applications, but it also includes a good stand-alone SVG browser called Squiggle that fully implements static SVG and scripting (but you may as well use Firefox or Opera for this). We use this toolkit for this wiki in order to render SVG graphics as PNG, but you also may use it as a helper application for your web browser.

### SVG emulators[edit | edit source]

* SVGWeb. A google project that translates SVG to Flash. SVG Web is a JavaScript library which provides SVG support on many browsers, including Internet Explorer, Firefox, and Safari. Using the library plus native SVG support you can instantly target ~95% of the existing installed web base.

### Convertors[edit | edit source]

* Most vector graphic software can import/export in several formats (see above). E.g. to import SVG in Flash one can open the SVG in Illustrator and then select all/copy/paste to CS3/4/5
* SVG Import Filter for OpenOffice 2 (tested with OO 3.1 / Ubuntu: Import worked, but I did not test much - Daniel K. Schneider 13:51, 12 May 2010 (UTC)). An imported image then can be exported in other formats, e.g. WMF.
* SVG to PNG converter (old Firefox 3 extension)
* Vector Magic. Popular online tool for converting Bitmap Images To Clean Vector Art (not tested - Daniel K. Schneider 18:45, 28 March 2012 (CEST)).
* SVG Maker Commercial multi-format to SVG translator (not tested - Daniel K. Schneider 18:45, 28 March 2012 (CEST) !)

### Validation and cleanup tools[edit | edit source]

* W3C Validator
* Simplify SVG for HTML5 App Debugging. A "simple" bash shell script to clean up Inkscape code.

### Online editors[edit | edit source]

* SVG-edit, an online editor implemented in JavaScript. Strongly recommended

* svgreal (not tested)

### Toolkits for programmers[edit | edit source]

(needs updating - Daniel K. Schneider 18:45, 28 March 2012 (CEST) !)

* CariSVG (zoom, animation, drag and drop, etc.)
* Batik SVG Toolkit. It is mostly used for server-side applications. E.g. this Wiki uses Batik to translate SVG into PNG. There is also a stand-alone batik viewer.
* phpHtmLLib. A set of PHP classes and library functions to help facilitate building, debugging, and rendering of XML, HTML, XHTML, WAP/WML Documents, and SVG, and complex widgets. Stable and popular - Version 3.02 (March 2008). Supports basic SVG functionality an image and a graph classe. E.g. see this SVG Graph
* SVG-TT-Graph , a popular Perl module for line graphs, bars and pies [1/2004, not tested]
* More PHP kits can be found on the web, see also our php example directory (some code is disabled for security reasons).
* Pergola JavaScript SVG Library

## Standards[edit | edit source]

* The official SVG specification at W3C. (Scalable Vector Graphics (SVG) 1.1 (Second Edition), W3C Recommendation 16 August 2011)
* Spécification SVG 1.0 (français)
* Mobile SVG Profiles: SVG Tiny and SVG Basic W3C Recommendation 14 January 2003, edited in place 15 June 2009 (SVG on the road !)
* W3C Validator. This popular online validation tool can validate SVG up to a certain extent. It will mostly just check syntax, i.e. it cannot detect bad attribute values.
* SMIL animation SVG has incorporated SMIL-type animations (a superset). This means that SMIL tutorials will also be useful to you.
* ECMAScript Language Binding for SVG (just SVG specific stuff, SVGElement has all the properties and methods of dom::Element !)
* sXBL (W3C Working Draft 15 August 2005). SVG's XML Binding Language (sXBL) is proposed as a mechanism for defining the presentation and interactive behavior of elements described in a namespace other than SVG's. (This will allow definition of high-level tagsets). [9/2004]

## Manuals and Textbooks[edit | edit source]

### Free Online Textbooks[edit | edit source]

* SVG Essentials The free wiki version of O'Reilly's SVG Essentials book by J. David Eisenberg (2002)

* Javascript DOM and SVG database (from Pilat). This a searchable and browsable database of JavaScript tricks including SVG DOM . Also includes examples.

* Learn SVG from the authors of the same print book.
* The tutorials include an interface lists attributes for tags and then provides both examples and code. Recommended.
* Start from Basics.
* For DOM Scripting, see Scripting tutorial
* You also can downlaod chapters of the original book. However, some examples probably will need fixing.

* An SVG Primer for Today's Browsers W3C Working Draft — September 2010. (200+ pages)

* Learn SVG Interactively by Jay Nick. This is a free IBook (for Mac or iOS device only).

### Online references[edit | edit source]

(easier than looking at standards)

* SVG at Mozilla Developper Network. As of April 2012, probably the most useful reference.
* SVG element reference
* SVG attribute reference
* SVG DOM API reference

* At Zvon (also includes examples):
* SVG 1.1 Full Reference
* SVG 1.1 Basic Reference
* SVG 1.1 Tiny Reference

* SVG Scripting Reference Internet Explorer Developer Center (Microsoft)

* SVG reference at W3Schools. As of March 2012, probably too concise to be useful to beginners.

### Books[edit | edit source]

* HTML5 Graphics with SVG & CSS3, Drawing with Markup. By Kurt Cagle. Publisher: O'Reilly Media. Released: May 2012 (est.)
* Kurt Cagle is an SVG expert. The book should be good (when it comes out ...)

* SVG Essentials. By J. Eisenberg. Publisher: O'Reilly Media. Released: February 2002. Pages: 358
* This book is still a good buy. It remains my favorite SVG book. However, SVG is now big in HTML5. Therefore O'Reilly should publish a new version that includes HTML5 specifics and more DOM scripting. Also, Eisenberg, like many other SVG authors back then didn't test SVG within a native browser and missed the fact that namespaces must be declared. Add the following line within the first SVG tag of examples that break with a "prefix not bound to a namespace" message:

xmlns:xlink="http://www.w3.org/1999/xlink"

* Building Web Applications with SVG, by David Dailey, Jon Frost and Domencio Strazzullo, Publisher: Microsoft Press. Also available as e-book at O'Reilly. There is a sampler.

## Example sites[edit | edit source]

Once you have some basic understanding of SVG after reading a tutorial or two, you probably will learn best by example.

### General[edit | edit source]

* SVG elves are sharing articles, code snippets, and events

* SVG animation with JavaScript and SMIL by David Dailey & al. (last checked 2013, and a this time (still) one of the best examples sites). D. Dailey is the author of the "Building Web Applications with SVG book.

* Official SVG Test suites (includes good examples, but browsing and finding takes some time....)

* LearnSVG. Good sample extracts from the Learn SVG: The Web Graphics Standard" by Jon Frost, Stefan Goessner and Michel Hirtzler book. Revisited by Robert DiBlasi and Tobias Reif. (Some examples max lack namespace definitions and will not run unless you fix these - but that may have been fixed by now - 18:45, 28 March 2012 (CEST)).

* Marek Raida's SVG blog. Includes some good recent examples and also some kind of benchmarking suites. (last checked Mars 2011).

* SVG - Learning By Coding Site with many very nice examples including advanced topics (in German), easy browsing and looking at code.

* Croczilla SVG resources has a good list of examples, in particular XHTML/SVG integration and DOM scriptin

* Pilat Several kinds of examples in french (e.g. SVG/Javascript, complex applications. There is an English version. This website has quite a lot of information.

* TECFA example directory (not very interesting, but I use them in my teaching slides) - Daniel K. Schneider.

* Wikipedia German includes 2 interesting animation examples]

* Grapher. A simple (math.) graph drawing program made with JS and SVG. (Read the help !)

HTML 5 demos that may include SVG

* Chrome Experiments (Not your mother's JavaScript): E.g. SVG Mazes and Rotating Spiral
* Mozilla labs gaming includes some examples made with SVG, e.g. SVG-EDU

### SVG Clipart[edit | edit source]

* Open Clip Art Library (openclipart.org). Recommended

### Code fragments[edit | edit source]

* DOM tree output ECMA Script from MecXpert
* Web Solutions for Mechanical Engineering, has a nice list of code fragments.

## Tutorials[edit | edit source]

### General overviews[edit | edit source]

* Scalable Vector Graphics (Wikipedia article).
* Prince SVG Tutorial (essentials)

### Basic Tutorials[edit | edit source]

Updated, i.e. example code should work in modern web browsers

* SVG Tutorial, by Matthew Bystedt, November 2012
* SVG Essentials The free wiki version of O'Reilly's SVG Essentials book by J. David Eisenberg (2002)
* Pilat Several tutorials + examples + complex applications.
* Using SVG For Flexible, Scalable, and Fun Backgrounds, Part I by Shelley Powers, A LIST apart. Jan 2010 and Using SVG for Flexible, Scalable, and Fun Backgrounds, Part II Jan 2010. SVG and XHTML.
* Basic Shapes, chapter three of David Eisenberg's "SVG Essentials" O'Reilly book. (2002)
* See also: Example SVG sites (above). Many are in made for learning, e.g. include explanations and comments.
* Create client-side diagrammatic interaction in Web applications with SVG by Cameron Laird, IBM Developerworks (2010), retrieved 18:39, 21 March 2011 (CET).
* SVG Tutorial at W3Schools

Older materials

Code may be broken, but these texts may still be useful

* cours SVG de 2 jours (in french) made by E.Sierra and M-A Thibaut 2003 ("learning by teaching", some code broken)
* Introduction à SVG (my own slides)
* SVG at Dev.Opera. Several tutorials (including SMIL tag animation, use Opera to view this.)
* 2 day SVG course in french made by N. Nova and Y. Grassioulet 2002 ("learning by teaching"). Needs updating !
* An Introduction to Scalable Vector Graphics by J.D. Eisenberg, XML.com, 2001.
* Scalable Vector Graphics: The Art is in the Code Eddie Traversa, Webreference (2001)
* Developer tutorials (incl. Dynamic SVG with JavaScript), part of adobe's illustrator/svg zone
* KevLindeV Kevin Lindev's SVG site (tutorials and examples)
* SVG - Open for Business, a (short) webreference.com tutorial (2002)
* Introduction to Scalable Vector Graphics by Nicholas Chase, IBM developerWorks, 2004.
* Pike's SVG tutorial

### SVG with JavaScript and DOM[edit | edit source]

* Add interactivity to your SVG by Brian John Venn, IBM developperworks article, Aug 2003. Good introductory SVG/DOM/JS tutorial.
* Manipulating SVG Documents Using ECMAScript (Javascript) and the DOM at carto:net (2009). This page includes a set of interactive commented examples.

### SMIL Animation[edit | edit source]

(as of fall 2011 supported in all modern browsers)

* Animate Your HTML5. A tour of HTML5 animation techniques with CSS3, SVG, Canvas and WebGL, by Martin Gorner - Google developer relations, last checked on Jan 2014.

* SVG animation with SMIL (Mozilla dev network). Ok, but too short as of March 2012.

* SVG Animation (Inkscape Wiki)

* Digging Animation, by Antoine Quint, XML.com, 2002 (SMIL animation, most examples seem to be broken as of 18:45, 28 March 2012 (CEST)).

* Rather see the various example sites

### Server-side SVG[edit | edit source]

* Combiner SVG avec PHP JDNet développeurs article de Xavier Boerderie 12/2002.
* Creating Scalable Vector Graphics with Perl by K. Hamptom, xml.com, 2001.
* Example for Serverside SVG generation with PHP from the excellent carto.net website.
* Google SVG Search a webreference.com XML column
* Example for getURL & parseXML of the Adobe plugin. The same tutorial gives additional links, e.g. for postURL() that can be used to save data. (Outdated, since the Adobe plugin is dead!)

### SVG and XSLT[edit | edit source]

* Client-side image generation with SVG and XSLT by Inigo Surguy. Interesting
* Component-Based Page Layouts xml.com article by Didier Martin showing how to embedd SVG in XHTML using XSLT processing

### Various articles (not classified)[edit | edit source]

* W3C Graphics Activity Statement. This shows the place of SVG in the overall W3C strategy.
* W3C Scalable Verctor Graphics (SVG). This is the overview page (includes News and Pointers)
* Picture Perfect xml.com, (2001)
* SVG: A Sure Bet by Paul Prescod, xml.com (July 2003)
* Flash is Evil by dack (not related to svg but food for thought)
* Vector-based Web Cartography: Enabler SVGScalable Vector Graphics (french & german version also available). This is an early (good) propaganda article for SVG.
* SVG - a new dimension in producing interactive netbooks by Vladimir BATAGELJ and Matjaž ZAVERŠNIK (PDF article). This is an overview paper

## General SVG resource pages[edit | edit source]

* The Ultimate Guide to SVG, 2015
* User Documentation at Inkscape. Mostly documentation for Inkscape, but also includes some links to general SVG tutorials, e.g. the SVG Animation in its own wiki.
* SVG - Learning By Coding Site with many very nice examples including advanced topics (in German), easy browsing and looking at code. Many examples need a state-of-the-art browser (e.g. Chrome 10) or else the old Adobe plugin. Bester Site auf Deutsch.
* Pilat Informative Educative  [francais]. SVG - PHP - MySQL - Javascript. Le meilleur site français. Also includes an English variant with (less?) contents.
* svg.pagina.nl Good dashboard page page by Ruud Steltenpool. Many good links.
* SVG Page at DMOZ (for nostalgic people, when links pages were made by humans)
* carto:paperssvg (A.M. Winter & A. Neumann). VERY good SVG resources, examples, etc. Swiss made :) .... but less active since 2007 :(
* W3C Scalable Verctor Graphics (SVG). This is the W3C SVG overview page (includes News and Pointers)
* Sacré SVG, a XML.com column (not updated since 2005).
* SVG Open conference series. Usually, papers are open content.
* dev.opera includes several good svg articles (including some good live examples, but you will have to search ...)
* SVG magazine. The quarterly publication covering technique, coding, art, reviews and more. So far, there are 2 issues - 18:45, 28 March 2012 (CEST).
* IBM Developer Works (search for "SVG" gives 709 results - 18:45, 28 March 2012 (CEST)).

## Communities[edit | edit source]

* SVG-Developers (Yahoo group)