In a previous article, we saw how to geocode complete addresses with the MMQGIS plugin. Today, we will go further with two very practical use cases, still without coding:
- geocoding place names (municipalities, countries, localities),
- performing reverse geocoding: finding an approximate address from GPS coordinates.
1. Geocoding places based on their names
Use case
You have a list of municipalities, countries, or well-known places, but no specific addresses. You want to locate these entities on a map.
CSV example:
id,lieu
1,Port Mathurin, Rodrigues, Maurice
2,Quatre Bornes, Maurice
3,Paris, France
4,Antananarivo, Madagascar
Steps :

- QGIS menu: MMQGIS → Geocode → Geocode CSV with Web Service.
- In the dialog box:
- CSV file: your table with place names.
- Address column: select the column containing the places.
- Web service: OpenStreetMap / Nominatim.
- Choose an output file.

Start geocoding. Each place will be converted into geographic coordinates.

Tip: Geocoding quality
Nominatim tries to interpret the text provided. The more explicit your string is, the better the result will be.
Examples:
Bad | Better |
---|---|
Rodrigues | Port Mathurin, Rodrigues, Maurice |
Quatre Bornes | Quatre Bornes, Plaines Wilhems, Maurice |
Reunion | Saint-Denis, La Réunion, France |
Reverse geocoding (address from coordinates)
Use case
You have GPS coordinates (e.g., field surveys, geolocated photos) and want to know the corresponding address.
CSV example:
id,latitude,longitude
1,-19.7061,63.4209
2,-20.2473,57.4906
3,-21.1151,55.5325
Steps:
1- Load the CSV file as a layer using Layer->Add Layer->Add Delimited Text Layer…


2- QGIS menu: MMQGIS → Geocode → Reverse Geocode CSV with Web Service.

In the dialog box:
- Specify the CSV file.
- Select Nominatim as the service.
- Choose an output file.

The plugin returns a description of the address for each point.

Best practices
- For best results, check that the coordinates are in EPSG:4326 (latitude/longitude in degrees).
- Reverse geocoding provides an approximate address: street, locality, or place name, depending on the available data.
- Avoid massive processing with Nominatim (respect public usage limits).
What to do next?
The data obtained can then be:
- joined to vector layers,
- used to filter, group, or map your field data,
- integrated into a QGIS atlas or report.
To be continued…
In the next article, we will see how to use MMQGIS to perform simple spatial joins, such as automatically associating points with the municipality or administrative area in which they are located.