Panoramax
| Panoramax | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Author: | Panoramax Team | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| License: | MIT License | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Platforms: | Web, Android, and iOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Version: | 2.7.0 [1] (2024-10-10) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Languages: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Website: | Panoramax.fr | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Install: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Source code: | https://gitlab.com/panoramax | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Programming languages: | JavaScript and Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
"The free alternative to photo-mapping territories"[1] |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Panoramax is a federation offering geolocated street-level pictures. Pictures are offered through a decentralized architecture, with a set of free and open-source tools. In other words, it is "like a self-hosted Street View"[2] that does not impose its own app and gives you the right to fork the server.
This wiki page describes the software and the ecosystem. To link an image on Panoramax from OpenStreetMap, see panoramax=*.
The main, metaphorical "selling points" are:
- self-hostable, as a public instance or in your private organization
- free- and openly licensed server (unlike Mapillary or Mapilio)
- freedom to choose or develop your favorite client app
- federation through a meta-catalog, which gives a single entrypoint (API, web viewer) to all publicly available servers
Instances
Services

Some services store in-app uploads on custom Panoramax servers, which means that photos are accessible not only through an in-browser slippy map (i.e. the default Panoramax frontend), but also via the federation API, the Panoramax API, and the STAC API.
| URL | Region | Publicly viewable | Publicly editable | License | Other notes |
|---|---|---|---|---|---|
| https://api.panoramax.xyz | 🌐 Global | Yes | No | Mixed | The meta-catalog list all pictures available across the public federation. After uploading an image, you may have to wait some time before it is visible on the meta-catalog[3]. (The `api` part of the URL is important. Without it, you're redirected to https://panoramax.fr/) |
| https://panoramax.openstreetmap.fr | 🇫🇷 France (and outside for tests) | Yes | Yes, with OSM-account | CC-BY-SA 4.0 (see below) | by OSM France
In the short term, OSM FR can host pictures from the outside of France, but worldwide coverage is not sustainable in the long term, due to storage limits (and costs). Therefore, it is preferred that other local communities set up their own federated instances.[4] |
| https://panoramax.ign.fr | 🇫🇷 France | Yes | etalab-2.0 | by Institut national de l'information géographique et forestière | |
| https://panoramax.mapcomplete.org | 🌐 Mainly Global | Yes | Yes, but only via https://mapcomplete.org, requires OSM-account | CC-BY-SA 4.0 | Images uploaded in MapComplete are stored here |
| https://panoramax.multimob.be/ | 🇧🇪 Mainly in Belgium | Yes | No | CC-BY-SA 4.0 | by Multimob.be |
| https://panoramax.liswu.me | 🇹🇼 Taiwan | Yes | CC-BY-SA 4.0 | by OSM-TW ? | |
| https://www.panoramax.wales/ | 🏴 Wales | Yes | Yes, with OSM-account | CC-BY-SA 4.0 |
OSM-France adopted CC-BY-SA for the pictures, but also grant a right to create non photographic derivates under CC-BY or ODbL.
Community
- Panoramax forum
- Panoramax mapstodon
- Panoramax telegram translation group
- Panoramax OSM forum Android App
- Peertube
- On Lemmy
- On Reddit
Deploy your own instance
Tagging
panoramax=* - Associate a Panoramax picture to an OSM feature.
Contribute
Development
Mobile App
- Android mobile app for taking and uploading pictures (with its discussion forum thread); Android app can be downloaded from Google Play or F-Droid; iOS app from Apple App Store;
- Baba - alternative Android and iOS mobile app for taking Panoramax pictures
Translation
- Panoramax Weblate used for translation
- Telegram Panoramax translation group
- Panoramax translation docs
Software
As Panoramax is a federation, the main matter is to agree on standards. Servers have to offer their pictures through a STAC API. Beyond that, any compliant server can be a part of Panoramax.
Main software used for Panoramax is listed below.
Server-side
All servers are running under the Panoramax API, which is fully free and open-source. It's a Python and Flask API, relying on a PostgreSQL database with PostGIS. It handles users, as well as uploading and serving of pictures.
Client-side
Many clients can be made available for Panoramax, as long as they accept STAC and/or WFS servers.
Clients from the Panoramax project itself:
- Panoramax website, the front-end of public servers
- Panoramax web viewer, a stand-alone JS viewer
- Panoramax CLI interface, a Python-based CLI tool for uploading and downloading images
Clients using the standard STAC or WFS APIs:
Third-party clients:
- Panoramax-js, a Typescript library with which one can upload images to a Panoramax instance and with some other API calls made available; developed and used by MapComplete
- MapComplete, an OSM editor and viewer, lets users browse nearby pictures from Panoramax and also upload pictures to Mapcomplete's own Panoramax instance. They moved all old images (hosted on imgur) to their panoramax-instance. This is documented in this issue
- OpenAEDMap.org loads images from panoramax, if linked with
panoramax=* - OsmApp.org shows Panoramax-images as well but doesn't (yet) shows a correct attribution (as of 2024-11-21)
- QGis plugin: https://gitlab.com/panoramax/clients/qgis-plugin
- Panoramax for ArcGIS https://www.arcgis.com/home/item.html?id=97b27545e801478d9eb36d2a6fc9b63b
- overpass-turbo.eu links to panoramax.xyz when a panoramax-hash is detected
- Baba multiplatform mobile app: Google Play store
Requests for support
The community opened support tickets to add panoramax functionality on some issue trackers, such as:
- OsmAnd request
- Organic maps: streetview, add pictures
- A plugin for JOSM has been requested here on the JOSM issue tracker. (there currently only exists a support for "Panoramax image positions" imagery layer, but you cannot click on it to show actual pictures)
- Vespucci feature request here to implement Panoramax images layer has been implemented, and in upcoming Vespucci 21.2 one should even be able to contribute new pictures to Panoramax
- CoMaps request is here (there already exists support for displaying POIs with
panoramax=*tag in OSM, but not a full Panoramax image layer)
Use in OSM editors
iD integration
- iD support with ability to filter by capture date, contributor and image type has been implemented, see screenshot below
Vespucci integration
Vespucci has supported display of panoramax images since March 2025, see https://vespucci.io/help/en/21.0.0%20Release%20notes/#panoramax-support
Statistics
Panoramax Weblate
Third-party viewers
- In MapComplete, click a map feature, then click "Browse nearby pictures" in the panel at the right. This includes the pictures from the Panoramax meta-catalog - so not only the pictures that were uploaded to MapComplete.
Made possible by
https://gitlab.com/panoramax/gitlab-profile/-/raw/develop/images/sponsors.png
See also
OSM wiki
- Panoramax talk at State of the Map Europe 2023 for the slides and the talk on YouTube
- List of OSM-based services
- Photo linking - Create links between OSM features and external pictures
- Street-level imagery services
Wikipedia
Wikidata
External Websites
- Meta-catalog for all photos available
- Panoramax on GitLab
- Panoramax documentation
For developers
To convert a panoramax-hash into the src for an image, query https://api.panoramax.xyz/api/search/?ids=<hash> which will give you a .json. A normal-sized image is available at features[0].assets.sd. Use .hd or .thumb for other sizes
Alternatively, one can use https://api.panoramax.xyz/api/pictures/{hash}/sd.jpg
References
- ↑ https://panoramax.fr
- ↑ https://gitlab.com/panoramax/server/api
- ↑ Source taking MapComplete as an example.
- ↑ Message from the OSM FR infrastructure maintainer, in #panoramax_fr:matrix.org, on Aug 26, 2023; message in #panoramax_fr:matrix.org, on Aug 25, 2023.
