SVG links: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
m (Text replacement - "<pageby nominor="false" comments="false"/>" to "<!-- <pageby nominor="false" comments="false"/> -->")
 
(58 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!-- <pageby nominor="false" comments="false"/> -->
== Definition ==
== Definition ==


This is a links page about [[SVG]].
This is a links page about [[SVG]]. According to [http://en.wikipedia.org/wiki/Svg#Software_and_support_in_applications Wikipedia],
{{quotationbox|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) - [[User:Daniel K. Schneider|Daniel K. Schneider]]


== Tools ==
== Tools ==
Line 7: Line 25:
=== Indexes for SVG tools ===
=== Indexes for SVG tools ===


* [http://www.openclipart.org/wiki/SVG_Tools SVG Tools] at OpenClipArt.org.
* [http://en.wikipedia.org/wiki/Comparison_of_vector_graphics_editors Comparison of vector graphics editors] (Wikipedia). Start by looking at [http://en.wikipedia.org/wiki/Comparison_of_vector_graphics_editors#File_format_support File format support]


=== Editors and drawing tools with SVG support ===
=== Editors and drawing tools with SVG support ===
; Text (programming) editors with SVG support


* You can hand code SVG with any [[XML editor]]
* You can hand code SVG with any [[XML editor]]
* [http://inkscape.org/ Inkscape] (Inkscape targets SVG 1.1 therefore some code will not show in Adobe SVG. Also, it doesn't support SMIL animation or DOM scripting)
* [http://virtualmechanics.com/products/engine/index.html WebEngine V2]. (formerly WebDwarf). Drag-and-Drop Visual authoring and animation for HTML, DHTML, and SVG. ($100) - [[User:Daniel K. Schneider|Daniel K. Schneider]] 16:07, 24 October 2007 (MEST).
* [http://www.jasc.com/products/webdraw/ Jasc WebDraw], (commercial $200, tested @ TECFA, works. Notes: only available from the US site, be aware of stupid redirections. Free beta versions may be found in some places.)
* [http://www.inkscape.org/ 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 (Version 0.37 on Feb 2004. Available for Win, Linux rpm, source. TESTED @ TECFA, works, exports standard SVG other.
* Adobe Illustrator can import/export SVG
* Microsoft Visio can export to SVG
* Corel Draw (can export SVG)
* [http://www.kiyut.com/products/sketsa/ Sketsa SVG Graphics Editor], $59 Payware, Java 1.5+ based, demo and webstart version available, Version 4.2 doesn't do SMIL animation (not tested).
* [http://www.skencil.org/ Skencil], a free Linux/Unix vector drawing program can export/import SVG. (formely "Sketch", not tested). IImports/exports SVG.
* Sodipodi (now dead product). See Inkscape.
* [http://svg.scand.com SVG Kit for Adobe Creative Suite] is a plug-in, which adds full-functional SVG and SVGZ file support to Adobe Photoshop, PS Elements and InDesign.
* [http://code.google.com/p/svg-edit/ 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 ...


=== Native SVG support in web browsers ===
; Free drawing programs with native SVG
 
* [http://www.inkscape.org/ 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.
** [http://www.inkscapeforum.com/ Inkscapeforum]
** [http://wiki.inkscape.org/ InkScape Wiki]
** [http://www.inkscape.org/en/learn/tutorials/ List of 3rd party tutorials]
 
; Free online drawing programs with native SVG
* [http://code.google.com/p/svg-edit/ 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'''
* [http://www.drawsvg.org/ DrawSvg.org] an other online SVG editor.
* [http://www.flamingtext.com/imagebot/editor Imagebot] by Flamingtext is a simple to use SVG editor. No source code editing but you can import SVG and save-as svg.
* [http://pilatinfo.org/dessin_loc/draw.svg Pilat drawing tool] (online)


See [http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28SVG%29 Comparison of layout engines (SVG)] (Wikipedia) or [http://wiki.svg.org/Viewer_Implementations wiki.svg.org] for latest updates and detailed feature comparison. There is also an interesting SVG test suite by [http://svg.kvalitne.cz/resume.htm test by Marek Raida].
; Free drawing programs that can import/export SVG
* [http://www.skencil.org/ Skencil], a free Linux/Unix vector drawing program can export/import SVG. (formely "Sketch", not tested). Imports/exports SVG.
* [http://www.openoffice.org/ OpenOffice] and [[Libre Office]] (a fork of OpenOffice) can import/export SVG.
* [http://dia-installer.de/ DIA], a popular open source diagramming tool can import/export SVG (Win/Mac/Linux). There are also [http://dia-installer.de/download/index.html.en portable app (Windows) and zip] versions (good for teachers who live in a restrictive environment...). '''Recommended'''.


Information below is probably '''not''' accurate, since implementations come out fast as of spring 2011.
; Commercial drawing programs with native SVG
* [http://www.kiyut.com/products/sketsa/ 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 [http://openclipart.org openclipart.org] import rather well.


* [http://www.opera.com/ Opera] used to be the only browser with goot native SVG support currently. E.g. see the [http://www.opera.com/docs/specs/svg SVG support in Opera 9] list. SVG basic or/and SVG tiny are also supported on mobile phone versions. There is also a Linux version (e.g. a deb package that I installed w/o problems on Ubuntu 7.1 - DKS/nov/2007). Opera 11 implements most features of SVG, SVG/SMIL and SVG DOM
; Commercial drawing programs with SVG import/export


* [http://www.google.com/chrome/Chrome Chrome] 10 can do most of SVG (like Opera) and implements fairly well HTML5 SVG (2011)
These programs can usually both import/export SVG. However, you may loose information in both cases.


* IE 9 can do static SVG and DOM (including HTML5 SVG) (2011). Some features seem to be missing and it cannot do any SVG/SMIL.
* [http://www.adobe.com/ch_fr/products/illustrator.edu.html Adobe Illustrator] can import/export SVG
* [http://svg.scand.com 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)
* [http://www.virtualmechanics.com/index.html SiteSpinner]. (formerly WebDwarf). Drag-and-Drop Visual authoring and animation for HTML, DHTML, and SVG. ($50) - 18:45, 28 March 2012 (CEST)
* [https://www.scribus.net/ Scribus], an open source document processing tool that can (only) import SVG


* [http://www.mozilla.com/ Firefox] since version 1.5 included by default a native SVG and support for SVG-DOM, but did not implement SMIL animation tags. This is now fixed in Firefox 4 (March 2011) and seems to reach the level of Chrome and Opera
=== SVG support in web browsers ===


* [http://www.apple.com/safari/ Safari] (provides static/DOM SVG support and the latest Beta also should do HTML 5 SVG (2011). It uses the same engine as Chrome, but usually lacks behind
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.


=== Plugins for web browers ===
IE 11, Opera mini and IE Mobile still do '''not support SMIL-type animation.'''


Currently (as of 2010), we suggest to use the Opera browser for looking at dynamic SVG. However, there are a few other options:
[http://caniuse.com/#cats=SVG Can I use] provides more details.


* [http://www.adobe.com/svg/ Adobe SVG Viewer], works with in principle with IE and Firefox, but Adobe discontinued support since they finally managed to acquire Macromedia (and Flash). Implemented all of SVG 1.0.
See also [http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28SVG%29 Comparison of layout engines (SVG)] (Wikipedia). There is also an interesting SVG test suite by [http://svg.kvalitne.cz/resume.htm test by Marek Raida].
** Getting it to work with IE 7 is quite a nightmare. Try the procedure in [http://pilat.org/ Utilisateurs d'Internet Explorer 7]
** Getting it to work with Firefox (not tested lately): Downlaod the plugin or the [http://www.adobe.com/svg/viewer/install/beta.html Pre-release 6.0 Alpha]. Then copy all the files from ''C:\Program Files\Common Files\Adobe\SVG Viewer 6.0\Plugins\*'' to Firefox plugin directory. Then restart Firefox. Enter the URL ''about:config'', then enter ''svg'' in the Filter, hit return. Finally double click on the value "true". It must be false. However, I remember that Firefox crashed when I tried last time - [[User:Daniel K. Schneider|Daniel K. Schneider]] 12:27, 22 October 2007 (MEST).


* Many mobile phones support SVG Tiny. (always through the opera browser ?).
=== Other viewing software ===


* [http://www.emiasys.net/ Renesis], Beta 0.7 in July 2007. '''Dead project since ?'''
; Plugins for web browsers


* [http://www.x-smiles.org/ The X-smiles XML-browser], supports SVG (uses CSIRO SVG viewer), also SMIL, XForms, X3D, etc.
Since 2010, SVG plugins are no longer needed !. Information below is kept for historical reasons.
* The [http://www.adobe.com/svg/ 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.....


* CSIRO Toolkit and Pocket SVG Viewer (dead product/project)
; Special purpose web browsers


* [http://xml.apache.org/batik/ 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.
* [http://www.x-smiles.org/ 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)


* [http://blog.svg-map.com/ SVG Map Lab]. IE Plugin (no idea what features it supports, not tested).
; Viewers


* [http://code.google.com/p/svg-edit/ SVG Edit] is an online vector graphics editor that uses only JS, HTML5, CSS and SVG (i.e. no server-side functionality).
* [http://xml.apache.org/batik/ 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 ===
=== SVG emulators ===
Line 69: Line 100:
=== Convertors ===
=== Convertors ===


* Most vector graphics tools can import/export in several formats. E.g. to import SVG in Flash one can open the SVG in Illustrator and then select all/copy/paste to CS3/4/5
* 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
* [http://haumacher.de/svg-import/ SVG Import Filter for OpenOffice 2] (tested with OO 3.1 / Ubuntu: Import worked, but I did not test much - [[User:Daniel K. Schneider|Daniel K. Schneider]] 13:51, 12 May 2010 (UTC)). An imported image then can be exported in other formats, e.g. WMF.
* [http://haumacher.de/svg-import/ SVG Import Filter for OpenOffice 2] (tested with OO 3.1 / Ubuntu: Import worked, but I did not test much - [[User:Daniel K. Schneider|Daniel K. Schneider]] 13:51, 12 May 2010 (UTC)). An imported image then can be exported in other formats, e.g. WMF.
* [http://www.treebuilder.de/default.asp?file=660000.xml SVG to PNG converter] (Firefox extension)
* [http://www.treebuilder.de/default.asp?file=660000.xml SVG to PNG converter] ('''old''' Firefox 3 extension)
* [http://vectormagic.com/home Vector Magic]. '''Popular''' online tool for converting Bitmap Images To Clean Vector Art (not tested - [[User:Daniel K. Schneider|Daniel K. Schneider]] 18:45, 28 March 2012 (CEST)).
* [http://www.svgmaker.com/ SVG Maker] Commercial multi-format to SVG translator (not tested - [[User:Daniel K. Schneider|Daniel K. Schneider]] 18:45, 28 March 2012 (CEST) !)


=== On-line tools ===
=== Validation and cleanup tools ===


* [http://validator.w3.org W3C Validator]
* [http://validator.w3.org W3C Validator]
* [http://svg-edit.googlecode.com/svn/tags/stable/editor/svg-editor.html SVG-edit], an online editor implemented in JavaScript
* [http://open-juve.blogspot.com/2011/02/simplify-svg-for-html5-app-debugging.html Simplify SVG for HTML5 App Debugging]. A "simple" bash shell script to clean up Inkscape code.


=== Clean up tools ===
=== Online editors ===
* [http://svg-edit.googlecode.com/svn/tags/stable/editor/svg-editor.html SVG-edit], an online editor implemented in JavaScript. '''Strongly recommended'''


* [http://open-juve.blogspot.com/2011/02/simplify-svg-for-html5-app-debugging.html Simplify SVG for HTML5 App Debugging]. A "simple" bash shell script to clean up Inkscape code.
* [https://code.google.com/archive/p/svgreal/ svgreal] (not tested)


=== Toolkits for programmers ===
=== Toolkits for programmers ===


* [http://xml.apache.org/batik/ Batik SVG Toolkit]. Note that there is also a stand-alone batik viewer
(needs updating - [[User:Daniel K. Schneider|Daniel K. Schneider]] 18:45, 28 March 2012 (CEST) !)
* [http://phphtmllib.newsblob.com/ 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 2.4.0 in Feb 2004. Supports basic SVG functionality an image and a graph classe.
 
* [http://ybochatay.fr/CariSVG/ CariSVG] (zoom, animation, drag and drop, etc.)
* [http://xml.apache.org/batik/ 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.
* [http://phphtmllib.newsblob.com/ 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 [http://phphtmllib.newsblob.com/?ex=8&target=examples SVG Graph]
* [http://search.cpan.org/dist/SVG-TT-Graph/ SVG-TT-Graph] , a popular Perl module for line graphs, bars and pies [1/2004, not tested]
* [http://search.cpan.org/dist/SVG-TT-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 [/guides/php/examples/ php example directory]
* More PHP kits can be found on the web, see also our [http://tecfa.unige.ch/guides/php/examples/ php example directory] (some code is disabled for security reasons).
* [http://www.svgmaker.com/ SVG Maker] Commercial multi-format to SVG translator (not tested !)
* [http://dotuscomus.com/pergola/examples.html Pergola JavaScript SVG Library]


== Standards ==
== Standards ==


* [http://www.w3.org/TR/SVG/ The official SVG specification]
* [http://www.w3.org/TR/SVG/ The official SVG specification] at W3C. (Scalable Vector Graphics (SVG) 1.1 (Second Edition), W3C Recommendation 16 August 2011)
* [http://www.yoyodesign.org/doc/w3c/svg1/ Spécification SVG 1.0] (français)
* [http://www.yoyodesign.org/doc/w3c/svg1/ Spécification SVG 1.0] (français)
* [http://www.w3.org/TR/SVGMobile/  Mobile SVG Profiles: SVG Tiny and SVG Basic] W3C Recommendation 14 January 2003 (SVG on the road !)
* [http://www.w3.org/TR/SVGMobile/  Mobile SVG Profiles: SVG Tiny and SVG Basic] W3C Recommendation 14 January 2003, edited in place 15 June 2009 (SVG on the road !)
* [http://validator.w3.org W3C Validator]
* [http://validator.w3.org 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.
* [http://www.w3.org/TR/smil-animation/ SMIL animation] SVG has incorporated SMIL-type animations (a superset). This means that SMIL tutorials will also be useful to you.
* [http://www.w3.org/TR/smil-animation/ SMIL animation] SVG has incorporated SMIL-type animations (a superset). This means that SMIL tutorials will also be useful to you.
* [http://www.w3.org/TR/2001/REC-SVG-20010904/ecmascript-binding.html ECMAScript Language Binding for SVG] (just SVG specific stuff, SVGElement has all the properties and methods of dom::Element !)
* [http://www.w3.org/TR/2001/REC-SVG-20010904/ecmascript-binding.html ECMAScript Language Binding for SVG] (just SVG specific stuff, SVGElement has all the properties and methods of dom::Element !)
* [http://www.w3.org/TR/sXBL/ sXBL], SVG's XML Binding Language (sXBL) s 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]
* [http://www.w3.org/TR/sXBL/ 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 ==
== Manuals and Textbooks ==


=== Free Online ===
=== Free Online Textbooks ===
 
* [http://commons.oreilly.com/wiki/index.php/SVG_Essentials SVG Essentials] The free wiki version of O'Reilly's ''SVG Essentials'' book by J. David Eisenberg (2002)
 
* [http://pilat.free.fr//js_svg/js_dom.php3 Javascript DOM and SVG] database (from Pilat). This a searchable and browsable database of JavaScript tricks including SVG DOM . Also includes examples.
 
* [http://www.learnsvg.com/ 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 [http://www.learnsvg.com/tutorials/tutorialBasics/ Basics].
** For DOM Scripting, see [http://www.learnsvg.com/tutorials/tutorialScripting/ Scripting tutorial]
** You also can downlaod chapters of the [http://www.learnsvg.com/book-learnsvg/ original book]. However, some examples probably will need fixing.
 
* [http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html An SVG Primer for Today's Browsers] W3C Working Draft — September 2010. (200+ pages)
 
* [https://itunes.apple.com/us/book/learn-svg-interactively/id384843340?mt=11 Learn SVG Interactively] by Jay Nick. This is a free IBook (for Mac or iOS device only).
 
=== Online references ===
 
(easier than looking at standards)
 
* [https://developer.mozilla.org/en/SVG SVG] at Mozilla Developper Network. As of April 2012, probably the '''most useful''' reference.
** [https://developer.mozilla.org/en/SVG/Element SVG element reference]
** [https://developer.mozilla.org/en/SVG/Attribute SVG attribute reference]
** [https://developer.mozilla.org/en/Gecko_DOM_Reference#SVG_interfaces SVG DOM API reference]


* [http://pilat.free.fr//js_svg/js_dom.php3 Javascript DOM and SVG] database (from Pilat)
* At [http://zvon.org Zvon] (also includes examples):
** [http://zvon.org/comp/r/ref-SVG_1_1_Full.html SVG 1.1 Full Reference]
** [http://zvon.org/comp/r/ref-SVG_1_1_Basic.html SVG 1.1 Basic Reference]
** [http://zvon.org/comp/r/ref-SVG_1_1_Tiny.html SVG 1.1 Tiny Reference]


* [http://www.learnsvg.com/ Learn SVG] from the authors of the same print book (now available for free, but most example need fixing, i.e. you must add the SVG and XLink namespace)
* [http://msdn.microsoft.com/en-us/library/ie/ff971910%28v=vs.85%29.aspx SVG Scripting Reference] Internet Explorer Developer Center (Microsoft)


* [http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html An SVG Primer for Today's Browsers] W3C Working Draft — September 2010.
* [http://www.w3schools.com/svg/svg_reference.asp SVG reference] at W3Schools. As of March 2012, probably too concise to be useful to beginners.


=== Books ===
=== Books ===
Line 118: Line 181:
** 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:
** 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"
: 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 [http://shop.oreilly.com/product/0790145329448.do e-book] at O'Reilly. There is a [http://cdn.oreilly.com/oreilly/booksamplers/msp/9780735660120_sampler.pdf sampler].


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


=== General ===
=== General ===


* [http://www.learnsvg.com/ 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. However, most examples lack namespace definitions and will not run unless you fix these.
* [http://www.svgelves.com/ SVG elves] are sharing articles, code snippets, and events
 
* [http://srufaculty.sru.edu/david.dailey/svg/ 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.
 
* [http://www.w3.org/Graphics/SVG/WG/wiki/Test_Suite_Overview Official SVG Test suites] (includes good examples, but browsing and finding takes some time....)
 
* [http://www.learnsvg.com/ 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)).


* [http://svg.kvalitne.cz/index2.htm Marek Raida's SVG blog]. Includes some good recent examples and also some kind of benchmarking suites. (last checked Mars 2011).
* [http://svg.kvalitne.cz/index2.htm Marek Raida's SVG blog]. Includes some good recent examples and also some kind of benchmarking suites. (last checked Mars 2011).
* [http://srufaculty.sru.edu/david.dailey/svg/ SVG animation with JavaScript and SMIL] by David Dailey & Jack Livingston (last checked 2011, and a this time one of the best examples sites)


* [http://www.datenverdrahten.de/svglbc/ SVG - Learning By Coding] Site with many very nice examples including advanced topics (in German), easy browsing and looking at code.
* [http://www.datenverdrahten.de/svglbc/ SVG - Learning By Coding] Site with many very nice examples including advanced topics (in German), easy browsing and looking at code.
Line 133: Line 204:
* [http://croczilla.com/bits_and_pieces/svg/ Croczilla SVG resources] has a good list of examples, in particular XHTML/SVG integration and DOM scriptin
* [http://croczilla.com/bits_and_pieces/svg/ Croczilla SVG resources] has a good list of examples, in particular XHTML/SVG integration and DOM scriptin


* [http://pilat.free.fr/ Pilat] Several kinds of examples (e.g. SVG/Javascript, complex applications, [http://pilat.free.fr/english/index.htm SVG compontents]).
* [http://pilatinfo.org/ Pilat] Several kinds of examples in french (e.g. SVG/Javascript, complex applications. There is an [http://pilatinfo.org/english/index.htm English version]. This website has quite a lot of information.


* [http://tecfa.unige.ch/guides/svg/ex/ TECFA example directory] (not very interesting, but I use them in my teaching slides) - [[User:Daniel K. Schneider|Daniel K. Schneider]].
* [http://tecfa.unige.ch/guides/svg/ex/ TECFA example directory] (not very interesting, but I use them in my teaching slides) - [[User:Daniel K. Schneider|Daniel K. Schneider]].


* [http://de.wikipedia.org/wiki/Scalable_Vector_Graphics#Animation Wikipedia German] includes 2 interesting animation examples]
* [http://de.wikipedia.org/wiki/Scalable_Vector_Graphics#Animation Wikipedia German] includes 2 interesting animation examples]
* [http://srufaculty.sru.edu/david.dailey/grapher/ Grapher]. A simple (math.) graph drawing program made with JS and SVG. (Read the help !)


; HTML 5 demos that may include SVG
; HTML 5 demos that may include SVG
* [http://www.chromeexperiments.com/ Chrome Experiments] (Not your mother's JavaScript): E.g. [http://www.chromeexperiments.com/detail/svg-mazes/ SVG Mazes] and [http://www.chromeexperiments.com/detail/rotating-spiral/ Rotating Spiral]
* [http://www.chromeexperiments.com/ Chrome Experiments] (Not your mother's JavaScript): E.g. [http://www.chromeexperiments.com/detail/svg-mazes/ SVG Mazes] and [http://www.chromeexperiments.com/detail/rotating-spiral/ Rotating Spiral]
* [https://gaming.mozillalabs.com/games/  Mozilla labs gaming] includes some examples made with SVG, e.g. [https://gaming.mozillalabs.com/games/54/svg-edu SVG-EDU]
* [https://gaming.mozillalabs.com/games/  Mozilla labs gaming] includes some examples made with SVG, e.g. [https://gaming.mozillalabs.com/games/54/svg-edu SVG-EDU]
=== SVG Clipart ===
* [http://www.openclipart.org/ Open Clip Art Library] (openclipart.org). '''Recommended'''


=== Code fragments ===
=== Code fragments ===
Line 153: Line 230:


* [http://en.wikipedia.org/wiki/Scalable_Vector_Graphics Scalable Vector Graphics] (Wikipedia article).
* [http://en.wikipedia.org/wiki/Scalable_Vector_Graphics Scalable Vector Graphics] (Wikipedia article).
* [http://www.princexml.com/doc/7.1/svg/ Prince SVG Tutorial] (essentials)


=== Basic Tutorials ===
=== Basic Tutorials ===


; Updated, i.e. example code should work in modern web browsers
* [http://apike.ca/prog_svg.html  SVG Tutorial], by Matthew Bystedt, November 2012
* [http://commons.oreilly.com/wiki/index.php/SVG_Essentials SVG Essentials] The free wiki version of O'Reilly's ''SVG Essentials'' book by J. David Eisenberg (2002)
* [http://pilat.free.fr/ Pilat] Several tutorials + examples + complex applications.
* [http://pilat.free.fr/ Pilat] Several tutorials + examples + complex applications.
* [http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-backgrounds-part-i/ Using SVG For Flexible, Scalable, and Fun Backgrounds, Part I] by Shelley Powers, A LIST apart. Jan 2010
* [http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-backgrounds-part-i/ Using SVG For Flexible, Scalable, and Fun Backgrounds, Part I] by Shelley Powers, A LIST apart. Jan 2010 and [http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-backgrounds-part-ii/ Using SVG for Flexible, Scalable, and Fun Backgrounds, Part II]  Jan 2010. SVG and XHTML.
* [http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-backgrounds-part-ii/ Using SVG for Flexible, Scalable, and Fun Backgrounds, Part II]  Jan 2010
* [http://www.oreilly.com/catalog/svgess/chapter/ch03.html Basic Shapes], chapter three of David Eisenberg's "SVG Essentials" O'Reilly book. (2002)
* '''See also:''' [[#Example_sites|Example SVG sites]] (above). Many are in made for learning, e.g. include explanations and comments.
* [http://www.ibm.com/developerworks/library/x-svgclientside/ Create client-side diagrammatic interaction in Web applications with SVG] by Cameron Laird, IBM Developerworks (2010), retrieved 18:39, 21 March 2011 (CET).
* [http://www.w3schools.com/svg/default.asp SVG Tutorial] at W3Schools
 
; Older materials
 
Code may be broken, but these texts may still be useful
 
* [http://tecfa.unige.ch/staf/staf-g/sierra/staf2x/sitesvg.htm cours SVG de 2 jours (in french)] made by E.Sierra and M-A Thibaut 2003 ("learning by teaching", some code broken)
* [http://tecfa.unige.ch/staf/staf-g/sierra/staf2x/sitesvg.htm cours SVG de 2 jours (in french)] made by E.Sierra and M-A Thibaut 2003 ("learning by teaching", some code broken)
* [http://tecfa.unige.ch/guides/tie/html/svg-intro/svg-intro.html Introduction à SVG] (my own slides)
* [http://tecfa.unige.ch/guides/tie/html/svg-intro/svg-intro.html Introduction à SVG] (my own slides)
* [http://dev.opera.com/articles/svg/ SVG at Dev.Opera]. Several tutorials (including SMIL tag animation, use Opera to view this.)
* [http://dev.opera.com/articles/svg/ SVG at Dev.Opera]. Several tutorials (including SMIL tag animation, use Opera to view this.)
* [http://tecfa.unige.ch/staf/staf-g/nova/staf2x/svg/programme.html 2 day SVG course in french] made by N. Nova and Y. Grassioulet 2002 ("learning by teaching")
* [http://tecfa.unige.ch/staf/staf-g/nova/staf2x/svg/programme.html 2 day SVG course in french] made by N. Nova and Y. Grassioulet 2002 ("learning by teaching"). Needs updating !
* [http://www.xml.com/pub/a/2001/03/21/svg.html An Introduction to Scalable Vector Graphics] by J.D. Eisenberg, XML.com, 2001.
* [http://www.xml.com/pub/a/2001/03/21/svg.html An Introduction to Scalable Vector Graphics] by J.D. Eisenberg, XML.com, 2001.
* [http://www.webreference.com/authoring/languages/svg/intro/ Scalable Vector Graphics: The Art is in the Code] Eddie Traversa, Webreference
* [http://www.webreference.com/authoring/languages/svg/intro/ Scalable Vector Graphics: The Art is in the Code] Eddie Traversa, Webreference (2001)
* [http://www.adobe.com/svg/illustrator/interactivity_palette/index2.html Developer tutorials (incl. Dynamic SVG with JavaScript)], part of adobe's illustrator/svg zone
* [http://www.adobe.com/svg/illustrator/interactivity_palette/index2.html Developer tutorials (incl. Dynamic SVG with JavaScript)], part of adobe's illustrator/svg zone
* [http://www.kevlindev.com KevLindeV] Kevin Lindev's SVG site (tutorials and examples)
* [http://www.kevlindev.com KevLindeV] Kevin Lindev's SVG site (tutorials and examples)
* [http://www.webreference.com/xml/column49/ SVG - Open for Business], a (short) webreference.com tutorial
* [http://www.webreference.com/xml/column49/ SVG - Open for Business], a (short) webreference.com tutorial (2002)
* [http://www.oreilly.com/catalog/svgess/chapter/ch03.html Basic Shapes], chapter three of David Eisenberg's "SVG Essentials" O'Reilly book.
* [http://www.ibm.com/developerworks/xml/tutorials/x-svg/ Introduction to Scalable Vector Graphics] by Nicholas Chase, IBM developerWorks, 2004.
* [http://www.ibm.com/developerworks/xml/tutorials/x-svg/ Introduction to Scalable Vector Graphics] by Nicholas Chase, IBM developerWorks, 2004.
* [http://www.ibm.com/developerworks/library/x-svgclientside/ Create client-side diagrammatic interaction in Web applications with SVG] by Cameron Laird, IBM Developerworks, retrieved 18:39, 21 March 2011 (CET).
* [http://apike.ca/prog_svg.html Pike's SVG tutorial]


=== SVG with DOM ===
=== SVG with JavaScript and DOM ===


* [http://www-106.ibm.com/developerworks/xml/library/x-svgint/ Add interactivity to your SVG] by Brian John Venn, IBM developperworks article, Aug 2003. Good introductory SVG/DOM/JS tutorial.
* [http://www-106.ibm.com/developerworks/xml/library/x-svgint/ Add interactivity to your SVG] by Brian John Venn, IBM developperworks article, Aug 2003. Good introductory SVG/DOM/JS tutorial.
Line 178: Line 267:


=== SMIL Animation ===
=== SMIL Animation ===
(curently not supported by native Firefox SVG, but somewhat ok in Opera)
(as of fall 2011 supported in all modern browsers)


* [http://www.xml.com/lpt/a/2002/01/23/svg/index.html Digging Animation], by Antoine Quint, XML.com, 2002 (SMIL animation).
* [http://animateyourhtml5.appspot.com/ 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.
 
* [https://developer.mozilla.org/en/SVG/SVG_animation_with_SMIL SVG animation with SMIL] (Mozilla dev network). Ok, but too short as of March 2012.
 
* [http://wiki.inkscape.org/wiki/index.php/SVG_Animation SVG Animation] (Inkscape Wiki)
 
* [http://www.xml.com/lpt/a/2002/01/23/svg/index.html 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|example sites]]


=== Server-side SVG ===
=== Server-side SVG ===
Line 188: Line 285:
* [http://www.carto.net/papers/svg/serverside_svg_php_e.html Example for Serverside SVG generation with PHP] from the excellent carto.net website.
* [http://www.carto.net/papers/svg/serverside_svg_php_e.html Example for Serverside SVG generation with PHP] from the excellent carto.net website.
* [http://www.webreference.com/xml/column55/ Google SVG Search] a webreference.com XML column
* [http://www.webreference.com/xml/column55/ Google SVG Search] a webreference.com XML column
* [http://www.carto.net/papers/svg/samples/get_parse.shtml 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.
* [http://www.carto.net/papers/svg/samples/get_parse.shtml 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 ===
=== SVG and XSLT ===


* [http://surguy.net/articles/client-side-svg.xml Client-side image generation with SVG and XSLT] by Inigo Surguy
* [http://surguy.net/articles/client-side-svg.xml Client-side image generation with SVG and XSLT] by Inigo Surguy. '''Interesting'''
* [http://www.schemasoft.com/gcatools/gca2html/Output/05-05-02.html Graphical Stylesheets Using XSLT to Generate SVG ]by Mansfield & Fuller, Schema Software. Good article (BROKEN LINK)
* [http://www.xml.com/pub/a/2000/02/16/style/index.html?wwwrrr_20000216.ptxt Component-Based Page Layouts] xml.com article by Didier Martin showing how to embedd SVG in XHTML using XSLT processing
* [http://www.xml.com/pub/a/2000/02/16/style/index.html?wwwrrr_20000216.ptxt Component-Based Page Layouts] xml.com article by Didier Martin showing how to embedd SVG in XHTML using XSLT processing
* [http://www-106.ibm.com/developerworks/education/transforming-xml/xmltosvg/index.html Part 2: Transforming XML into SVG ] by Doug Tidwell /@IBM DeveloperWorks (Bar and Pie Charts)
* [http://www.topxml.com/snippetcentral/main.asp?view=viewsnippet&lang=codelib&id=v20020313183135 Using XSLT to produce SVG (3)] by Martin Rowlinson at TopXML (July 2004), Using XSLT to produce a simple pie chart from XML data (source code downloadable too)


=== Various articles (not classified) ===
=== Various articles (not classified) ===
Line 204: Line 298:
* [http://www.xml.com/pub/a/2001/09/12/svg.html Picture Perfect] xml.com, (2001)
* [http://www.xml.com/pub/a/2001/09/12/svg.html Picture Perfect] xml.com, (2001)
* [http://www.xml.com/pub/a/2003/07/16/svg-prescod.html SVG: A Sure Bet] by Paul Prescod, xml.com (July 2003)
* [http://www.xml.com/pub/a/2003/07/16/svg-prescod.html SVG: A Sure Bet] by Paul Prescod, xml.com (July 2003)
* [http://www.carto.net/papers/svg/comparison_flash_svg.html Flash and SVG comparison table] (by A. Neumann)
* [http://www.sun.com/software/xml/developers/svg/jsp/ JSP Technology and SVG]
* [http://people.westminstercollege.edu/students/d-b1649/opinions/avoid_flash.html Why to Avoid Flash], by Devin Bunker
* [http://www.dack.com/web/flash_evil.html Flash is Evil] by dack (not related to svg but food for thought)
* [http://www.dack.com/web/flash_evil.html Flash is Evil] by dack (not related to svg but food for thought)
* [http://www.carto.net/papers/svg/index_e.shtml Vector-based Web Cartography: Enabler SVGScalable Vector Graphics] (french & german version also available)
* [http://www.carto.net/papers/svg/index_e.shtml Vector-based Web Cartography: Enabler SVGScalable Vector Graphics] (french & german version also available). This is an early (good) propaganda article for SVG.
* [http://www.math.uoc.gr/%7Eictm2/Proceedings/pap442.pdf SVG - a new dimension in producing interactive netbooks] by Vladimir BATAGELJ and Matjaž ZAVERŠNIK (PDF article). This is an overview paper
* [http://www.math.uoc.gr/%7Eictm2/Proceedings/pap442.pdf 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 ==
== General SVG resource pages ==


* [http://inkscape.org/doc/ User Documentation] at Inkscape. Also includes some links to general SVG tutorials.
* [http://www.webdesignerdepot.com/2015/01/the-ultimate-guide-to-svg/ The Ultimate Guide to SVG], 2015
* [http://inkscape.org/doc/ User Documentation] at Inkscape. Mostly documentation for Inkscape, but also includes some links to general SVG tutorials, e.g. the [http://wiki.inkscape.org/wiki/index.php/SVG_Animation SVG Animation] in its own wiki.
* [http://www.datenverdrahten.de/svglbc/ 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.
* [http://www.datenverdrahten.de/svglbc/ 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.
* [http://wiki.svg.org/ wiki.svg.org] Help on Scalable Vector Graphics. (dead?)
* [http://pilatinfo.org Pilat Informative Educative ] [francais]. SVG - PHP - MySQL - Javascript. Le meilleur site français. Also includes an English variant with (less?) contents.
* [http://www.protocol7.com/svg-wiki/ SVG-wiki] some VERY good documentation, e.g. about viewer extensions like how to [http://www.protocol7.com/svg-wiki/ow.asp?AdobeSVGViewer pull/push data with Adobe's SVG DOM interfaces.] (dead link ?).
* [http://svg.pagina.nl svg.pagina.nl] Good '''dashboard''' page  page by Ruud Steltenpool. Many good links.
* [http://pilat.free.fr/ Pilat Informative Educative ] [francais]. SVG - PHP - MySQL - Javascript. Pleins de bons exemples (voir routines SVG), un éditeur SVG "through the web" intéressant, extraits de livres, etc. Le meilleur site français.
* [http://www.dmoz.org/Computers/Data_Formats/Graphics/Vector/SVG/ SVG Page at DMOZ] (for nostalgic people, when links pages were made by humans)
* [http://svg.pagina.nl svg.pagina.nl] Quick starters page by Ruud Steltenpool. (some of the links leads to code that won't work anymore in 2011)
* [http://www.dmoz.org/Computers/Data_Formats/Graphics/Vector/SVG/ SVG Page at DMOZ]
* [http://www.adobe.com/svg/community/external.html SVG external links] in Adobe's [http://www.adobe.com/svg/main.html SVG Zone]
* [http://www.carto.net/papers/svg/ carto:paperssvg] (A.M. Winter &amp; A. Neumann). VERY good SVG resources, examples, etc. Swiss made :) .... but less active since 2007 :(
* [http://www.carto.net/papers/svg/ carto:paperssvg] (A.M. Winter &amp; A. Neumann). VERY good SVG resources, examples, etc. Swiss made :) .... but less active since 2007 :(
* [http://www.w3.org/Graphics/SVG/Overview.htm8 W3C Scalable Verctor Graphics (SVG)]. This is the W3C SVG overview page (includes News and Pointers)
* [http://www.w3.org/Graphics/SVG/Overview.htm8 W3C Scalable Verctor Graphics (SVG)]. This is the W3C SVG overview page (includes News and Pointers)
* [http://xml.com/pub/q/sacresvg Sacré SVG], a XML.com column (not updated since 2005).
* [http://xml.com/pub/q/sacresvg Sacré SVG], a XML.com column (not updated since 2005).
* [http://www.svgopen.org/2011/ SVG Open] conference series. Usually, papers are open content.
* [http://www.svgopen.org/2011/ SVG Open] conference series. Usually, papers are open content.
* [http://dev.opera.com/search/?term=svg dev.opera] includes several good svg articles (including some good live examples)
* [http://dev.opera.com/search/ dev.opera] includes several good svg articles (including some good live examples, but you will have to search ...)
* [http://svgmagazine.com/ SVG magazine]. The quarterly publication covering technique, coding, art, reviews and more. So far, there are 2 issues - 18:45, 28 March 2012 (CEST).
* [http://www.ibm.com/search/csass/search/?q=svg&dws=dw&ibm-submit=Search&sn=dw&lang=en&cc=US&ddr=&en=utf&lo=en&hpp=20 IBM Developer Works] (search for "SVG" gives 709 results - 18:45, 28 March 2012 (CEST)).
 
== Communities ==
 
* [http://tech.groups.yahoo.com/group/svg-developers/ SVG-Developers] (Yahoo group)


[[Category: XML]]
[[Category: XML]]

Latest revision as of 18:40, 22 August 2016


Definition

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

Indexes for SVG tools

Editors and drawing tools with SVG support

Text (programming) editors with SVG support
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.
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

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

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

  • 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

  • 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

Online editors

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

Toolkits for programmers

(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

  • 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

Free Online Textbooks

  • 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.

Online references

(easier than looking at standards)

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

Books

  • 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

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

General

  • 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.
  • 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.
  • 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.
  • Grapher. A simple (math.) graph drawing program made with JS and SVG. (Read the help !)
HTML 5 demos that may include SVG

SVG Clipart

Code fragments

Tutorials

General overviews

Basic Tutorials

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

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

SVG with JavaScript and DOM

SMIL Animation

(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.
  • Digging Animation, by Antoine Quint, XML.com, 2002 (SMIL animation, most examples seem to be broken as of 18:45, 28 March 2012 (CEST)).

Server-side SVG

SVG and XSLT

Various articles (not classified)

General SVG resource pages

  • 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