> For the complete documentation index, see [llms.txt](https://help.felt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.felt.com/upload-anything/urls/xyz-raster-tiles.md).

# XYZ raster tiles

Add XYZ, TMS, or WMTS raster tiles to Felt with a template URL containing {z}, {x}, and {y} placeholders.

An XYZ tile service supplies small images that form a map, such as aerial imagery or a historical map. Add its template URL to Felt to create a raster layer. To use tiles as the basemap beneath all layers instead, see [Basemaps](/styling/basemaps.md).

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmRfGitkyjOEMvVsEyGWN%2Fuploads%2FieE9cYQe700U0dEvP7O3%2Fupload_raster_url.mp4?alt=media&token=39737e47-327b-4934-8ddf-ccdd38a6a655>" %}

## Add a tile layer

1. In the toolbar, click **Upload Anything** ![](https://217108486-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmRfGitkyjOEMvVsEyGWN%2Fuploads%2FnwKMjNT6E1km4CtnHkqf%2F24.svg?alt=media\&token=9e98d9c4-35a3-416a-8802-b4e366c722cb) > **From URL**.
2. Paste the template URL. Felt checks it and shows *Looks good*.
3. Click **Add to map**. The raster layer appears in the legend.

To change the layer's opacity or colors, see [Style raster layers](/styling/style-raster-layers.md).

## Template URL format

An XYZ template URL must contain these three placeholders, in any order (ArcGIS tile services, for example, use `/{z}/{y}/{x}`):

* `{z}` for the zoom level
* `{x}` for the tile column
* `{y}` for the tile row, or `{-y}` for services that number rows from the bottom, in [Tile Map Service (TMS)](https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification) order

A URL can also use `{s}` for a subdomain. The tiles must be images, but the URL doesn't need to end in `.png` or `.jpg`. Replace any other placeholder, such as `{apikey}`, with its value, or Felt shows *No value provided for parameter*. WMS services don't work as tile templates; add them as a [WMS / WMTS](/upload-anything/data-sources/wms-wmts.md) service instead.

{% hint style="warning" %}
Anyone who can view the map can see the tile URL, including any API key in it. Every map view requests tiles and can add provider costs. Restrict the key to your own domains where supported.
{% endhint %}

This example is a map of Aberdeen from the National Library of Scotland, in TMS order:

```
https://geo.nls.uk/maps/towns/aberdeen/{z}/{x}/{-y}.png
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.felt.com/upload-anything/urls/xyz-raster-tiles.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
