New Strava Heatmap Extension for iD

I’ve been using @ezekielf ’s JOSM Strava Heatmap browser extension for a while, and it has been an invaluable tool.

However, iD lacks a custom Overlay URL mechanism, limiting the visibility of the heatmap to a background layer only.

Considering the complexity of the current URL mechanism and limitations in iD, and after consulting with @ezekielf, I’ve decided to take up the challenge and develop a separate Chrome extension that focuses on iD and simplifies the process.

I believe it will make it easier for iD users to access the Strava Heatmap, so I’m excited to share this extension:

I kindly welcome any feedback, suggestions, or concerns you may have regarding this extension. Your input is highly appreciated and will help me further improve its functionality and usability.


  • As a new Chrome developer, it may take a few months for the extension to become trusted. Consequently, you may see a message stating “This extension is not trusted by Enhanced Safe Browsing.”
  • The open-source code for the extension can be found in the following GitHub repository: GitHub - cmoffroad/id-strava-heatmap-extension


As a frequent user of iD and Strava Heatmaps for OSM mapping, this looks very useful. Unfortunately I generally use Firefox but hopefully this will be a neat tool for Chrome mappers.


I will be able to create and share a Firefox Add-On without additional efforts when they fully support Manifest V3, hopefully later this year.


I finally tried it, so great! Now the heatmap can be used on top other imagery, thanks!

Great addition. I frequently use Strava Heatmap, and spent a lot of time navigation through different backgrounds to confirm what I’m mapping.

I usually use the gray color (which isn’t really gray) and set opacity at 80% with the JOSM Strava Heatmap. However, because you can’t toggle on/off the heatmap in this add-on, you will have to manually uncheck the overlay if you need to see what’s behind the heatmap. Here’s an example:

You still have to switch between backgrounds with the ‘old’ add-on, but with that you could easily to that by pressing ctrl + b. Because you can’t really see what you’re doing while the Heatmap is on, this new add-on could potentially me the most useful for identifying badly mapped roads or paths in forests etc. I also think that the ‘hottest’ part in the heatmap doesn’t have enough contrast to the OSM data, so it can be tricky to quickly spot if there’s unmapped paths or roads. The dark red for the less hot areas is also hard to spot if the background image is quite dark as well (the grey color uses a light beige).

Since I’ve slogged up these forest routes on steep terrain many times I looked there and it’s evident that gps traces here are even worse than bare mountain terrain changing from slim to broadly distributed.

One of these I corrected because my bike gps kept telling me it wanted ‘finding new route’ putting me in the gorge rather than on the road. Even now I’d say it’s by approximation and not 90% accurate. Trees warp gps too and compound the problem in areas.

1 Like

In general, low gamma should make these tracks more visible. This only seems possible in JOSM?

1 Like

Are you concerned about Strava Heatmap or GPS accuracy in general? Admittedly, GPS traces don’t always align perfectly with reality, but having that data is still preferable to having none.

@Oskarst, @whb: Appreciate your valuable feedback!

I totally get the struggle with seeing what’s beneath the heatmap. I’ve been toggling the overlay manually too.

Considering solutions:

  • Experiment with a different color (e.g. grey as you suggested).
  • Add a slight transparency to the overlay.
  • Introduce a keyboard shortcut for toggling the overlay.
  • Explore customizable options for users.

I’ll run some tests and share my findings here.

1 Like

The heatmap averages out inaccuracy in most cases, as long as there is enough “heat.”

A couple of things to keep in mind however, the heatmap is essentially a low pass filter, so sharp turns are smoothed a bit, but not so much as to be a concern. The other thing that sometimes comes up is that on roads, sometimes cyclists travel in one direction predominantly (e.g. if most cyclist prefer doing a certain loop in a clockwise direction), therefore the side of the road that corresponds to that direction of travel will have more “heat” than the other - but one should be able to visually detect a bimodal distribution of the heat, and align the way in the middle of the two modes.

Also note that orthoimagery can be off, and that is especially true in areas with high relief.

1 Like

definitely, it is common, and where the heatmap is useful, because it doesn’t suffer from this kind of distortions


Correct, and the magnitide and direction of the error can vary quite a bit over a relatively small distance. In otherwords, just because you determine an offset in a given location, doesn’t mean that offset is valid at a location 100 meters away.

Also, as providers, such as Bing, update their imagery, the magnitude and direction of the errror is likely to change as the satellite look angle is likely to be different, and thus offsets that were valid a year ago, may not be valid today.

One source that appears to be very accurate is the USGS 3D Elevation Program Data (in the US). I am told that its horizontal accuracy is “within one meter.” If the trail is worn into the ground, or cut into a hillside, it may show up in this data. JOSM has a hillshade of this data available.


Sadly, this does not prevent people using iD from turning a Z into an S, where the aerial and the DTM (digital terrain model) show a Z. Wonder what is there on site? Just an anecdote, indeed, not much of a problem.

Perhaps, if this is not the case already, the iD editor add-on should allow for heatmap transparency, so either aerial or DTM shine through. As a JSON user, I always turn down heatmap to 50% opacity or so.

Even many GPS readings can be wrong :wink: GPS can be accurate to several centimetres, but you have to connect to a separate source for deviations and wait from a few minutes to quarter hour for a single reading then, so I was told.

Thank you for sharing your input. After conducting several tests, I’ve reached the conclusion that the optimal approach is to make the various Strava Heatmap options accessible to the user. A one-size-fits-all solution isn’t feasible for all use cases.

Based on the mockup provided, my suggestion is to implement a dedicated Strava Heatmap menu. This menu would open a comprehensive panel featuring:

  • A toggle for turning the heatmap on/off with a corresponding keyboard shortcut.
  • An option to modify Activity Type.
  • An option to adjust Heatmap Color.
  • An option to fine-tune Heatmap opacity levels.

All changes made to these options would be stored locally, ensuring consistency for your next visit.

If this aligns with your preferences, please inform me. Implementing this will require some effort, so the changes won’t be immediate.