Skip to content
AI Segmentation
QGIS
Tutorial

How to Add a Basemap in QGIS: XYZ, WMS and Plugins

The QGIS interface with a choropleth map of median income in Houston, the layer panel on the left.
Photo: QGIS Development Team, CC0, Wikimedia Commons.

The fastest basemap in QGIS is already installed: open the Browser panel, expand XYZ Tiles, double-click OpenStreetMap. For satellite imagery, add an XYZ connection with a tile URL, three of which are below, or install the QuickMapServices plugin and pick from its list. For your national orthophoto, add a WMS or WMTS layer from your mapping agency. This post gives the exact clicks for each, and ends with the question that matters if you want to run a detection model on the result: which basemap is sharp enough. Two tables measured on 7 September 2026 give the size of one pixel at each zoom level, and the last level where each service still has real imagery.

The short answer

You wantDo thisTime
A street map, nowBrowser, XYZ Tiles, OpenStreetMap5 seconds
Satellite imageryBrowser, XYZ Tiles, New Connection, paste a URL from below1 minute
A list to pick fromPlugins, Manage and Install Plugins, QuickMapServices2 minutes
Your national orthophotoLayer, Add Layer, Add WMS/WMTS Layer, the agency's URL2 minutes
Imagery a model can readSee the last section

Method 1: the XYZ tiles that are already there

QGIS ships with one XYZ connection, OpenStreetMap, in the Browser panel.

Open the Browser panel

View, Panels, Browser, if it is not showing.

Expand XYZ Tiles

OpenStreetMap is listed. Double-click it, or drag it onto the map.

Check the CRS

Web tiles are drawn in Web Mercator, EPSG:3857. QGIS reprojects them on the fly to your project CRS, which is fine for a backdrop. If the tiles look blurred at high zoom, set the project CRS to EPSG:3857 while you work with them.

The layer is live: every pan fetches new tiles from the server, and it needs an internet connection. That is true of every basemap on this page.

Method 2: satellite imagery by URL

Right-click XYZ Tiles, New Connection, give it a name and paste one of these into the URL field. Leave the zoom levels at their defaults.

Esri World Imagery. Free to use under Esri's terms with attribution, worldwide, usually the sharpest of the three outside big cities.

https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}

Google Satellite. The URL works and every tutorial gives it. Google's terms of service do not permit use outside Google's own products and APIs, so for anything that leaves your screen, a report or a client deliverable, use Esri or your national imagery instead.

https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}

OpenStreetMap, humanitarian style. A second street map, useful where the default style is dense.

https://tile.openstreetmap.fr/hot/{z}/{x}/{y}.png

Method 3: QuickMapServices, the list

The plugin most people mean when they say "add Google to QGIS".

Install it

Plugins, Manage and Install Plugins, search QuickMapServices, Install.

Get the full list

Web, QuickMapServices, Settings, More services, Get contributed pack. Without this step the menu shows a handful of services. With it, dozens.

Add a basemap

Web, QuickMapServices, then the provider, then the layer. Google Satellite, Bing Aerial, Esri Imagery, CartoDB, Stamen and the national services of several countries are in the list.

QuickMapServices does the same thing as method 2 with the URLs filled in for you. The terms of each service still apply, and the plugin's own settings page says so.

Method 4: your national orthophoto by WMS or WMTS

National mapping agencies publish their orthophotos as web services, sharper and more recent than the global tiles, and licensed for professional use.

Find the service URL

In France, the IGN orthophoto is a WMTS on cartes.gouv.fr, free without a key since 2024. In the United States, the USGS National Map serves NAIP imagery as WMS. In Britain, Ordnance Survey imagery needs an API key from the OS Data Hub. Most other agencies have a "web services" page with the URL on it.

Add the connection

Layer, Add Layer, Add WMS/WMTS Layer, New, paste the URL, Connect. The list of layers the service offers appears.

Pick the orthophoto layer

Select it, Add. For a WMTS, pick the tile matrix set that matches your project CRS when the service offers several.

How far each basemap actually goes

A tiled basemap has a limit: the zoom level past which the provider has no imagery. Two tables tell you where you stand.

First, the size of one pixel at each level. This is arithmetic, not an estimate: a 256-pixel Web Mercator tile at level z covers 156,543.03 × cos(latitude) / 2^z metres per pixel.

