XYZ map tiles with Allmaps Tile Server
XYZ tiles let you display georeferenced maps in GIS software and other tools that support tile layers, such as QGIS. Your tool loads small image tiles as you zoom and pan.
How it works
Allmaps Tile Server creates XYZ tiles on demand. It fetches the source tiles
it needs from the institutions’ IIIF image servers and uses Georeference
Annotations to warp them into place. The server renders the output tile with
Allmaps’ Rust renderer, compiled to WebAssembly as
@allmaps/render-wasm.
Get an XYZ tile URL
Copy a URL from Allmaps Editor:
- Open the map in Allmaps Editor.
- Open the Export panel and select the maps you want to use.
- Copy the XYZ map tiles URL.
Keep the {z}, {x}, and {y} placeholders in the URL. Your tool replaces
them with the zoom level and tile coordinates when requesting tiles.
To construct a tile URL from an Allmaps annotation URL, replace
annotations.allmaps.org with allmaps.xyz and append /{z}/{x}/{y}.webp.
This works for a single map, all maps on an image, or all maps in a IIIF Manifest.
For more URL options, including TileJSON and double-resolution tiles, see the Allmaps Tile Server reference.
Add a layer in QGIS
- In the Browser panel, right-click XYZ Tiles and choose New Connection.
- Give the connection a name and paste the XYZ tile URL into the URL field.
- Select OK, then double-click the new connection under XYZ Tiles to add the layer to your project.
If the layer looks blank, open the XYZ tile URL in your browser to see where the historical map is located. Pan and zoom to that area in QGIS.

An XYZ tile layer from Allmaps Tile Server in QGIS.
Hosted service and limits
For every tile request, Allmaps Tile Server loads the list of
georeferenced maps associated with the request’s Georeference Annotation, then fetches IIIF image information (info.json) and
source tiles for the maps needed in that area. At low zoom levels, a single
output tile covers a larger area and can need imagery from many sheets.
Allmaps Tile Server runs on Cloudflare Workers. Cloudflare limits how many outgoing requests the Worker can make to render each tile. If you only need a few sheets from a large Manifest, use tile URLs for those maps or images to reduce the work each tile request triggers.
Where possible, we strongly recommend using our Leaflet, MapLibre, or OpenLayers plugins. They warp images in your browser, avoiding the tile server’s rendering costs.
Offline use and self-hosting
For offline work, create a GeoTIFF. For bulk tile generation, you can generate your own XYZ tiles with gdal2tiles or host the open source tile server yourself.