Google Maps Alternatives

OpenStreetMap alternatives for maps and navigation.

Like many, I am trying to reduce my dependence on Google. Google probably has the best map applications (web and mobile) of all. Due to their nature, mobile maps work better with precise real-time location data. Not something I am comfortable sharing with giant faceless corporations.

Most Google Maps alternatives are based on OpenStreetMap. Think of OpenStreetMap as Wikipedia for maps: everyone can update the map, and the data is available under a permissive license. In many locations OSM data is denser than Google’s, even Apple uses OSM data to some extend. OpenStreetMap does not have a mobile app.

Apple Maps

iOS, web

This brings us to the first GMaps alternative, the pre-installed map application on iPhones and iPads. Apple Maps has improved a lot over the years and deserves a look if you use iOS. It’s fine for car navigation but not so for cycling or walking directions. Search is not even close to Google’s. While it does an adequate job this merely swapped one tech giant for another, not a real solution, is it?

Organic Maps

OrganicMaps iOS screenshot

iOS, Android, F-Droid

OrganicMaps is one of my personal favorites. A fork of Maps.me—which was great until it went completely of the rails a few years ago—, OrganicMaps is pure OpenStreetMap in mobile app form. It’s open-source, does not have ads nor tracking, and works offline. It even has a basic OpenStreetMap editor built-in! This is my go-to app for cycling & walking directions or while traveling abroad to limit data use. Offline means it’s noticeably faster. Their search could do better, it’s as bad as OpenStreetMap's: results from hundreds of kilometers away often show up before the shop down the street. It also doesn’t have real-time traffic so it’s less useful for in-car navigation and public transport directions are limited to subways.

Magic Earth

Magic Earth iOS screenshot

iOS, Android

I recently discovered Magic Earth. The OrganicMaps for car navigation: it has offline maps but doesn’t require you to download them upfront (like OrganicMaps’). Magic Earth does have real-time traffic data, though limited: their crowd-sourced traffic data simply doesn’t have a large enough user base. Public transport is supported but coverage varies. Magic Earth has the look and feel of Apple Maps but with full offline OpenStreetMap data. Combined with OrganicMaps it covers all my mobile navigation needs.

It has an “AI” dashcam feature with collision and lane detection which I haven’t tried yet.

OsmAnd

OsmAnd iOS screenshot

iOS, Android

OsmAnd is the Swiss army knife of mobile mapping apps. Offline, open-source, and with OSM editing built-in. OsmAnd can also open or record GPX tracks. It even supports different styles so you can have a road map for car navigation but switch to a topographic map when hiking. OsmAnd is free but some features are paid extras.

OpenRouteService

Web

OpenRouteService deserves a mention here. The map is the same as OpenStreetMap website, but their routing is top-notch. There are specific routing profiles like e-bikes, tucks, or wheelchairs and you can exclude regions you want to avoid. I use this often for planning a trip.

Privacy Redirect add-on

Firefox, Chrome, Edge

Many websites have Google Maps embedded. This means you still share data with Google, even if you don’t directly use it yourself. Enter Privacy Redirect by Simon Brazell, a browser extension that transparently replaces Google Maps with OpenStreetMap. Most of the time I don’t even notice it’s installed but there is the odd broken site, for those, you can simply disable the add-on.

Google Streetview

I haven’t found any good alternatives for Google Streetmap yet. Apple is trying but their coverage is light years behind if you don’t live in a major metropolitan area. Then there are Mapillary and KartaView (previously OpenStreetCam) that take the crowdsourced dashcam approach. Since (most) photos are not taken with a 360° camera their usefulness is limited.

This post is open source. Did you spot a mistake? Ideas for improvements? Contribute to this post via Github. Thank you!