Zoom levelAt the equatorAt the latitude of Paris
162.39 m1.57 m
171.19 m79 cm
1860 cm39 cm
1930 cm20 cm
2015 cm10 cm
217.5 cm4.9 cm

Second, the real limit of each service. On 7 September 2026 we requested one tile per level, from 16 to 22, in nine places, and looked at where the server stops returning a real image.

ServiceLast level with real imageryPast it
Google Satellite22 in all eight cities tested, 21 in rural Cantal404 error
Esri World Imagery19 in Paris, Chartres, London, São Paulo, Nairobi and rural Kansas, 20 in New York and Berlina grey square returned with a 200 code
IGN orthophoto by WMTS19404 error
OpenStreetMap19400 error

The Esri line deserves a word, because it explains more "my basemap is blurry" than anything else. Past its last level, Esri does not return an error: it returns a 200 code and a 2,521-byte image, a grey square carrying the words "Map data not yet available". QGIS takes it as a valid tile and draws it. Nothing tells you the service has run out. IGN and OpenStreetMap return a plain error instead, and QGIS then keeps the last sharp tile.

One caveat on the first column: a tile served at level 22 does not prove the imagery was captured at 2.5 cm, only that the server answers. We measured how far each service agrees to go, not the native resolution of its imagery.

Which basemap a detection model can read

This is the question behind the question, for anyone who adds a basemap to run AI Segmentation, the plugin we make at TerraLab for , or any other detection tool on it. A model reads the pixels you show it, and a basemap has three properties that decide what it can find.

Ground pixel size. The first table above gives it at every level. At zoom 18 at the latitude of Paris, one pixel covers 39 cm. At zoom 19, 20 cm. A house is hundreds of pixels at either, a tree crown is dozens, a car is a few. The resolution scale on the AI Segmentation guide says what the model finds at each size. The national orthophoto at 20 cm is better than any global tile for small objects.

Date and consistency. Global tiles stitch imagery of different dates at tile edges. A detection run across a seam sees summer on one side and winter on the other, and trees on one side that are bare on the other. A national orthophoto is flown in one campaign.

What is drawn on it. A street map basemap has no pixels a model can use. Labels, roads and building outlines are drawn, not photographed, and a model trained on imagery returns nothing useful on them. The plugin needs an imagery layer visible on the canvas, and it says so when there is none.

The same block of Chartres on two basemaps: the IGN orthophoto on the left, the Plan IGN street map on the right.
One block of Chartres, two basemaps. Left, the IGN orthophoto at 20 cm, which a model can read. Right, Plan IGN, drawn, with nothing to detect. Both served by WMTS from the Géoplateforme. Orthophoto: IGN, BD ORTHO, open licence.

Run the detection on the sharpest, most recent imagery you can load. For most of Europe and North America that is the national orthophoto by WMS. The building footprint guide runs the same block on two basemaps and shows the difference in the count.

Questions people ask

Why is my basemap blurry?

Three causes. You are zoomed past the last level the service actually has, which happens with Esri past zoom 19 in most of the world, and it does not tell you: it returns a grey square with a 200 code. The project CRS is not EPSG:3857 and QGIS is resampling the tiles. Or the connection has a maximum zoom set lower than the service. Check the level table above, then the project CRS, then the connection.

Can I use Google Satellite in QGIS legally?

You can load it. Google's terms do not allow use of its imagery outside its own products, so a map made from it should not leave your screen. Esri World Imagery, OpenStreetMap and national services each have terms that allow use with attribution. Read the one you use.

Can I add a basemap offline?

Not a live one. Download the extent you need as a GeoTIFF from your national agency, or use Raster, Miscellaneous, Build Virtual Raster on downloaded tiles, and load that. QGIS's Generate XYZ tiles algorithms go the other way, from your layers to a tile folder.

How do I set a default basemap for every new project?

Save a project with the basemap loaded as your project template: Settings, Options, General, Project files, Template folder, and put the project there. Or set the connection once in the Browser and drag it in each time. There is no global default.

Which basemap is best for AI Segmentation?

The sharpest and most recent imagery you can see on the canvas: your national orthophoto by WMS or WMTS, then Esri World Imagery. Never a street map. The plugin reads what is visible, so zoom in until the objects you want are clear before you draw the zone.

The QGIS AI hub collects what AI can and cannot do inside QGIS. Once the basemap is on, the raster to vector post is the next step for turning what you see into polygons.