We are happy to announce the deployment of Vector Tiles on OpenStreetMap Foundation servers and the publication of the layer on the OSM website! We have been working hard to bring you a fresh look to OSM data, paired with exciting technological upgrades.
Work has been progressing since last year. In June 2024 we shared progress, including the launch of the vector tiles demo site, as well as details on the technical background on the tools being used. Since then we have put the tile generation process through months of testing, focused on reliability and speed improvements, and gotten ready for full production use.
Read Full Blog Here:
https://blog.openstreetmap.org/2025/07/22/vector-tiles-are-deployed-on-openstreetmap-org/
Regards,
Brazil Singh
On behalf of the Communication Working Group
Great to see the progress — I’m sure the community will benefit from these deployed vector tiles!
Quick question: is there a place where we can track all UI changes made to the website?
I recently noticed a new “MapTiler MT” tile layer has been added, but I couldn’t find any announcement or documentation about it.
There also seem to be several visual changes — updated styling, new icons, small layout tweaks — but it’s hard to tell exactly what changed, especially since the website’s GitHub repository doesn’t have a CHANGELOG.md
or any kind of release notes.
Would it be possible to have a more visible or user-friendly way to track these changes?
I think that’s the intention of this thread:
Great news.
Could I suggest giving credit to the developers involved in the individual pull requests? It’s something that OSM announcements have done in the past, and the corporate “we” used here tends to gloss over that.
Is there an easy place to report issues? The blog post requires the potential bug reporter to figure out whether an issue is with “styles”, “tile generation”, or “tile content specification”, which is tough for people who’re not close to the project.
Asking because it looks like the new tiles don’t display arabic or hebrew lettering; and (on MapTiler OMT at least) construction sites don’t get displayed.
Edit to add:
- Old “Shortbread Demo” shows arabic and hebrew: https://vector.openstreetmap.org/demo/shortbread/#8.16/33.19/35.807
- Currently deployed production version of shortbread does not: OpenStreetMap
Edit again to add:
- I figured out that the best place to file these reports is not against the three tile projects, but against the deployment production site (since the error might be a config point, not a bug. Anywho, the arabic/hebrew bug is already reported.
Third edit to add:
- Arabic/Hebrew text is now present on the vector styles - issue 6231 linked above is resolved by a this.
- Issue with construction sites not appearing on MapTiler OMT has been reported here - hopefully in the right place. But according to responses to this it might be by design.
It’s great to see this finally being deployed. Now we have a lot of work to improve the tiles and style to get the vector based map to the quality we are used to from carto (and possibly beyond, lots of opportunities in all directions).
For example in my area, all 3 renderings look very different:
btw: attribution is always the same?
That’s a bug that has already been reported.
For anyone else not sure what the different parts of vector map creation are, I found Frederik’s post useful: Neue Vektorgrafik-Ebenen auf osm.org - #14 by woodpeck (in German, the forum should be able to auto-translate)
It might make sense to prepare an explanation like this in English, so that people have a better idea of how it works and where bugs should be reported
I suspect quite a lot of the “reportable bugs” might actually be well-known issues that result in trade-offs around performance, ease of use and accuracy.
It might make sense to mention things in a forum thread here or elsewhere before logging bugs for them, to avoid things caused by the same issue being logged multiple times.
With regard to the Shortbread Schema, it’s a great proof of concept but I suspect that OSMers will want more in it for a “standard map on osm.org”, so some of those conversations might be interesting.
The “easy bit” is actually iterating on the map styles - and there’s benefit of doing that even for the shortbread-based one (I believe that cuisine is in the tiles, but not shown, for example).
I would think a general explanation would be great to understand the differences to Carto. Like a FAQ, describing what to expect regarding data updates as well as “known bugs” aka design choices.
For example on Carto I see my changes instantly, though removed oneway=yes
from yesterday is still visible on the vector maps. Which is nothing I worry about.
The Map Layers sidebar offers two new featured layers based on vector tile technology:
Featured layer | Renderer | Style | Tile host | Tile configuration | Tile generator | Tile schema |
---|---|---|---|---|---|---|
Shortbread | maplibre-gl-leaflet | VersaTiles Colorful ![]() ![]() |
OSMF OWG | Spirit Shortbread | Tilekiln | Shortbread |
MapTiler OMT | maplibre-gl-leaflet | OSM OpenMapTiles | MapTiler | MapTiler | OpenMapTiles | OpenMapTiles |
Both of the new featured layers represents a whole technology stack separate from the ones that power the existing raster map layers. They even mix and match software that wasn’t originally designed to work with each other. If until now you thought a vector map is something from linear algebra, this probably represents more complexity that you’re used to. For comparison, here’s what an analogous stack looks like for a raster layer:
Featured layer | Renderer | Style | Tile host | Tile configuration | Tile generator | Tile schema |
---|---|---|---|---|---|---|
Standard | Leaflet | OSM Carto | OSMF OWG | OSM Carto | Mapnik | OSM Carto |
Humanitarian | Leaflet | HDM | OSM France | HDM | Mapnik | HDM |
In that setup, the style – what mappers often call “the renderer” – is where most of the action happens, while the other components are relatively mature. A vector map has more moving parts in different places, requiring coordination between multiple teams of developers, and a lot of these components are in active development with lots of room for improvement.
The following table gives some likely starting points for certain kinds of issues as a rule of thumb. However, what looks like a simple issue could turn out to be a series of unfortunate events scattered up and down the stack. So if you spot an issue in one of the new featured layers, it may be due to a limitation “upstream”, as developers like to say. Please be patient with them as they sort out what’s blocking a fix.
Component | Example issue |
---|---|
Device | “Vector map tiles are displaying very slowly” “Fan of my laptop scared cat on alley outside” (vector tiles are expected to require more resources to render in browser than raster tiles) |
Renderer | “The map is glitching on my phone but not my computer.” “Vertical Japanese writing looks garbled.” |
Style | “Paths need more contrast against woods.” “The icon for fast food doesn’t look delicious enough.” “The font is too small.” “Trunk roads are present in the tiles at z10 but aren’t visible.” |
Tile host | “The tiles take too long to download.” “I mapped this road an hour ago but it hasn’t shown up yet.” “My website can’t access the tiles.” |
Tile configuration | “The schema says highway=path2 should be in the tiles but it isn’t.” “Roads are disconnected at tile edges.” |
Tile schema | “highway=path2 should be in the tiles.” “Trunk roads should be in the tiles at lower zoom levels.” |
for “Example issue” I would add
Component | Example issue |
---|---|
Device | “Vector map tiles are displaying very slowly” “Fan of my laptop scared cat on alley outside” |
as vector tiles move part of work to the user machine, resulting in higher hardware requirements to show the same map.
Answer is here partially “optimize renderer/drop part of data/simplify data more” and partially “you need to get a new device to support the same use case” (though maybe partial upgrade or cleaning dust from fan cover may also help).
Note also that some issues like “I want to see labels in XYZ language but I get in ABC language” can be present at multiple layers. Maybe tile schema decided to not include it, maybe tile configuration dropped it, maybe tile host misconfigured data import, maybe style shows all labels in local language (name
tag), maybe renderer displays wrong label somehow (ok, last one is probably really unlikely).
The Shortbread layer is based on the OSMF-hosted tiles. The tile server is brand-new and there’s no SLA, but it’s designed to have a turnaround time of minutes. If you’re seeing more lag than that, the tile generator might be backlogged or there might be a caching issue.
The MapTiler OMT layer is based on MapTiler’s commercially hosted tiles. They update their tiles “roughly every 2–3 weeks” for their customers, so I’d assume something similar for this tileset.
I made the post a “wiki post” so folks can correct and add to it as needed. We should probably make a more comprehensive guide to these concepts on the actual wiki at some point.
given that you have not protested about style, I added it to your post
feel free to trim/delete/rephrase
One exciting facet that I’ve not seen anywhere in these announcements - the language button on the top bar of osm.org now affects the labels on the map itself!
E.g. if you go here - and swap between English and Cymraeg (Welsh) using the
button, you get streetnames like “Ffordd Wellington” or “Wellington Road”.
That’s because this feature isn’t implemented for the OSMF provided tiles, as the shortbread schema doesn’t really have multi-language support.
(only three fields: name, name_en and name_de)
For the MapTiler layer that feature has existed for seven years.
It’s new to osm.org though - I don’t think there was even a language button there a few weeks ago. (EDIT: it’s now mentioned as a new feature here, thanks to Minh_Nguyen)
Not meaning to disparage the trailblazers who had the tech working since 2017!
One more thing is that it’s not easy for people who spot errors to know which layer it’s happening in.
For example oneway=yes on highway=service doesn’t seem to render in Shortbread tiles on OSM.org right now. That could be tile configuration or tile schema or the style. Conceivably it could also be the tile generator, though that seems unlikely? And I’m guessing it’s not the renderer because OMT uses the same renderer and does show the one-way arrows.
Similarly shop=bakery doesn’t render in OMT (not even an address, although it is tagged), but does in Shortbread. Is that because of the style, or because it’s not in the tiles?
And third case, shop=deli renders with an icon in OMT, but Shortbread only shows a house number. Is it because shop=deli tag was dropped during tile generation, or because Shortbread doesn’t specify an icon?
Is there something like a debug style that shows everything that’s in a vector tile? Is that even feasible?
It’s useful to take this as a worked example…
With OSMF’s Shortbread tiles, you can look at a different map style pointing at the same vector tiles. I used taginfo and overpass to find an example local to me, and then used this map style (one of mine) to browse to the same place. In the other map style, the oneway arrows appear, so the data is definitely in the Shortbread vector tiles.
There’s also a debug map style which tries to show “everything in every layer”**. With that you can hover over each data item and see all the attributes.
** Edit: But not “at every zoom level”, which makes it not great for debugging the “capital cities” problem mentioned elsewhere.
On the other hand, I did not find an option to not prefer any specific language, I can decide whether to have everything in the same language, but if I want German names in German, Italian ones in Italian and French ones in French, there is no option yet.