PeakNav
| PeakNav | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Author: | Francesco Bonazzi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| License: | GNU GPL (free of charge) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Platforms: | Android, Windows, macOS, and Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Status: | Active | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Version: | 1.2.0 (2026-08-05) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Languages: | English, German, Italian, French, Spanish, Portuguese, and Norwegian
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Website: | https://peaknav.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Install: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Source code: | Upabjojr/PeakNavApp GitHub | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Programming language: | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
3D mountain viewer for offline usage. Keywords: 3D, hiking, outdoor, map viewer, OSM viewer, OpenStreetMap. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

PeakNav is an open source app, currently supporting Android and desktop computers running Windows, macOS or Linux, to view the world mountains in 3D and display OpenStreetMap data on top of the 3D view, as well as satellite imagery.
The focus of PeakNav is to allow users to download all local data on their devices, so that the app can be used while hiking even without internet connection.
PeakNav allows peak identification and projects ways and paths on top of the mountains, easing the exploration of routes with full 3D view of the surrounding area.
Features
- Peak identification — named summits from natural=peak are labelled in the 3D view, including over a photograph taken with the device camera.
- Offline by design — map and elevation data are downloaded per region and stored on the device; no connection is needed once an area has been fetched.
- OpenStreetMap overlay — ways, paths and place names are draped onto the terrain, so a route can be followed against the shape of the landscape.
- Satellite imagery — OpenStreetMap data can be overlaid on NASA/USGS imagery instead of the plain shaded relief.
- Area labels — named areas such as islands, cities, regions and mountain ranges are labelled in the 3D view, appearing at a distance proportional to their size and relevance.
- GPX tracks and tours — recorded tracks can be loaded and drawn over the terrain, and the camera can fly along a track as a cinematic tour.
- Orbiting — the camera can orbit around any pinned point, circling a summit or a valley to view it from all sides.
- Sky — day and night sky rendering with named stars, the sun and the moon (including eclipses), a celestial grid and the ecliptic.
- Photo positioning — coordinates are read from a JPEG's Exif data, so an existing photo can set the viewpoint.
- Search — offline search over GeoNames place names, with no query leaving the device.
- Sensors — compass and gyroscope orient the view to match where the device is pointing.
Installation
- Android — Google Play, or the .apk on Wikipedia attached to the GitHub releases for installation without an app store.
- Windows, macOS and Linux — GitHub releases. Each download is self-contained and bundles its own Java runtime, so no separate JVM installation is required: an installer for Windows, a .dmg on Wikipedia for macOS (Intel and Apple silicon), and a .deb on Wikipedia package plus an AppImage on Wikipedia for Linux.
- Python —
pip install peaknavfrom PyPI; see below.
Python package
The peaknav Python package exposes PeakNav's data and rendering to scripts and notebooks:
- Elevation queries —
peaknav.terrainreturns the elevation of any coordinate on Earth in pure Python, reading the same compressed elevation dataset the app renders (with summit heights corrected against surveyed values); tiles are downloaded per area and cached locally. - Headless rendering —
peaknav.headlessdrives the real PeakNav renderer off-screen through a REST API: camera control, view options and rendered frames, usable for scripted snapshots, panoramas and videos of the terrain. - Jupyter widget (experimental) —
peaknav.jupyterprovides an interactive 3D view inside a Jupyter on Wikipedia notebook, with pan/tilt controls, altitude and display toggles, driven entirely over the renderer's REST API (pip install peaknav[jupyter]).
Datasets
PeakNav relies on two datasets, specifically compressed and optimized for devices with low computational power (such as mobile phones), currently hosted on HuggingFace:
Both are cut into slippy map tiles, so only the tiles covering the area of interest are transferred and stored. The elevation dataset can also be read directly from Python through the peaknav package described above.
See also
- 3D — rendering OpenStreetMap data in three dimensions
- Offline — using OpenStreetMap data without a connection
- Tag:natural=peak — the tag PeakNav labels
- Comparison of Android applications