Try it on mapforge.org · Self-host · Changelog · Contributing
Create individual maps for your places, tracks and events, and share them in real time.
See the demo map here
Mapforge is an open source GIS web application. Create and share your places, tracks and events as GeoJSON layers on different base maps, with MapLibre GL JS on desktop and mobile. Changes are synced live to all clients.
- Create maps with your own data on top of various available base maps.
- 3D terrain, hillshade, contour lines and globe projection
- Draw shapes and style them: Add pictures, customize colors, symbols, labels, (3D) polygons, indoor maps and more. The style attributes extend the GeoJSON / Mapbox simplestyle spec.
- Import and export GeoJSON, GPX and KML
- Search places and addresses, including the features of the open map
- Integration with Overpass API for custom OpenStreetMap queries
- Plan routes for walking, bike and car with openrouteservice, with elevation profile and route color coding by steepness or surface
- Real-time collaborative editing, changes sync to every connected client over WebSockets
- Share maps and embed on your own web page
- Desktop and mobile UI
- PWA support by default, ships as an Android app via Bubblewrap
- Record GPS tracks with the built in µlogger API
- Login with Google, GitHub or OSM OAuth, no auth system to maintain
- Self-host with ready-to-use Docker Compose file
- No ads and no tracking
| Mapforge | uMap | Google My Maps | Felt | |
|---|---|---|---|---|
| License | AGPL v3 | AGPL v3 | proprietary | proprietary |
| Self-hosting | yes, Docker Compose | yes | no | no |
| Real-time collaboration | yes | yes, opt-in | through account sharing | yes |
| Vector base maps, 3D terrain, globe | yes | no, Leaflet 2D | no | no |
| Routing with elevation profile | yes, with ORS key | no | directions only | no |
| Import formats | GeoJSON, GPX, KML | CSV, GeoJSON, GPX, KML, OSM | CSV, XLSX, KML, GPX, Sheets | Shapefile, GeoTIFF, CSV |
| Emoji markers | yes, emoji + Pinhead | yes, icon symbol field | no, icon images only | yes |
| Photo upload | yes, max 5 MB | no, image URL only | yes | yes, with EXIF position |
| Live GPS track recording | yes, µlogger API | no | no | yes, field app |
| Mobile app | PWA and Android app | responsive web only | view only, no edit | iOS and Android |
| Interface languages | English, German | 47 languages | Google account language | English |
Mapforge is a map editor, not a full GIS suite. These functions are missing today:
- No spreadsheet import. Mapforge cannot read CSV or XLSX, and it cannot geocode a list of addresses.
- No Shapefile, GeoPackage or GeoTIFF import.
- No spatial analysis. There are no buffers, no joins between layers and no data driven classification.
Mapforge is a Rails 8 application. It uses Mongoid on MongoDB for persistence, Redis and Action Cable for live sync, Importmap with Turbo and Stimulus for the frontend, and MapLibre GL JS for the map.
- DEVELOPMENT.md explains the local setup.
- CONTRIBUTING.md explains the workflow for bug reports, code and translations.
- GitHub Discussions is the place for questions and ideas.
Mapforge uses the AGPL v3 license. See THIRD-PARTY-LICENSES.md for the licenses of the bundled open source projects.