Skip to main content
Web maps, finally made simple
Maps on the web shouldn't be bloated or complex, and hosting maps shouldn't involve expensive APIs, maintaining databases, or vendor lock-in.
Protomaps is web mapping made simple and flexible for projects of all sizes.
Make and host a map 🗺️ of anywhere on Earth in just a few minutes

🗺️ Vector maps

Protomaps is a mapping system based on vector tiles. That means maps are customizable, ready for Retina displays, and multilingual. Lines and text look super sharp on mobile.

📝 One-liner integration

Protomaps.js is an open source, sub-30 kb renderer that works great by itself or plugged into to Leaflet, the developer favorite for interactive maps and plugins.

🛠️ Self-hosted service

PMTiles is a self-hosted map data backend - and makes self-hosting dead simple, as easy as uploading to S3. Self-hosted area maps are low cost, serverless and zero maintenance.

🌐 Global map CDN

If self-hosting isn't for you, use our Map CDN for low-latency maps and one less component to worry about. Simply get a free API key or subscribe monthly (coming soon)

💚 Free tier API for light use and non-commercial projects

A fast & lightweight library for locator maps, easy on page size
On GitHub ›

Customizable via plain JavaScript for map labels, patterns and colors
Browse premade themes (Coming soon)›

Leaflet layer plugin for geodata mashups and interactivity
View gallery ›

Low-code integration with PostGIS, Observable, d3.js and more
Examples ›

Frequently Asked Questions

Where does the map data come from?+

Protomaps is a cartographic product built on OpenStreetMap data. Displaying a map requires attribution as described by the Open Database License. You can download the complete OSM dataset at planet.openstreetmap.org; it's free and open source.
Protomaps data is a processed result of the OSM dataset for efficient map display, including:

  • Slicing of geometric features into tiles
  • Simplifying or eliminating features at zoomed-out views (generalization)
  • Organization of features into layers
  • Computation of label prominence and positions

The public domain Natural Earth dataset may be used in limited situations for generalized features.

How often is the map updated?+

If you download a pack of map-ready tiles in PMTiles format, or raw OSM data in PBF format, this will reflect the minute-level state of OpenStreetMap. This quick update frequency is meant to encourage data additions and edits as you use the map. The easiest way to edit the map is with an account on osm.org and the web editor (iD).

If you use the API, this map is updated infrequently, on the order of 1-2 months. In the future, map data from the API will be updated at fixed release intervals, like 2021-08, 2021-10, etc.

Is Protomaps open source?+

Some core parts of Protomaps are open source; these are all available on GitHub, including:

  • The protomaps.js map rending library (BSD License)
  • The PMTiles format and libraries (specification public domain/CC0, implementations BSD)
  • The OSMExpress OpenStreetMap storage engine (BSD)

Other parts are not, such as the map tile API, the tile generation infrastructure, and this website. You are encouraged to mix-and-match the above components with other services and projects.

In what ways is this simpler than alternatives?+
  • Protomaps.js is a renderer focused only on the web browser. It takes maximum advantage of browser-only features like Canvas2D and Web Fonts. There isn't a native version for iOS and Android, but there are Alternate Renderers.
  • The renderer does not use WebGL or Web Workers. This accomplishes vector map and text rendering with orders of magnitude less code. It also means map display is limited to 2D discrete stepped zoom levels and not a smooth, 3D "infinite zoom" experience. If those are vital for your project, again check out Alternate Renderers.
  • Protomaps as a whole is designed with minimal dependence on a 3rd party server to reduce vendor lock-in. It can even be used without a dynamic backend at all, making it ideal for long-lived projects where subscribing to an external API is undesirable.
What about location services other than map rendering?+

Protomaps is focused only on map display; its tiled data formats are not sufficient for other tasks like searching for place names and addresses (geocoding) or determining paths between points (routing). Other OSM-based projects we recommend:

A Note From the Author

I've spent the last decade building web maps and apps for companies and NGOs. While there's a wealth of free data like OpenStreetMap, creating maps and putting them on the web was far from affordable or straightforward. Thus I set out to build the map system I wanted to use myself.

I decided to do this as a self-funded indie project. Mapping has been driven by software designed to sell advertisements or drive investor-preferred monetization models, which has stifled innovation.

Maps are a critical part of the web and interacting with the physical world. Despite this, the ability to make and publish web maps has been the scarce domain of a few internet giants - so let's change that, starting from the bottom up. If you're curious about whether this is a fit for your project, send me an email!

- @bdon