Last version: 0.02 - Last site update: 2010-12-11

Site index

About libmsvg
Software repository
Help & contributions


SVG standard
Expat 1.2
DJGPP compiler
Mingw compiler



About libmsvg

libmsvg is a work in progress to make a minimal and generic C library for read and write SVG files.

SVG stand for Scalable Vector Graphics and it is a standard defined by the World Wide Web Consortium. See

Motivation. If you have a little C graphic program and you want to add read/write raster image capabilities, you can use libjpeg for the JPEG format or libpng for the PNG format. But, what if you want to read/write vector image files? The most widely used format for that is SVG, but there isn't a canonical C library for this format.

The problem. SVG is a very big and complex format so it is usual that libraries for manage SVG images are very big too and not generic. This problem is what libmsvg wants to address, it wants to be a generic SVG C library, and concentrate in a small subset of SVG to be useful. The current release is in a very early stage, but it is usable now, and you are welcome to contribute if you want.

Supported platforms

libmsvg is programmed in ANSI-C, so it must compile in every plattform, you only have to build the makefiles. We provide the makefiles for these three supported platforms:


libmsvg only depends of libexpat 1.2 (, but we include our own copy of the expat library, so there are no dependencies at all.



Latest release

libmsvg 0.02
  Tar.gz format: libmsvg0002.tar.gz (95452 bytes)
Zip format: (111347 bytes)
MD5 sums:   566a020d113763d782b97e53552ee708 libmsvg0002.tar.gz

Older releases

libmsvg 0.01
  Tar.gz format: libmsvg0001.tar.gz (73045 bytes)
Zip format: (87510 bytes)
MD5 sums:   99b78108f4bcd36b8ed5f86c729d498c libmsvg0001.tar.gz

Software repository

libmsvg is in github, so you can clone, fork or see the latest changes in the source:

Help and contributions

Do you need help or want to contribute?, please use the forum:
Or send me a mail:
malfer at telefonica dot net