Skip to main content

SVG Salamander

SVG Salamander is an SVG engine for Java that's designed to be small, fast, and allow programmers to use it with a minimum of fuss. It's in particular targeted for making it easy to integrate SVG into Java games and making it much easier for artists to design 2D game content - from rich interactive menus to charts and graphcs to complex animations.


  • Ant task to allow easy conversion from SVG to images from within Ant scripts
  • SVGIcon class greatly simplifies loading and drawing images to screen
  • A much smaller code foot print than Batik, and only one JAR file to include
  • Direct access to the scene graph tree. You can use Java commands to manipulate it directly.
  • An index of all named shapes in the SVG graph is easily accessible.
  • Picking shapes given (x, y) coordinates is possible, and can be used to implement graphical buttons selected by the mouse
  • Clip region sensitivity makes for fast rendering when only updating part of the image. This makes panning the camera quite efficient.
  • Easy rendering to any Graphics2D or BufferedImage. Unlike Batik, the SVG Salamander engine does not own the graphics context, so you can pass it whatever graphics context you like.
  • Internal and external links are implemented as URIs, which allows the engine to automatically import linked documents - even if they're stored on a remote server.
  • SVG can be read from an InputStream, so you can create documents dynamicly from an in-program XSLT transformation.

Projects using SVG Salamander

Here's a list of some projects that are using the SVG Salamander library.


In Progress

  • Animation is mostly implemented. You can use the player below to play SVG with animation elements.

Wish List

  • JavaScript support needs to be added. This will likely dovetail with adding support for relative times.
  • Filters need to be added.

Current status

SalamanderSVG is part of the Salamander project hosted on

I can be contacted at mark at kitfox dot com.


These programs provide the ability to read SVG files from your hard drive or the internet. If you're worried about security, these restricted versions will not.

Run the SVG Viewer (no animation)

Run the SVG Player (animation)


SVG Salamander is avaible both under the LGPL and BSD licenses.


Complete: Download complete SVG Salamander JAR

Tiny: Download unsigned JAR without resources


Download Javadoc

How to use SVG Salamander in your program


I have had two failed attempts to put SVG Salamander on Maven. I must say I find the system very difficult to use, particularly since my dev machine is MS Windows.

However (I have been told) others have posted SVG Salamander to Maven. Thanks to Willie Maller for one such posting. The following should be what you need to add SVG Salamander to your Maven project:

            <name>Internal Maven2 Repository</name>

I can't answer any Maven related questions. I really don't understand it and have spent too much time already trying to decipher their Byzantine rituals, so if the above doesn't work for you, you might need to upload a new project.


Please support the SVG Salamander project. I'm maintaining this code on my own, and any support I receive helps me make the project even better.

Currently, I'm not accepting any developers, but would be interested in any comments or questions about the code. Please sign up as an observer and subscribe to one of the mailing lists!

Please Confirm