Skip to content

Repository files navigation

MapSplat

Export QGIS projects to self-contained static web maps — PMTiles + MapLibre GL JS.

QGIS License Version

MapSplat is a QGIS plugin that exports your project layers to a self-contained web map you can host on any static target — a web server, cloud storage, or your local machine. No tile server, no backend, no additional stack. Your QGIS styling, labels, and layer order are preserved.

This project targets QGIS 4.x and is written almost entirely by AI.

Your QGIS project The exported web map

Quick start

  1. Install — download the latest mapsplat.zip from Releases and add it in QGIS via Plugins → Manage and Install Plugins → Install from ZIP. For offline basemaps and raster export, also put the pmtiles CLI on your PATH (not needed for basemap Stream mode).
  2. Style your layers in QGIS as you want them online, and zoom to your starting view.
  3. Open the MapSplat dock and tick the layers to export (Inputs tab).
  4. (Optional) Enable a basemap and keep the max zoom small to start (Options tab).
  5. Export, then open the output folder and run python serve.py — your browser opens the map.

Full walk-through with pictures: User Guide · screenshot tour: Gallery.


Documentation

Doc What's in it
User Guide Step-by-step: prepare → export → view → deploy, with Caddy/nginx config
Features Everything MapSplat does (export, styling, tools, tiles, basemaps)
Basemaps Protomaps, XYZ providers, and the extract cache
Hosting & self-hosting scope What's bundled (PMTiles) vs streamed live, and how to serve it
Troubleshooting Common issues and fixes
Limitations Known gaps and unsupported symbology
Screenshots Annotated tour of the plugin and viewer
Changelog Release history
Tutorial script Storyboard for a demo video
Roadmap / backlog What's planned next
Design archive Historical planning & design notes

Requirements

Requirement Version Notes
QGIS 4.0+ This project targets QGIS 4 (Qt6)
GDAL 3.8+ PMTiles via ogr2ogr; MBTiles driver needed for raster export
Python 3.9+ Bundled with QGIS
pmtiles CLI any Basemap bundle mode + raster export (not Stream mode)

Installation

From ZIP (recommended): download mapsplat.zip from Releases → QGIS Plugins → Manage and Install Plugins → Install from ZIP → restart QGIS.

From source (development): clone the repo and copy/symlink the plugin folder into your QGIS profile's python/plugins/ directory, then enable it in the Plugin Manager.


Contributing

Issues and PRs welcome. Please keep changes small and focused; the plugin follows a security-first, QGIS-4-only baseline. See the roadmap for planned work.

License

GPL-2.0-or-later — see LICENSE.

Credits

Built on Protomaps (PMTiles), MapLibre GL JS, GDAL/OGR, and QGIS. Basemap tiles © OpenStreetMap contributors.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages