I am trying to display the following background map in QGIS 2.0: http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/${z}/${y}/${x}. In a custom web map client, this is quite easy: http://dev.openlayers.org/releases/OpenLayers-2.13.1/examples/xyz-esri.html

I tried to use the "OpenLayers plugin" in QGIS, but there the list of background tile maps is predefined and I cannot add my own custom map tile layer.

Is there any easy workaround (without any programming) how I could show the custom map tiles layer in QGIS?

  • I get the error "Could not draw [TMS NAME] because:" on a computer with QGIS 2.2.0 on Windows 7: I get the TMS list successfully, I can add one to my project and I can see but any pan or zoom throw the error. In another pc with Windows XP (and also QGIS 2.2.0) everythings work fine! I really don't understand where the problem could be! Any suggestions? Thanks.
    – user27927
    Mar 11, 2014 at 13:35
  • With QGIS 2.2.0 on Ubuntu Linux 12.04 all works fine. But I get the same error as you on Windows 7. Mar 12, 2014 at 8:16
  • The TileLayer plugin appears to be working fine both on Windows 7 and on Linux in QGIS 2.4 Nov 1, 2014 at 18:46

5 Answers 5


Try the new Tile Layer Plugin.

The tile sources are stored in a tab delimitered text file. You can add sources as you want.

For the Arcgis tiles, try:

Arcgis  Arcgis  http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}.png   1   0   16  -180    -85.0   180.0   85.0

(note that this site's software has turned the tabs into blanks)

enter image description here

  • OK, I installed the Tile Layer Plugin. Where is the tab delimited text file? I only found .qgis2/python/plugins/TileLayerPlugin/layers/frame.tsv but when I add the Arcgis source I get an error: "Invalid line format: frame.tsv line 3" Jan 7, 2014 at 7:53
  • Under Settings you can choose an External layers directory. Every .tsv file found there will be read and interpreted. I don't know what the frame.tsv is for, better restore it unchanged.
    – AndreJ
    Jan 7, 2014 at 8:30
  • I made progress: I created a new file .qgis/python/plugins/TileLayerPlugin/layers/arcgis.tsv. Then I added the Arcgis source information to the arcgis.tsv file. Now the tile map is displayed same as in your screenshot. But when I try to zoom in, I get an error "Could not draw Arcgis because:" Jan 7, 2014 at 9:07
  • Strange, I never saw that error. Maybe you should ask the author about it. You are in EPSG:3857? Cam you first load a shapefile, zoom to the extent and then add the Arcgis layer?
    – AndreJ
    Jan 7, 2014 at 9:53
  • I tried the TileLayerPlugin with QGIS on a second computer and everything worked perfectly. So, my error on the first computer is probably a bug and I'll try to ask the author about it. Jan 8, 2014 at 8:43

Try to use QuickMapService plugin. You can create custom service definition, and save it in user dir of QMS.


Starting with QGIS 2.18, there is a new feature called "Tile Server (XYZ)" in the QGIS Browser Panel that lets you easily establish a link to an online tile server without requiring additional plugins. Just right-click the button, choose "New Connection..." and insert the URL for Esri World Topographic Map:


After choosing a name for the tile layer (not shown; "Esri WorldTopoMap" in the example below), double-click the newly created tile server to add it to the QGIS Layers Panel. A more detailed description can be found here, among many others.



Unfortunately, TileLayerPlugin is compatible with QGIS versions 2.8 - 2.99

So, the other option to add custom tiles stored locally on disk - fill in URL (I use Linux, for Windows I suppose you have to change backslashes):




Please read the simple and complete tilelayer plugin howto docs:


Your Answer

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

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