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

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 want | Do this | Time |
|---|---|---|
| A street map, now | Browser, XYZ Tiles, OpenStreetMap | 5 seconds |
| Satellite imagery | Browser, XYZ Tiles, New Connection, paste a URL from below | 1 minute |
| A list to pick from | Plugins, Manage and Install Plugins, QuickMapServices | 2 minutes |
| Your national orthophoto | Layer, Add Layer, Add WMS/WMTS Layer, the agency's URL | 2 minutes |
| Imagery a model can read | See 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 level | At the equator | At the latitude of Paris |
|---|---|---|
| 16 | 2.39 m | 1.57 m |
| 17 | 1.19 m | 79 cm |
| 18 | 60 cm | 39 cm |
| 19 | 30 cm | 20 cm |
| 20 | 15 cm | 10 cm |
| 21 | 7.5 cm | 4.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.
| Service | Last level with real imagery | Past it |
|---|---|---|
| Google Satellite | 22 in all eight cities tested, 21 in rural Cantal | 404 error |
| Esri World Imagery | 19 in Paris, Chartres, London, São Paulo, Nairobi and rural Kansas, 20 in New York and Berlin | a grey square returned with a 200 code |
| IGN orthophoto by WMTS | 19 | 404 error |
| OpenStreetMap | 19 | 400 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.

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.


