I want to create an image of an OpenStreetMap map suitable for printing on A4 at 300dpi.

The map needs to have half a dozen markers/points, and each should be labeled with the name of the point.

I know the name, latitude and longitude of each point.

How can I create such a map in QGIS? Ideally it will also include the OSM credits along an edge. QGIS isn't an absolute requirement: any other free/open source tool, website or script is fine; first choice for Mac, second choice Windows.

  • 2
    What have you already tried? What have you already looked at? What worked? What didn't work for you yet, and what do you still need help on? There are a lot of good QGIS link at wiki.openstreetmap.org/wiki/QGIS. Also, qgis.spatialthoughts.com/2012/06/… might be worth a look.
    – BradHards
    Apr 19, 2013 at 6:08
  • @BradHards: I found a solution and have added it as an answer. However it's not reliable and the results are not great so there may be a better method.
    – Hugo
    Apr 19, 2013 at 8:16
  • Have you thought about using OSM Static Map API - here is a wizard version to give you in insight to the usefulness staticmap.openstreetmap.de/wizzard
    – Mapperz
    Apr 19, 2013 at 13:46
  • @Mapperz: Thanks, I tried that but the max size was 1024x1024 and A4 at 300dpi is more like 2480x3507. I'm going to try and do it with the Python version of Modest Maps instead.
    – Hugo
    Apr 19, 2013 at 14:51
  • staticmap.openstreetmap.de/… works - you need to tweak it for you purpose.
    – Mapperz
    Apr 19, 2013 at 15:26

2 Answers 2


I've managed to get something working, but it's not as good as I hoped and there may be a better way.


First I added the OpenLayers plugin and selected Plugins -> OpenLayers Plugin -> Add OpenStreetMap layer.

Import points

Next I created a CSV of my points like this:


Then I imported it following these instructions, but with a comma delimiter, then zoomed and panned as needed.


Then in the layers panel I selected my points layer, I selected Layer -> Labelling, ticked "Label this layer with" and selected "NAME".


Next I followed these instructions, starting from "click on the ‘New Print Composer’ button", adding just the things I needed and changing to portrait. I then exported as image and saved as PNG.


This gave me a correctly sized (2480x3507) PNG. However, I found that often it would export an image with some white tiles. More often it would export with my points in the wrong places on the map. After retrying and restarting many times, I finally got an image with a complete OSM background and the points in the correct places. I still need to test a printout, but I think the OSM background is much more pixelated when compared with the smooth markers and labels, so perhaps there's a better way of doing it.

  • 1
    This is almost the same problem as i have been having. I think the problem here is that it is not printing to an exact scale. If you have any other data for the area or can caculate the distance between the points remove the OSM layer or only have the point layer added then print at a scale and measure. the scales are different. gis.stackexchange.com/questions/58401/… see this.
    – Ger
    Apr 19, 2013 at 8:20
  • @GeraldO'Reilly: I think you're onto something. It seems the OSM layer is scaled for the computer screen only, and not for print page. // After adding the map to Print Composer, the map's width and height in Item Properties are something like 208x296. If I change this to 2480x3507, the map is then some 140 times bigger than the page. How to scale it? Or how else to add an OSM background?
    – Hugo
    Apr 19, 2013 at 8:37
  • 1
    What i have done to get by in the past is to create numerous geotiffs of the area i want (i was primarily using the bing aerial maps). I did this by the option of save as image and selecting tiff. then uploading the tiffs into the project. they print nearer to scale but not quite there. at 1:2000 they were out by some 6m.
    – Ger
    Apr 19, 2013 at 8:53

See my comment in your answer. If you are not worried about scale but worried about having it presented in a "presentable" manner. Just before you print click on the map with the select tool and then refresh the map. Print to pdf rather than directly.

This has been an issue i have had for a long time.

Also ensure you have the "enable on the fly projection" option selected in project properties. this should re-project the project to match the osm as the point layer is probably in a different CRS.

in summary i think it is issues with the CRS and scales which cause the issue.

I hope this is clear....seeing as i don't really have an ultimate answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.