Memphis (Link) is a map-rendering application and a library for OpenStreetMap written in C using eXpat, Cairo and GLib. It's licensed under the terms of the GNU Lesser General Public License.


Stable Version 0.2.3

Download: memphis-0.2.3.tar.gz, mirror

Changes since 0.2.2:

  • Remove bashisms from
  • Vala example: Fix circular libmemphis dependency (Łukasz Jernaś).
  • Fix a segfault in the rules parser on big-endian machines.
  • Install the default rules set (default-rules.xml).
  • Fix the parsing of doubles in certain locales.
  • Sync the default rules set with the champlain demo.

Stable Version 0.2.2

Download: memphis-0.2.2.tar.gz, mirror

Changes since 0.2.1:

  • Add Vala bindings and a Vala example.
  • Make MemphisRuleAttr a GBoxed type. (Emmanuel Rodriguez)
  • Declare MemphisRuleType as a real GEnum. (Emmanuel Rodriguez)
  • Bugfixes and documentation updates.

Older versions can be found in the ReleaseArchive.

Development Version

The development version can be accessed from our Subversion repository.

svn co memphis

Current development efforts are listed on MemphisDevel.



LibMemphis provides a GObject based API to render OpenStreetMap data on a cairo surface. Libmemphis implements the 'Slippy Map Tilename' specification, like Mapnik and Osmarender. It supports zoom level 12 to 18, projected with the Mercator projection.


Online API documentation

Laguage Bindings

Libmemphis includes language bindings for Vala and Java-Script through gobject-introspection.



Main objectives of Memphis are to directly rendering PNGs with a low memory overhead. In addition Memphis should be portable and fast.


London Z13 Winterthur Z14
London Z11 Tile at Z13 Winterthur Z12 Tile at Z14
Last modified 4 years ago Last modified on Jun 20, 2010, 3:41:11 PM

Attachments (2)