PMTiles is a serverless vector tile archive for web maps. A single file contains all tiles accessible via HTTP range requests. Ideal for hosting on S3, CloudFlare R2, GitHub Pages without a tile server.
Key Features

About PMTiles Format
PMTiles is an archive format in which a whole set of tiles sits in one file with an internal index. The browser does not download it as a whole: it requests the pieces it needs with HTTP range requests, which any static hosting can serve — S3, Cloudflare R2, GitHub Pages, plain Nginx.
Hence the main benefit: the map works without a tile server. There is no service to set up, watch over and pay for — the file simply sits next to the site. For a prototype, an internal dashboard or a project that has to outlive the shutdown of a third-party map service, that makes life noticeably easier.
Inside the archive are MVT vector tiles, that is geometry with attributes, and the appearance is set by a style on the client side. The export builds the pyramid up to zoom 12: beyond that encoding the tiles becomes too expensive, and if you asked for more, we honestly report the limitation and suggest MBTiles. For the same reason the exporter rejects very dense areas straight away rather than after a long wait: a short, clear refusal is better than a stuck job.
What Program Opens PMTiles Files
The following programs and applications can open, edit, and work with PMTiles (.pmtiles) files exported from OSM2CDR:
Format specifications
- Open standard
- 2D only
- Lossless (no quality loss)
- Stores feature attributes
- Output: 1 file
- PMTiles single-file vector tile archive. Serverless deployment: drop on S3/CloudFront, range-request playback in MapLibre.
Who Uses PMTiles Maps
How to Export PMTiles
How to Open After Export
- PMTiles Viewer (pmtiles.io) — drag the file into the browser and see the contents right away: bounds, zooms, layers inside the tiles. The file is not uploaded anywhere in the process.
- MapLibre GL JS — add the pmtiles library, register the protocol and point at a source of the form pmtiles://https://your-domain/map.pmtiles, then describe the layers in style.json.
- Static hosting (S3, Cloudflare R2, GitHub Pages, Nginx) — put the file next to the site; make sure the server serves range requests (Accept-Ranges) and CORS headers if the domain is different.
- go-pmtiles — a command-line utility: pmtiles show displays the metadata and zooms, pmtiles convert turns the archive into MBTiles and back.
- QGIS — recent versions open PMTiles as a vector tile source through GDAL; convenient for a quick check that the data is in place.
Popular maps in PMTiles
Get PMTiles map exports
Download professional PMTiles maps from OpenStreetMap. Instant generation, any area.
Frequently Asked Questions
Compare with Other Formats
Related Formats
Frequently Exported Together
Related Articles
PMTiles — Single-File Cloud Tile Archive for Serverless Maps (Protomaps)
PMTiles is a single-file Protomaps container for vector/raster tiles with HTTP range request reading: serverless map hos
tutorialWeb Mapping with Leaflet and MapLibre GL JS: Developer Guide
Building interactive web maps: Leaflet vs MapLibre GL JS, tile layers, GeoJSON, custom styles, PMTiles for offline.
guidePMTiles: Cloud-Native Tile Format for Modern Maps
What is PMTiles, how it differs from MBTiles, usage with MapLibre GL JS and Leaflet. A guide to cloud-native maps.