HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
komoot
photon
Java2014–2025
komoot / photon

photon

an open source geocoder for openstreetmap data

9Distinct people
13Mentions
0Explicit recommenders
3.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

an open source geocoder for openstreetmap data

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year13 dated mentions

Observed mentions: 2014-05-19 15:56:51 UTC to 2025-08-08 13:17:09 UTC.

012342014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC101
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC404
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC413

What Hacker News says

13 sources
AFAIK, a lot of the RAM requirements come from importing and processing the data. It already takes quite a long time and would be even slower without heavily utilizing RAM. Nominatim also doesn't support any sort of typeahead queries. There's Photon(https://github.com/komoot/photon), which works in concert with Nominatim and is similarly tied to OSM as a data source. There's also Pelias(https://pelias.io/), an open-source geocoder that handles all types of geocoding in one and supports OSM, OpenAddresses and many other sources (including custom data) out of the box. Admittedly it can have more moving parts as a result, but it can be set up with relatively little RAM if you're careful (I bet a planet install could be done somewhat slowly with 32GB RAM). Full disclosure, I have been a core-maintiner of the project since 2015.
In Geocoding APIs compared: Pricing, free tiers and terms of use
> Isn't this an ad for something you're selling? No. This is a demo of an open-source project that I've released for free. > To me it seems like something that has been around for a very long time and is now being resold under a new label of "geocoding" That's just what this class of software is called. https://developers.google.com/maps/documentation/geocoding/o... https://docs.mapbox.com/api/search/geocoding/ https://geocode.earth/ https://github.com/komoot/photon https://nominatim.org/ https://pelias.io/ https://www.here.com/platform/geocoding https://developer.tomtom.com/geocoding-api/documentation/geo... https://geocoding.geo.census.gov/geocoder/ https://github.com/Qwant/mimirsbrunn All of these call themselves geocoders. > 25 years ago tiny contained $100 GPS units had the entire US on a 2 GB flash card. Yeah! Super cool feat of eng
Read the rest
ineering accomplished mostly by requiring you to do structured search, if I remember correctly. I never drove with one as they were a bit before my time. I remember them being very fiddly, but that was an observation I made from the back seat of a car as a child so, grain of salt. And yes to google maps offering this for free as a part of their maps client. Not free if you're a 3rd party software developer though, as you'll see if you click through the first link I posted above.
In Show HN: Host a planet-scale geocoder for $10/mo
In Ask HN: What are some alternatives to Google maps?
It's different software. openstreetmap.org uses Nominatim: https://github.com/openstreetmap/Nominatim The photon link uses Photon: https://github.com/komoot/photon Nominatim processes OSM data, associating items of interest with features like town boundaries that enclose the item, or place markers that are nearby, and then is also a fairly pedantic search interface for that data. Photon takes the data that Nominatim generates and sticks a more flexible search on top of it. Checking for/creating an issue for Nominatim describing the address format that doesn't work well would be a useful thing to do, as global support is a goal there.
In How Facebook, Apple and Microsoft Are Contributing to OpenStreetMap
> I assume I'd be using at least a day to set things up You assume wrong. :) It takes an hour or so to get a tileserver up and running with the switch2osm instructions. I've done it countless times. (You do then need to wait for the Postgres database to populate, but that's just fire-and-forget.) They're written for Ubuntu LTS versions so the "newer versions" issue doesn't arise. Or if Docker's your bag, you can get a ready-to-go image from openmaptiles: https://openmaptiles.com/server/ > where anyone can spin it up for $5/mo Not gonna happen. Running a worldwide map server needs a lot of (SSD) storage and decent CPU. I have a £10/month Hetzner VM just to do geocoding (with Photon: https://github.com/komoot/photon) so you aren't going to get a tileserver for half that - and that's no surprise; OSM is ultimately competing with Google, and
Read the rest
you can't really expect to host your own Google for $5. But there are plenty of hosted options with tiered pricing.
In Why Use OpenStreetMap Instead of Google Maps?
There's (justifiably) a lot of love for Mapbox in this thread as an alternative, but as remarked, their pricing isn't particularly cheap (why should it be, they sell on the quality of the product). So the other option is to self-host tools using OpenStreetMap data. Some pointers: * Raster tiled maps: the canonical instructions are at switch2osm.org; put it on commodity hardware such as Hetzner/OVH. * Vector maps: a lot of development in this area at the moment and you could happily lose yourself for days among all the emerging solutions, but probably the easiest out-of-the-box solution is openmaptiles.org. * Geocoding: Photon (https://github.com/komoot/photon) is the easiest to set up because it comes with precompiled indexes - no need to generate your own. Based on ElasticSearch, needs SSD for reasonable performance. * Routing: OSRM (Map
Read the rest
box's routing engine) and Graphhopper are both self-hostable. OSRM is very RAM-hungry, but blazingly fast. This is just a start - there are many more options available, not least the whole stack developed by Mapzen before they shut down. The raw OSM data is downloadable from planet.openstreetmap.org (full dump) or http://download.geofabrik.de/ (regional extracts). Worth noting as well that there are a few well-established and competitively priced indie providers based on OSM: Thunderforest (http://thunderforest.com/), Geofabrik (http://geofabrik.de/), Graphhopper (https://www.graphhopper.com/).
In Google Maps Platform
Have you tried the Scout App (which the article is about)? How does its search work? I agree that geocoding has been a problem for OSM, especially for building numbers, where the data often isn't there. But on the software side there seems to be progress recently, for instance, here are two open-source geocoders released in the last few months: Photon, made by Komoot: https://github.com/komoot/photon, used in production at http://www.komoot.de/suggest/?&hl=en Pelias, made by Mapzen: http://stateofthemap.us/session/pelias/, live demo at http://mapzen.com/pelias/ On building numbers, we need geocoders which can interpolate between sparse data, and then use that system to highlight where the gaps are. People tend to add data to OSM when they're confident that it's actually being used, to its full extent. If there are a hundred buildings alon
Read the rest
g a road, in theory you don't need to add many of them before you can get a very good idea of where an address might be.
In OpenStreetMap is now navigation-ready

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.