Now that we covered the basics of the SVG internals, we will take a look at some tools to work with SVG files.
With the advent of IE9, finally all major browsers will support SVG: Internet Explorer 9, Mozilla Firefox, Safari, Google Chrome and Opera. On mobile devices with Webkit-based browsers (iOS and Android, mostly) browsers, too, support SVG. On older or smaller devices chances are, that SVG Tiny has support.
One of the most important tools for a graphics format is a decent drawing program. Inkscape offers state-of-the-art vector drawing, and it's open source.
Moreover it uses SVG as its native file format. To store Inkscape specific data, it extends the SVG file with elements and attributes in a custom namespace, but you can also choose to export as plain SVG.
Before Adobe acquired Macromedia, it was the most prominent promoter of SVG. From this time stems the good support of SVG in Illustrator. However, the resulting SVG often shows some quirks, that make it necessary to post-process it for general applicability.
Batik is a set of open source tools under the roof of the Apache Software Foundation. The toolkit is written in Java and offers almost complete SVG 1.1 support, as well as some features that were originally planned for SVG 1.2.
Apart from a viewer (Squiggle) and a rasterizer for PNG output, Batik also offers an SVG pretty printer to format SVG files and a TrueType-to-SVG-Font converter.
Together with Apache FOP Batik can transform SVG to PDF, too.
To create a raster image from an SVG source there exist several projects. ImageMagick is one of the most famous command-line image processing tools. The Gnome library rsvg is used by the Wikipedia to raster their SVG graphics.
Drawings from Google Docs can be exported as SVG.
The well-known plotting tools xfig and gnuplot both support exporting as SVG. To render graphs on the web JSXGraph supports VML, SVG and canvas, automatically deciding which technology to use based on browser capabilities.
In GIS (Geographic Information System) applications SVG is often used as both storage and rendering format. See carto.net for details.
The W3C offers a list of programs that support SVG.