> For the complete documentation index, see [llms.txt](https://docs.mapbox.com/data/tilesets/llms.txt)

# Mapbox Streets v8

This tileset reference document includes information to help you use the data in the Mapbox Streets v8 tileset.

## Overview

**Mapbox Streets v8** is a Mapbox-provided vector tileset that includes geometries and metadata for roadways, terrain, administrative boundaries, building footprints, land use classifications, rail stations, points of interest, and more.

### Access this Tileset

Use this **Tileset URL** to add this tileset to your map style as a `vector` source:

```text
mapbox://mapbox.mapbox-streets-v8
```

Access this tileset's [TileJSON](https://docs.mapbox.com/help/glossary/tilejson/):

```text
https://api.mapbox.com/v4/mapbox.mapbox-streets-v8.json?access_token=YOUR_MAPBOX_ACCESS_TOKEN
```

Access tiles from this tileset via the [Vector Tiles API](https://docs.mapbox.com/api/maps/vector-tiles/) using the following template:

```text
https://api.mapbox.com/v4/mapbox.mapbox-streets-v8/{z}/{x}/{y}.{format}?access_token=YOUR_MAPBOX_ACCESS_TOKEN
```

Query this tileset at a specific location using the [Tilequery API](https://docs.mapbox.com/api/maps/tilequery/):

```text
https://api.mapbox.com/v4/mapbox.mapbox-streets-v8/tilequery/{longitude},{latitude}.json?access_token=YOUR_MAPBOX_ACCESS_TOKEN
```

For full examples of using Mapbox Streets vector tiles to create a map style, see the default styles in [Mapbox Studio](https://console.mapbox.com/studio/).

### Data sources and updates

Mapbox Streets v8 vector tiles are based on a combination of proprietary Mapbox data, Open Data projects such as [OpenStreetMap](http://openstreetmap.org), [Microsoft Open Maps](https://github.com/microsoft/Open-Maps) and [Wikidata](https://www.wikidata.org/), as well as data vendors such as [Zenrin](https://www.zenrin.co.jp/english/index.html) in Japan.

<table><thead><tr><th>Layer</th><th>Data sources</th></tr></thead><tbody><tr><td><code>admin</code></td><td><strong>Globally</strong>: Proprietary Mapbox data</td></tr><tr><td><code>aeroway</code></td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: OpenStreetMap replication feed, Zenrin</td></tr><tr><td><code>airport_label</code></td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: OpenStreetMap replication feed, Zenrin</td></tr><tr><td><code>building</code></td><td><strong>Globally</strong>: Proprietary Mapbox data, OpenStreetMap, Microsoft<br><strong>Japan</strong>: Zenrin</td></tr><tr><td><code>housenum_label</code></td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: Zenrin</td></tr><tr><td><code>landuse_overlay</code></td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: Zenrin</td></tr><tr><td><code>landuse</code></td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: Zenrin</td></tr><tr><td><code>motorway_junction</code></td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: Zenrin</td></tr><tr><td><code>natural_label</code>, types <code>ocean</code> and <code>sea</code></td><td><strong>Globally</strong>: Proprietary Mapbox data</td></tr><tr><td><code>natural_label</code>, all other types</td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: Zenrin</td></tr><tr><td><code>place_label</code>, types <code>country</code> and <code>state</code></td><td><strong>Globally</strong>: Proprietary Mapbox data</td></tr><tr><td><code>poi_label</code></td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: Zenrin</td></tr><tr><td><code>road</code></td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: Zenrin</td></tr><tr><td><code>structure</code></td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: Zenrin</td></tr><tr><td><code>transit_stop_label</code></td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: Zenrin</td></tr><tr><td><code>water</code> (ocean parts)</td><td><strong>Globally</strong>: <a href="https://openstreetmap.org/">OpenStreetMap</a><br><strong>Japan</strong>: Zenrin</td></tr><tr><td><code>waterway</code></td><td><strong>Globally</strong>: OpenStreetMap replication feed<br><strong>Japan</strong>: Zenrin</td></tr></tbody></table>

#### Data updates

The current supported version of the Mapbox Streets vector tiles receives regular data updates as new information becomes available and existing information is improved.

#### Data quality

Besides the daily efforts of contributors all over the globe, the OpenStreetMap community uses several other methods for identifying errors in the data, including multiple [quality-assurance feedback tools](http://wiki.openstreetmap.org/wiki/Quality_assurance) and a [flagging system](http://wiki.openstreetmap.org/wiki/Vandalism) that allows users to identify possible mistakes or areas that may need attention from someone with local knowledge.

Mapbox also has a dedicated data team that is committed to ensuring the quality of Mapbox maps and to adding and improving features all over the world. We also use an automated quarantine system that detects changes to the map that look like accidental editing mistakes or vandalism and stages them for manual review by our data team.

### Attribution

When you publicly use styles or software that use Mapbox Streets vector tiles, you must [display proper attribution](https://docs.mapbox.com/help/dive-deeper/attribution/).

A list of sources utilized in creating Mapbox Streets is available on the [Mapbox website](https://www.mapbox.com/about/maps).

### Multiple geometry types

Mapbox vector tiles support multiple geometry types in the same layer. Mapbox Streets v8 takes advantage of this in some layers.

A geometry in the vector tile can be one of three types:

 Polygon / multipolygon

 Linestring / multilinestring

 Point

In [Mapbox Studio](https://console.mapbox.com/studio/), you can select one, two, or all the three types with the Geometry Type toggles in each layer's data selection tab.

### IDs

Each feature in a vector tile contains an object ID. This ID is not available for styling via [Mapbox Studio](https://console.mapbox.com/studio/), but can be used to interact with features at runtime with [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js/) and other vector tile libraries.

The ID is derived from a unique ID assigned to each feature by the relevant data vendor or Open Data project.

Often, multiple objects from the same or multiple proprietary sources are combined into a single object in our vector tiles. For example, water polygons are unioned to avoid seams, and road lines are joined to save space. In these cases the ID is either `0` or one of the input IDs chosen at random.

## Data stability

As we make ongoing data updates to reflect changes in the world or integrate new data vendors, we may also add new layers, fields, and values to Mapbox Streets v8 tiles. Our goal is to do this in a way that preserves compatibility with existing v8 styles. Here's what you need to know about how Mapbox Streets v8 may change in the future:

-   Layers
    -   Existing layers will not be renamed or removed.
    -   New layers may be added.
-   Fields
    -   Existing fields will not be renamed or removed.
    -   New fields may be added to any layer.
-   Field values
    -   The meanings of existing values will not change.
    -   Values of specific features may change to correct errors or reflect real-world changes.
    -   New values may be added to any field unless otherwise noted in this documentation.
    -   Fields that may contain null values are noted in this documentation, and null values will not be introduced to existing layers that do not already have them.

You should design your styles to account for the possibility of new field values. Be explicit in your filters where possible, and make sure to include appropriate default styles when using expressions.

## Common fields

There are several fields that are used across several layers. These fields are detailed below instead of being duplicated for each relevant layer in the [Layer reference](#layer-reference) section.

### `name` *text* and `name_<lang-code>` *text*

Label names are available in many languages. The `name_*` value is `null` if no translation data is available for a given feature. When styling label layers, you are responsible for determining an appropriate fallback approach.

If the `name` field is null for a particular feature, then all the language-specific `name_*` fields is also null. This means that `name` should always be the final fallback value if you want to include it in your set of label languages.

If the `name` field contains text to be rendered on multiple lines (horizontally or vertically) the text is separated by [zero-width space characters](https://en.wikipedia.org/wiki/Zero-width_space).

| Field | Description |
| --- | --- |
| `name` | The name (or names) used locally for the place |
| `name_ar` | Arabic |
| `name_en` | English |
| `name_es` | Spanish |
| `name_fr` | French |
| `name_de` | German |
| `name_it` | Italian |
| `name_pt` | Portuguese |
| `name_ru` | Russian |
| `name_zh-Hans` | Simplified Chinese |
| `name_zh-Hant` | Traditional Chinese (if available, but may contain some Simplified Chinese) |
| `name_ja` | Japanese |
| `name_ko` | Korean |
| `name_vi` | Vietnamese |

For languages that may have regional variations, the tileset gives no particular preference where place name spellings differ.

> **Note: Considerations for Spanish, French, German, and Chinese**
> 
> **Spanish, French, and German**: For the `name_es`, `name_fr`, and `name_de` labels, there are additional fallback conditions. Where the local name is in a non-Latin writing system and no Spanish, French, or German translation is available, these fields show an English or international version of the name if possible. Otherwise, they show the local name.**Chinese:** The `name_zh-Hant` field contains Mandarin using simplified Chinese characters for our custom label layers: `#place_label` and `#natural_label`. All other label layers are sourced from OpenStreetMap and may contain one of several dialects and either simplified or traditional Chinese characters in the `name_zh-Hant` field. The `name_zh-Hans` field is similar, except any traditional Chinese characters are automatically transformed to Simplified Chinese.

### `name_script` *text*

Wherever there is a `name` field, there is also a `name_script` field that describes the primary script used in that text. This can be helpful for customizing fonts or language fallback conditions. Values include:

```
Arabic
Armenian
Bengali
Bopomofo
Canadian_Aboriginal
Common
Cyrillic
Devanagari
Ethiopic
Georgian
Glagolitic
Greek
Gujarati
Gurmukhi
Han
Hangul
Hebrew
Hiragana
Kannada
Katakana
Khmer
Lao
Latin
Malayalam
Mongolian
Myanmar
Nko
Sinhala
Syriac
Tamil
Telugu
Thaana
Thai
Tibetan
Tifinagh
Unknown
```

The value is *null* if `name` is also null.

### `sizerank` *number*

The `sizerank` field is a value from 0-16 included in label layers where points or lines have been derived from polygons, such as `poi_label`, `natural_label`, `airport_label`. It lets you style and filter based on the size of a feature relative to the current zoom level. The tileset assigns the largest objects `sizerank=0` and assigns points `sizerank=16`.

A single feature has a changing sizerank as you zoom in and the relative size of the feature increases. For example, a park might have a `sizerank` of 9 at z11, 6 at z12, and 2 at z13.

The value is never *null* and is always be within the range 0-16.

### `filterrank` *number*

The `filterrank` field is a value from 0-5 used to customize label density. It's intended to be used in style layer filters (in the ['Select data' tab in Mapbox Studio](https://docs.mapbox.com/studio-manual/reference/styles/#select-data)). The value is relative to the current zoom level. For example, the same POI might have `filterrank=5` at z10 while having `filterrank=1` at z14, since zooming has changed the relative importance of the POI.

You could set `filterrank<=1` to only show the most prominent labels, `filterrank<=3` to produce moderate density, and `filterrank<=5` to see as many labels as possible.

The value is never *null* and is always in the range of 0-5.

### `maki` *text*

Some layers have a `maki` field designed to make it easier to assign icons using the [Maki icon project](https://labs.mapbox.com/maki-icons/) or other icons that follow the same naming scheme. Each layer uses a different subset of the names, but the full list of values used in Mapbox Streets is compiled here so you can make sure your style has all the icons needed across different layers.

Not all icons from the Maki project are used in Mapbox Streets, and different types of related features can sometimes have the same `maki` value (for example universities and colleges, or art supply shops and art galleries). Nameless POIs always have a Maki value of `marker`, the generic default.

The possible values for the `maki` field for all layers are listed below. Icon names that were not part of any layer in v7 are marked with 🆕. No further values will be added in Mapbox Streets v8.

`airport_label`:

```
airport
airfield
heliport
rocket
```

`natural_label`:

```
marker
mountain
volcano
waterfall 🆕
```

`poi_label`:

```
alcohol-shop
american-football 🆕
amusement-park
aquarium
art-gallery
attraction
bakery
bank
bar
basketball 🆕
beach 🆕
beer
bicycle
bowling-alley 🆕
bridge 🆕
cafe
campsite
car
car-rental 🆕
car-repair 🆕
casino 🆕
castle
cemetery
charging-station 🆕
cinema
clothing-store
college
communications-tower 🆕
confectionery 🆕
convenience 🆕
dentist
doctor
dog-park
drinking-water
embassy
farm 🆕
fast-food
fire-station
fitness-centre 🆕
fuel
furniture 🆕
garden
globe 🆕
golf
grocery
harbor
hardware 🆕
horse-riding 🆕
hospital
ice-cream
information
jewelry-store 🆕
laundry
library
lodging
marker
mobile-phone 🆕
monument
museum
music
optician 🆕
park
parking 🆕
parking-garage 🆕
pharmacy
picnic-site
pitch 🆕
place-of-worship
playground
police
post
prison
ranger-station 🆕
religious-buddhist 🆕
religious-christian
religious-jewish
religious-muslim
restaurant
restaurant-noodle 🆕
restaurant-pizza 🆕
restaurant-seafood 🆕
school
shoe 🆕
shop
skateboard 🆕
slipway 🆕
stadium
suitcase 🆕
swimming
table-tennis 🆕
tennis 🆕
theatre
toilet
town-hall
veterinary
viewpoint 🆕
volleyball 🆕
watch 🆕
watermill 🆕
windmill 🆕
zoo
```

`transit_stop_label`:

```
bicycle-share
bus
ferry
rail
rail-metro
rail-light
entrance
```

### `maki_beta` *text*

Maki icons that might be supported in future versions of Mapbox Streets are in `maki_beta` field. Possible values include, but not limited to:

`poi_label`:

```
baseball
lighthouse
landmark
industry
highway-services
highway-rest-area
racetrack-cycling
racetrack-horse
racetrack-boat
racetrack
religious-shinto
observation-tower
restaurant-bbq
tunnel
```

`natural_label`:

```
hot-spring
```

`motorway_junction`:

```
interchange
junction
```

### `worldview` *text*

Mapbox Streets v8 introduces the notion of worldviews to the `admin`, `airport_label`, `natural_label`, and `place_label` data layers. The vector tiles contain multiple versions of some features, each with a `worldview` value indicating the intended audience. When the worldview filter is applied, it must include both `all` and one of the region-specific values. Additionally, for all worldviews except for US worldview, there are classes in respective layers, prefixed with `disputed_` which user must select in conjunction with the worldview filter; classes in respective layers in US worldview do not have the `disputed_` prefix.

**A worldview filter *must* be applied to style layers that use the `admin` data layer**. It is highly recommended to also use a worldview filter with `airport_label`, `natural_label`, and `place_label` data layers to communicate intent, but if no worldview is applied to those layers, the labels displayed on the map will reflect the US worldview.

> **Note**
> 
> In ongoing updates to Mapbox Streets v8, use of the `worldview` field may be expanded. Changes may include both:- Introducing the current concept of `worldview` to new or existing layers.- Adding new values to the list of possible `worldview` values to represent other worldviews (see [*Data stability*](#data-stability)).

> **Note**
> 
> No map display generated by any `worldview` value listed here (or any combination of values) necessarily reflects the official policy of any government or is approved by any government.

| Value | Description |
| --- | --- |
| `all` | Appropriate for all worldviews (most features) |
| `CN` | Features for a mainland Chinese audience/worldview, but not officially approved for use in the PRC. |
| `IN` | Features conforming to cartographic requirements for use in India. |
| `JP` | Features for a Japanese audience, but which do not necessarily reflect official Japanese policy. |
| `US` | Features for an American audience, but which do not necessarily reflect official US foreign policy. |

### `disputed_` class *text*

Many layers have a `class` field. These classes are often used to filter out or style features based on their purpose or characteristics. The available values for the `class` field vary by layer and are detailed in the [Layer Reference](#layer-reference) below.

In layers that have both a `class` field and a `worldview` field, the value for the `class` field can be any value listed in the *Layer Reference* for that layer **or** any of those values prefixed with `disputed_`. When a feature is marked as disputed, it falls under the `disputed_{class}` class. For example, a disputed bay feature belongs to `disputed_bay` class instead of `bay` class.

### `disputed` *text*

While no single map will reflect all global perspectives, acknowledging disputes where they exist is an important aspect of cartography and can lead to more universally usable maps. The `dispute` value will always be either `true` or `false` (never *null*). Any feature with a `disputed_{class}` class will also have set `disputed` to `true`.

## Layer Reference

The Mapbox Streets v8 tileset contains the following layers. For reference, the current minimum-available zoom level for each layer is mentioned, but note that this is subject to change as we roll out updates and improvements. It also does not apply to all features within a layer - only the most prominent features are available at lower-numbered zoom levels, and more features are available as you zoom in. Labels for physically-large features also have a maximum zoom level based on their size.

| Layer | Min. zoom level |
| --- | --- |
| [`admin`](#admin) | 0 |
| [`aeroway`](#aeroway) | 9 |
| [`airport_label`](#airport_label) | 8 |
| [`building`](#building) | 13 |
| [`housenum_label`](#housenum_label) | 16 |
| [`landuse_overlay`](#landuse_overlay) | 5 |
| [`landuse`](#landuse) | 5 |
| [`motorway_junction`](#motorway_junction) | 11 |
| [`natural_label`](#natural_label) | 0 |
| [`place_label`](#place_label) | 0 |
| [`poi_label`](#poi_label) | 5 |
| [`road`](#road) | 3 |
| [`structure`](#structure) | 13 |
| [`transit_stop_label`](#transit_stop_label) | 11 |
| [`water`](#water) | 0 |
| [`waterway`](#waterway) | 7 |

### `admin`

min zoom level: 0buffer: 4

This layer contains boundary lines for national and subnational administrative units. The data source & shapes match polygons from the [Mapbox Boundaries product](https://docs.mapbox.com/data/boundaries/).

#### `admin_level` *number*

The `admin_level` field separates different levels of boundaries.

| Value | Description |
| --- | --- |
| `0` | Countries |
| `1` | First-level administrative divisions |
| `2` | Second-level administrative divisions |

#### `disputed` *text*

While no single map will reflect all global perspectives, acknowledging disputes where they exist is an important aspect of cartography and can lead to more universally usable maps. The `disputed` value will always be either `true` or `false` (never *null*). You should style boundary lines with a `disputed` value of `true` using a dashed or otherwise distinct style from non-disputed lines.

#### `maritime` *text*

Mapbox Streets v8 includes a minimal set of maritime boundaries. These have a `maritime` value of `true` to use for distinct styling or filtering. The value is always either `true` or `false` (never *null*).

#### `iso_3166_1` *text*

The `iso_3166_1` field contains the [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166) code or codes that apply to a boundary. For subnational boundaries this is a single code of the parent country. For international boundaries between two countries, the value is the codes of both countries in alphabetical order, separated by a dash (`-`).

### `aeroway`

min zoom level: 9buffer: 4

The aeroway layer includes both lines and polygons representing runways, helipads, and more.

#### `type` *text*

The `type` field separates different types of aeroways for styling.

| Value | Description |
| --- | --- |
| `runway` | Where planes take off and land |
| `taxiway` | Where planes move between runways, gates, and hangars |
| `apron` | Where planes park, refuel, load |
| `helipad` | Where helicopters take off and land |

#### `ref` *text*

The `ref` field contains runway and taxiway identifiers. The value may be *null*.

### `airport_label`

min zoom level: 8buffer: 64

This layer contains point geometries that are one of: airport, airfield, heliport, and rocket.

See [`names`](#names) and [`name_script`](#name_script) for information about names and translations available for label text.

See [`sizerank`](#sizerank) for information about that field.

#### `ref` *text*

The `ref` field contains short identifier codes for many airports. These are pulled from the OpenStreetMap tags `iata`, `ref`, `icao`, or `faa` (in order of preference). The value may be *null*.

#### `maki` *text*

The `maki` field lets you assign different icons to different types of airports. See the [`maki`](#maki) part of the Common Fields section for more details.

| Value | Description |
| --- | --- |
| `airport` | Most commercial airports |
| `airfield` | Smaller airports and private airfields |
| `heliport` | For helicopters |
| `rocket` | Spaceflight facilities |

#### `class` *text*

The `class` field identifies airports by their primary type of use.

| Value | Description |
| --- | --- |
| `civil` | Airports used for primarily civilian purposes |
| `military` | Airports used for primarily military purposes |

### `building`

min zoom level: 13buffer: 2

Large buildings appear at zoom level 13, and all buildings are included in zoom level 16 and up.

#### `underground` *text*

The `underground` field is `true` for buildings that are underground (for example, some subway stations). This value is always either `true` or `false` (never *null*).

#### `type` *text*

The `type` field lets you style buildings based on their function (for example, `stadium`) and differentiate building parts from building outlines. How a building feature's `type` is assigned depends on a few factors:

-   If a feature is one of several parts of a building intended primarily for 3D rendering, it will have a value of `building:part`.
-   For full buildings from OpenStreetMap:
    -   The value will match the `building` tag from OpenStreetMap ([see TagInfo for common values](http://taginfo.osm.org/keys/building#values)) for all tags except `yes`.
    -   If the feature is tagged `building=yes`, it will have a value of `building`.
-   For full buildings from Zenrin:
    -   The value will match the textual representation of the Zenrin annotation target code (`blcode`).
    -   If the feature has an uncategorized building type in Zenrin, it will have a value of `building`.
-   For full buildings from all other data sources, the value will match the textual representation of a data source owner's building type code.

Possible `type` values for OpenStreetMap building data:

```
apartments
farm
hotel
house
detached
residential
dormitory
terrace
houseboat
bungalow
cabin
commercial
office
industrial
retail
supermarket
warehouse
kiosk
religious
cathedral
temple
chapel
church
mosque
synagogue
shrine
civic
government
hospital
school
transportation
stadium
train_station
university
grandstand
public
barn
bridge
bunker
carport
conservatory
construction
garage
garages
farm_auxiliary
garbage_shed
greenhouse
hangar
hut
pavilion
parking
roof
sports_hall
shed
stable
service
ruins
transformer_tower
water_tower
```

Possible `type` values for Zenrin building data:

| Zenrin `blcode` | Zenrin text | Mapbox Streets type |
| --- | --- | --- |
| 00 | hotel | hotel |
| 01 | commercial | commercial |
| 02 | school | school |
| 03 | leisure | leisure |
| 04 | landmark | landmark |
| 05 | civic, government | civic |
| 06 | hospital | hospital |
| 07 | train station | train_station |
| 08 | other | building |
| else | building | building |

Zenrin textual representations of the Zenrin elcodes like `general building/5F-10F` are normalized to type `building` with the `height` inferred from the textual representation (for example, a `height` of `15m` can be inferred from `5F-10F`)

#### `building_id` *number*

The `building_id` is only present for building parts and it contains the `id` of the parent building it belongs to. Can be used in interactions with features at runtime to highlight complete buildings with their respective parts.

#### `height` *number*

The `height` field contains the height of a building or building part in meters (rounded to the nearest integer). Often this value is derived from the `building:levels` tag on OpenStreetMap. We estimate 3 meters per level if no exact height is specified. This value may be *null* where `extrude` is `false`.

#### `min_height` *number*

The `min_height` field contains the height in meters from the ground to the *bottom* of a building part, for cases where the bottom of the part is not on the ground. This allows for proper extrusion rendering of things such as sky bridges and cantilevered building parts. This value may be *null* where `extrude` is `false`.

#### `extrude` *text*

The `extrude` field indicates whether the object should be included in 3D extrusion renderings. For example a complex building might have various `building:part` objects mapped with different heights and a building object representing the footprint of the entire building. Only the `building:part` objects are needed for 3D rendering, so the full footprint outlines have an `extrude` value of `false`. The `extrude` value is always either `true` or `false` (never *null*).

### `housenum_label`

min zoom level: 16buffer: 64

This layer contains points used to label the street number parts of specific addresses.

#### `house_num` *text*

The `house_num` field contains house and building numbers. These are commonly integers but may include letters or be only letters, for example "1600", "31B", "D". If an address has no number tag but has a house name or building name, the `house_num` field is the name instead.

### `landuse_overlay`

min zoom level: 5buffer: 8

This layer is for landuse and landcover polygons that your style should draw above the [#water](#water) layer.

#### `class` *text*

The main field used for styling the `landuse_overlay` layer is `class`.

| Value | Description |
| --- | --- |
| `national_park` | Relatively large area of land set aside by a government for human recreation and environmental protection |
| `wetland` | Wetlands that may include vegetation (marsh, swamp, bog) |
| `wetland_noveg` | Wetlands that probably don't contain vegetation (mud, tidal flat) |

#### `type` *text*

The `type` field is pulled from the primary OpenStreetMap tags for that class.

### `landuse`

min zoom level: 5buffer: 4

This layer includes polygons representing both landuse and landcover.

It's common for many different types of landuse and landcover to be overlapping, so the polygons in this layer are ordered by the area of their geometries to make sure smaller objects is not be obscured by larger ones. Pay attention to use of transparency when styling – the overlapping shapes can cause muddied or unexpected colors.

#### `class` *text*

The main field used for styling the landuse layer is `class`.

| Value | Description |
| --- | --- |
| `aboriginal_lands` | The boundary of aboriginal lands |
| `agriculture` | Various types of crop and farmland |
| `airport` | Airport grounds |
| `cemetery` | Cemeteries and graveyards |
| `commercial_area` | Area of high commercial activity |
| `facility` | Other facility grounds |
| `glacier` | Glaciers or permanent ice/snow |
| `grass` | Grasslands, meadows, fields, lawns, etc. |
| `hospital` | Hospital grounds |
| `industrial` | Industrial areas |
| `park` | City parks, village greens, playgrounds, national parks, nature reserves, etc. |
| `parking` | Parking areas for automobiles |
| `piste` | Area used for skiing, snowboarding, and other snow/mountain sports |
| `pitch` | Sports fields and courts of all types |
| `residential` | Residential areas |
| `rock` | Bare rock, scree, quarries |
| `sand` | Sand, beaches, dunes |
| `school` | Primary, secondary, post-secondary school grounds |
| `scrub` | Bushes, scrub, heaths |
| `wood` | Woods and forestry areas |

#### `type` *text*

The `type` field is pulled from the primary OpenStreetMap tags for that class.

### `motorway_junction`

min zoom level: 11buffer: 8

This layer contains point geometries for labeling motorway junctions (highway exits). Classes and types match the types in the road layer.

#### `ref` *text*, `reflen` *number*, and `name` *text*

The motorway junction layer has a `ref` field and a `name` field for styling labels. The `reflen` field tells you how long the `ref` value is in case you want to style this layer with shields. All these fields may be *null*.

#### `class` *text* and `type` *text*

The `class` and `type` fields tell you what kind of road the junction is on. See the [#road](#road) layer for possible values.

#### `filterrank` *number*

See [`filterrank`](#filterrank) for information on using this field.

#### `maki_beta` *text*

Future Maki values. See [#maki_beta](#maki_beta).

### `natural_label`

min zoom level: 0buffer: 64

The `natural_label` layer contains points and lines for styling natural features such as bodies of water, mountain peaks, valleys, deserts, and so on.

See [`names`](#names) and [`name_script`](#name_script) for information about names and translations available for label text.

See [`sizerank`](#sizerank) and [`filterrank`](#filterrank) for information on using those fields to style text size and label density.

#### `class` *text* and `maki` *text*

The `natural_label` layer is organized into many different classes for styling and filtering. Within each class, several `maki` values are available for assigning icons to features. See the [`maki`](#maki) part of the *Common Fields* section for more details about that field.

| Class | Maki values | Feature types |
| --- | --- | --- |
| `bay` | `marker` | Inlet in a large body of water |
| `canal` | `marker` | Canals |
| `continent` | `marker` | Continents |
| `dock` | `marker` | Enclosed area of water for ships |
| `glacier` | `marker` | Glaciers |
| `landform` | `mountain` , `volcano` , `marker` | Peaks, meadows, cave entrances, archipelago, island, islet, saddle, fell, desert, valley, etc. |
| `ocean` | `marker` | Oceans |
| `reservoir` | `marker` | Human water containment areas |
| `river` | `marker` | Rivers |
| `sea` | `marker` | Seas and other large water features including some gulfs, straits, bays, etc. |
| `stream` | `marker` | Streams |
| `water_feature` | `waterfall` , `marker` | Waterfalls |
| `water` | `marker` | Lakes, ponds, etc. |
| `wetland` | `marker` | Wetland, marsh |

See the additional [`disputed`](#disputed_-class-text) class.

#### `elevation_m` *number* and `elevation_ft` *number*

The `elevation_m` and `elevation_ft` fields hold the feature elevation in meters and feet, respectively. Values are rounded to the nearest whole number and do not include units. Use a text field such as `{elevation_ft} feet` or `{elevation_m}m` in Mapbox Studio to display the units. These fields may be *null*.

### `place_label`

min zoom level: 0buffer: 128

This layer contains points for labeling places including countries, states, cities, towns, and neighborhoods.

See [`names`](#names) and [`name_script`](#name_script) for information about names and translations available for label text.

See [`filterrank`](#filterrank) for information on using that field.

#### `class` *text*

The `class` field provides a broad distinction between place types and is the main attribute that should be used for styling different place labels. The possible values are:

| Class | Encompasses Types |
| --- | --- |
| `country` | `country`, `territory`, `sar`, `disputed` |
| `state` | `state` |
| `settlement` | `city`, `town`, `village`, `hamlet` |
| `settlement_subdivision` | `suburb`, `quarter`, `neighbourhood` |

See the additional [`disputed`](#disputed_-class-text) class.

#### `type` *text*

The `type` field provides a finer-grain distinction between different kinds of places than `class`.

Unlike the `class` field, not all `type` values are available for each country. New `type` values may be added in the future. See [*Data stability*](#data-stability).

| Value | Description |
| --- | --- |
| `country` | Sovereign or partially-recognized states. |
| `sar` | Special Administrative Region. |
| `territory` | Semi-autonomous or other subnational entities with ISO 3166-1 codes. |
| `disputed_territory` | Disputed territories with ISO 3166-1 codes. |
| `state` | First-level administrative divisions or similar. Only a small subset of these are included to reduce clutter and put focus on cities, towns, etc. |
| `city` | Settlement of about 100,000 or more people. |
| `town` | Urban or rural settlement of about 10,000-100,000 people. |
| `village` | Usually rural settlement of less than about 10,000. |
| `hamlet` | Rural settlement with a population of about 200 or fewer. |
| `suburb` | A distinct section of an urban settlement such as an annexed town, historical district, or large and important neighborhood. |
| `quarter` | A large neighborhood or section of a larger city or town. |
| `neighbourhood` | A smaller neighborhood or part of a larger settlement. |
| `block` | A numbered block. |

#### `symbolrank` *number*

The `symbolrank` value is intended to simplify styling of the label size and symbol prominence of place features. It ranges from 1 to 19 and is consistently assigned across zoom levels. For example, a place with a `symbolrank` of 6 at z7 has the same `symbolrank` value of 6 as you zoom in and out to any other level.

The value is never *null* and is always in the range of 1-19.

#### `iso_3166_1` *text*

The `iso_3166_1` field contains the [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166) code of the country the place is in. The value may be *null*, either due to location match errors or for features that are in international waters.

#### `iso_3166_2` *text*

The `iso_3166_2` field contains the [ISO 3166-2 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) which uniquely identifies a country's subdivision in a global context. The value may be *null*, either due to location match errors or for features that are in international waters.

#### `capital` *number*

The `capital` field allows distinct styling of labels or icons for the capitals of countries, regions, or states and provinces. The value of this field may be `2`, `3`, `4`, `5`, or `6`. National capitals are `2`, and `3` through `6` represent capitals of various sub-national administrative entities. These levels come from OpenStreetMap and have different meanings in different countries - see [the OpenStreetMap wiki](http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dadministrative#admin_level) for specific details.

The value is *null* for any place that is not a capital.

#### `abbr` *text*

This `abbr` field is available for `type`=`state` and provides the local abbreviation of the state.

#### `text_anchor` *text*

The `text_anchor` field can be used as a hint for label placement. Possible values match the [Mapbox Style Spec for text anchor](https://docs.mapbox.com/style-spec/reference/layers/#layout-symbol-text-anchor). The value may be *null*.

| Value | Meaning |
| --- | --- |
| `center` | The center of the text is placed closest to the anchor. |
| `left` | The left side of the text is placed closest to the anchor. |
| `right` | The right side of the text is placed closest to the anchor. |
| `top` | The top of the text is placed closest to the anchor. |
| `bottom` | The bottom of the text is placed closest to the anchor. |
| `top-left` | The top left corner of the text is placed closest to the anchor. |
| `top-right` | The top right corner of the text is placed closest to the anchor. |
| `bottom-left` | The bottom left corner of the text is placed closest to the anchor. |
| `bottom-right` | The bottom right corner of the text is placed closest to the anchor. |

### `poi_label`

min zoom level: 5buffer: 64

This layer is used to place icons and labels for various points of interest (POIs).

See [`names`](#names) and [`name_script`](#name_script) for information about names and translations available for label text.

See [`sizerank`](#sizerank) and [`filterrank`](#filterrank) for information on using those fields to style text size and label density.

See [`maki`](#maki) for more information about using this field for assigning icons.

#### `maki_modifier` *text*

Localized Maki icons are enabled with the `maki_modifier` field. The value of `maki_modifer` corresponds to an ISO country code. If it's present on a feature, you can use it to swap out a default Maki icon with a country-specific one.

For example, the [widely recognized symbol for banks in Japan](https://en.wikipedia.org/wiki/List_of_Japanese_map_symbols) is different than that for the US. In the `poi_label` layer, all features that represent banks have a Maki field with value `bank`. Of those features, the ones located in Japan also have a `maki_modifer` field with a value of `JP`. This allows you to specify the `bank-JP` Maki icon rather than the `bank` icon when styling your map.

#### `maki_beta` *text*

Future Maki values. See [`maki_beta`](#maki_beta).

#### `class` *text*

The `class` field groups points of interest into broad categories for styling purposes. The values are useful for designing icon color schemes, for example.

```
arts_and_entertainment
building
commercial_services
education
food_and_drink
food_and_drink_stores
general
historic
industrial
landmark
lodging
medical
motorist
park_like
place_like
public_facilities
religion
sport_and_leisure
store_like
visitor_amenities
```

#### `brand` *text*

The `brand` field is one of the standardized brand names listed below. Like `maki`, the `brand` string is the base name of a SVG icon image. While `maki` is for a general noun (for example: `bank`), the `brand` field is for a specific noun (for example: `juroku-bank`). The value for the field is either *null* or a string.

The list of possible brand values will expand with future updates. Possible values include, but not limited to:

```
114-bank
21rentacar
2nd-street
31-ice-cream
7-eleven
77bank
access-honda
advanced-area
aen
aeon
aiya
akita-bank
alfa-romeo
alpen
alpine-marketing
ampm
aoki
aomori-bank
aoyama
asahi-bank
asakuma
asakuma-gogo-cafe
ashikaga-bank
atom
atom-boy
audi
autobacs
autohelloes
autotech
aw
awa-bank
b-kids
bamiyan
barneys-newyork
becks-coffee
bentley
benz
best-denki
big-boy
bikkuri-donkey
bldy
bmw
bmw-motorrad
bon-belta
book-off
bronco-billy
budget
burger-king
cafe-colorado
cafe-de-crie
caffe-veloce
carenex
carlife-stadium-rentacar
casa
chiba-bank
chrysler
circle-k
citroen
cockpit
coco-ichibanya
coco-store
cocos
cocostorecoco
community-store
cosmo-oil
costco
dai-ichi-kangyo-bank
daiei
daihatsu
daily-store
daimaru
daisan-bank
daishi-bank
daiwa
daiwa-bank
dennys
deodeo
dio
domdom-hamburger
doutor-coffee
dramatic-area
duo
ehime-bank
eki-rent-a-car
eneos
esso-oil
eunos
excelsior-caffe
expasa
f-rent-a-car
fahren
family-yusa
familymart
ferrari
fiat
first-kitchen
food-style-98
ford
forus
fracasso
freshness-burger
fuji-bank
fukudaya-department-store
fukui-bank
fukuoka-bank
fukuya
futata
garage-off
gare
general-motors
general-oil
gindaco
gmdat
grache-gardens
gulliver
gusto
haagen-dazs-shop
hachijuni-bank
half-dime
hamacho
hamazushi
hamburg-restaurant-bell
hankyu-department-store
hanshin
hard-off
haruyama
heisei-car
heiwado
higo-bank
hihirose
hino
hiroshima-bank
hitokuchi-chaya
hobby-off
hokkaido-bank
hokkaido-oil
hokkoku-bank
hokuren
hokuriku-bank
hokuto-bank
honda
honda-bike
honda-cars
honda-clio
honda-hisuko
honda-primo
honda-verno
hoshino-coffee
hot-spar
hyakugo-bank
hyundai
ichibata-department-store
idemitsu-oil
ikinari-steak
inageya
isetan
isuzu
italian-tomato-cafe-jr
ito-yokado
itsumo-rent-a-car
iwataya
iwate-bank
izumi
izumiya
izutsuya
j-net-rentcar
ja
ja-ss
jaf
jaguar
japan-energy
japan-post-bank
japan-post-insurance
japan-rent-a-car
jolly-ox
jolly-pasta
jomo
jonathans
joyful-city
joyfull
joyo-bank
jujiya
jumble-store
juroku-bank
jusco
jvc-kenwood
kagoshima-bank
kaisen-misakiko
kaiten-atom-sushi
kasumi
kawasaki
kawatoku
keihan-department-store
keio-department-store
kfc
kintetsu-department-store
kitakyushu-bank
kohikan
komedas-coffee
kozosushi
kygnus-oil
kyoto-bank
kyubeiya
kyushu-oil
laforet-harajuku
lamborghini
lamu
landrover
lawson
lexus
life
lotteria
lotus
lumine
maruei
maruetsu
maruetsupetit
marugame-seimen
maruhiro-department-store
maruhoncowboy
marui
marunen-me
maserati
matsubishi
matsuya
matsuya-department-store
matsuyadenki
matsuzakaya
mazda
mazda-autozam
mazda-enfini
mazda-rent-lease
mcdonalds
meitetsu-pare-department-store
melsa
meshiya-miyamoto-munashi
meshiyadon
michi-no-eki
michinoku-bank
milky-way
mini
mini-piago
ministop
mister-donut
mitsubishi-car-plaza
mitsubishi-corporation-energy
mitsubishi-fuso
mitsubishi-motors
mitsubishi-oil
mitsui-oil
mitsukoshi
mizuho-bank
mizuho-corporate-bank
mmc-rent-a-car
mobil-oil
mode-off
momiji-bank
montecarlo
mos-burger
motenasu
ms-dining
mt-fuji
mufg-bank
my-basket
nagasakiya
nakago
nakasan
nakau
natural-lawson
navi
neopasa
netz-toyota
niconicorentacar
nippo-rent-a-car-system
nippon-oil
nippon-rent-a-car
nippon-rental-car
nissan
nissan-cherry
nissan-forklift
nissan-motor
nissan-parts
nissan-prince
nissan-rent-a-car
nissan-satio
north-pacific-bank
north-wing-rent-a-car
ntt
odakyu-department-store
off-house
ohsho
oita-bank
oita-rental
ok
okadaya
okajima
okuno
okuwa
olympic
onuma
orix-rent-a-car
osaka-ohsho
ots-rentacar
palty-fuji
parco
pasar
pavarie
pepper-lunch
petras
peugeot
plaka
platpark
poplar
popolo
poppo
pork-cutlet-hamakatsu
porsche
pronto
ralse
recycle-mart
red-cabbage
red-lobster
renault
renoir
rent-a-car-japaren
resona-bank
ringer-hut
robinsons-department-store
rolls-royce
rover
royal-host
saga-bank
saga-rent-lease
saijo-department-store
saikaya
saint-marc
saitama-resona-bank
saizeriya
sakura-bank
san-in-goto-bank
sanbangai
sanei
santa-no-souko
sanwa-bank
sato
saty
save-on
sawayaka
seattles-best-coffee
seibu
seicomart
seiyu
shabushabu-dontei
shiga-bank
shikoku-bank
shinkin-bank
shinwa-bank
shizuoka-bank
showa-shell-oil
sizzler
sky-rentallease
skylark
smile-santa
sogo
sokoseikatsukan
solato
spar
starbucks-coffee
steak-hamburg-ken
steak-miya
steak-miya-libero
steak-no-don
stefan-grill
stern
store100
subaru
subway
suehiro
sukiya
sumitomo-bank
sumitomo-mitsui-banking-corporation
sun-every
sundays-sun
sunkus
sunpiazza
suruga-bank
sushihan
suzuki
suzuki-bike
suzuran-department-store
syabu-yo
tachiya
tacti-toyota
taiyakan
takarajima
takashimaya
tamaya
tempura-tendon-tenya
tenmaya
the-chugoku-bank
the-eighteenth-bank
the-iyo-bank
the-nishi-nippon-city-bank
the-toho-bank
three-f
times-car-rental
tobu-department-store
tokai-bank
tokiwa
tokyo-mitsubishi-bank
tokyu-department-store
tokyu-store
tomato-onion
tonden
topos
toyopet
toyota
toyota-corolla
toyota-diesel
toyota-forklift
toyota-parts
toyota-rent-a-car
toyota-vista
tsuruya-department-store
tullys-coffee
ud-trucks
ueshima-coffee-house
ufj-bank
uny
uobei
victoria
victoria-station
vivre
volks
volkswagen
volvo
welcome-gate
wendys
x-rent-a-car
yakiniku-king
yamaguchi-bank
yamaha
yamaha-bike
yamakataya
yamazaki-shop
yanagen
yanase
yao-department-store
yaohan
yasmocca
yayoiken
yellow-hat
yokohama-bank
york-benimaru
yoshinoya
you-me-mart
yumean
yuzuan
zenrin
```

#### `type` *text*

The `type` field contains a more specific classification intended for display (for example, 'Cafe', 'Hotel', or 'Laundry'). These values come from either the original OpenStreetMap tags or Zenrin and are not a limited set.

```
Resort
Library
Parking
Bank
Aquarium
Food
Cemetery
Station
Christian
Course
Office
School
Supermarket
Military
Castle
Beach
Buddhist
Cream
Shop
Centre
Stadium
Police
Hotel
Raceway
Hospital
Restaurant
Zoo
Museum
Park
Greengrocer
Marina
Ruins
Garden
Viewpoint
Convenience
Cafe
Area
Site
University
Fuel
Townhall
Ice rink
Sports centre
Department store
```

#### `category_en` *text* and `category_zh-Hans` *text*

The `category_en` and `category_zh-Hans` fields contain translated category descriptions for POIs. These can be used as a fallback or as supplemental information where English or simplified Chinese translations may not exist. These values may be *null* for OpenStreetMap data and are always *null* for Zenrin data in Japan.

Language coverage may be expanded in a future v8 update.

### `road`

min zoom level: 3buffer: 4

The roads layer contains lines, points, and polygons needed for drawing features such as roads, railways, paths and their labels.

See [`names`](#names) and [`name_script`](#name_script) for information about names and translations available for label text.

#### `class` *text*

The main field used for styling the road layer is `class`.

| Value | Description |
| --- | --- |
| `motorway` | High-speed, grade-separated highways. |
| `motorway_link` | Link roads/lanes/ramps connecting to motorways. |
| `trunk` | Important roads that are not motorways. |
| `trunk_link` | Link roads/lanes/ramps connecting to trunk roads. |
| `primary` | A major highway linking large towns. |
| `primary_link` | Link roads/lanes connecting to primary roads. |
| `secondary` | A highway linking large towns. |
| `secondary_link` | Link roads/lanes connecting to secondary roads. |
| `tertiary` | A road linking small settlements, or the local centers of a large town or city. |
| `tertiary_link` | Link roads/lanes connecting to tertiary roads. |
| `street` | Standard unclassified, residential, road, and living_street road types. |
| `street_limited` | Streets that may have limited or no access for motor vehicles. |
| `pedestrian` | Includes pedestrian streets, plazas, and public transportation platforms. |
| `construction` | Includes motor roads under construction (but not service roads, paths, etc.). |
| `track` | Roads mostly for agricultural and forestry use. |
| `service` | Access roads, alleys, agricultural tracks, and other services roads. Also includes parking lot aisles, and public and private driveways. |
| `ferry` | A boat that may take passengers on foot, in motor vehicles, or both. |
| `path` | Foot paths, cycle paths, ski trails. |
| `major_rail` | Railways, including mainline, commuter rail, and rapid transit. |
| `minor_rail` | Includes light rail and tram lines. |
| `service_rail` | Yard and service railways. |
| `aerialway` | Ski lifts, gondolas, and other types of aerialway. |
| `golf` | The approximate center line of a golf course hole. |
| `junction` | (point) Road junction. |
| `roundabout` | (point) Circular continuous-flow intersection. |
| `mini_roundabout` | (point) Smaller variation of a roundabout with no center island or obstacle. |
| `turning_circle` | (point) Widened section at the end of a cul-de-sac for turning around a vehicle. |
| `turning_loop` | (point) Like a turning circle but with an island or other obstruction at the centerpoint. |
| `traffic_signals` | (point) Lights or other signal controlling traffic flow at an intersection. |
| `level_crossing` | (point) Where a road crosses a railway on the same level (not a bridge). |
| `intersection` | (point) Indicating the class and type of roads meeting at an intersection. Intersections are only available in Japan. |

#### `oneway` *text*

The `oneway` field indicates whether the motor traffic on the road is one-way or not. If the road is one-way, traffic travels in the same direction as the linestring. The value is always either `true` or `false` (never *null*).

#### `dual_carriageway` *text*

The `dual_carriageway` field indicates whether a road is separated from oncoming traffic by a median strip. The value can be either `true` or `false`, otherwise the field is absent. This field is only available within Japan.

#### `access` *text*

The `access` field indicates whether the road segment has restrictions on the use. If restrictions exists, the value is `restricted`, otherwise the field is absent.

#### `structure` *text*

The `structure` field describes whether the road segment is a `bridge`, `tunnel`, `ford`, or `none` of those. No further values will be added in Mapbox Streets v8.

#### `bike_lane` *text*

The `bike_lane` field indicates if there is a bike lane that is part of the road itself. This is different from separated cycle tracks, which are mapped as their own object in the roads layer, and receive `class`=`path`, `type`=`cycleway`.

This value may be null where explicit bike lane details are unknown.

| Value | Description |
| --- | --- |
| `yes` | Bike lane present, side of road not specified. |
| `left` | Bike lane present on the left side of the road. |
| `right` | Bike lane present on the right side of the road. |
| `both` | Bike lane present on both sides of the road. |
| `no` | Road has no bike lane. |

#### `iso_3166_1` *text*

The `iso_3166_1` field contains the [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166) code of the country the road is in. The value may be *null*, either due to location match errors or for features that are in international waters.

#### `iso_3166_2` *text*

The [ISO 3166-2 code](https://en.wikipedia.org/wiki/ISO_3166-2) of the state/province/region the road is in. Not all areas are covered by this standard and the value may be *null*.

##### `toll` *text*

The `toll` field is `true` for toll roads and not present / null for all other roads.

#### `ref` *text* and `reflen` *number*

Besides the standard name fields, there is also a `ref` field that holds any reference codes or route numbers a road may have.

The `reflen` value indicates how many characters are in the corresponding `ref` to help you choose an appropriate size of shield graphic. The valid range is 2-6 but more detailed ranges for specific shield designs are noted below. Note that `ref` values with a single character are assigned a `reflen` value of 2 to reduce the number of required shield graphics.

From zoom levels 6 through 10, `ref` values are attached to separate points rather than lines to optimize symbol placement.

Both `ref` and `reflen` may be *null*.

#### `shield` *text*

The `shield` values help to assign highway shield graphics. They should be combined with `ref` for the text on the shield and `reflen` to determine the width of shield image needed. The [`shield-text-color`](#shield-text-color) field can be used for styling the shield text.

Routes that can be symbolized with shields of a common shape and color have generic shared shield values:

| Value | `reflen` range | Description |
| --- | --- | --- |
| `default` | 2-6 | No specific shield design suggested. |
| `rectangle-white` | 2-6 |  |
| `rectangle-red` | 2-6 |  |
| `rectangle-orange` | 2-6 |  |
| `rectangle-yellow` | 2-6 |  |
| `rectangle-green` | 2-6 |  |
| `rectangle-blue` | 2-6 |  |
| `circle-white` | 2-6 |  |

Other highways with more specific shield design requirements are captured individually:

| Value | `reflen` range | Description |
| --- | --- | --- |
| `ae-national` | 3-4 | United Arab Emirates national routes |
| `ae-d-route` | 3-4 | UAE Dubai D-routes |
| `ae-f-route` | 3 | UAE Fujairah F-routes |
| `ae-s-route` | 4 | UAE Sharjah S-routes |
| `au-national-highway` | 2-3 | Australia national highways |
| `au-national-route` | 2-6 | Australia national routes |
| `au-state` | 2-6 | Australia state roads |
| `au-tourist` | 2-3 | Australia tourist routes |
| `br-federal` | 3 | Brazil federal highways |
| `br-state` | 2-3 | Brazil state highways |
| `ch-motorway` | 2-3 | Switzerland motorways |
| `cn-nths-expy` | 3-5 | China national expressway |
| `cn-provincial-expy` | 3-5 | China provincial/regional expressway |
| `de-motorway` | 2-3 | Germany motorways (Autobahnen) |
| `gr-motorway` | 2-4 | Greece motorways |
| `hk-strategic-route` | 2 | Hong Kong strategic routes |
| `hr-motorway` | 3-4 | Croatia motorways |
| `hu-motorway` | 2-3 | Hungary motorways |
| `hu-main` | 2-5 | Hungary main roads |
| `in-national` | 2-4 | India national highways and expressways |
| `in-state` | 2-3 | India state highways |
| `kr-natl-expy` | 2-3 | South Korea national expressways |
| `kr-natl-hwy` | 2 | South Korea national highways |
| `kr-metro-expy` | 2-3 | South Korea metropolitan expressways |
| `kr-metropolitan` | 2-6 | South Korea metropolitan routes |
| `kr-local` | 2-6 | South Korea local routes |
| `mx-federal` | 2-4 | Mexico federal highways |
| `mx-state` | 2-4 | Mexico state highways |
| `nz-state` | 2-3 | New Zealand state highways |
| `pe-national` | 2-3 | Peru national highways |
| `pe-regional` | 3-4 | Peru departmental / regional highways |
| `ro-national` | 2-3 | Romania national roads |
| `ro-county` | 3-4 | Romania county roads |
| `ro-communal` | 2-4 | Romania communal roads |
| `si-motorway` | 2 | Slovenia motorways |
| `tw-national` | 2 | Taiwan national routes |
| `tw-provincial-expy` | 2 | Taiwan provincial expressways |
| `tw-provincial` | 2 | Taiwan provincial routes |
| `tw-county-township` | 2-6 | Taiwan county / township routes |
| `us-interstate` | 2-4 | US Interstates |
| `us-interstate-duplex` | 4-5 | US Interstates - segment shared by 2 route numbers |
| `us-interstate-business` | 2-3 | US Interstates - business routes |
| `us-interstate-truck` | 2-3 | US Interstates - truck routes |
| `us-highway` | 2-4 | US highways |
| `us-highway-duplex` | 3-5 | US highways - segment shared by 2 route numbers |
| `us-highway-alternate` | 2-3 | US highways - alternate routes |
| `us-highway-business` | 2-3 | US highways - business routes |
| `us-highway-bypass` | 2-3 | US highways - bypasses |
| `us-highway-truck` | 2-3 | US highways - truck routes |
| `us-bia` | 2-4 | US BIA Indian routes |
| `za-national` | 2-3 | South Africa national routes |
| `za-provincial` | 2 | South Africa provincial routes |

The `shield` value is *null* where `ref` is also *null*. No further `shield` values will be added in Mapbox Streets v8.

#### `shield_text_color` *text*

Used to style the text on the highway shield icon.

Possible values:

```
black
blue
white
yellow
orange
```

#### `type` *text*

The `type` field is the value of the road's "primary" OpenStreetMap tag. For most roads this is the `highway` tag, but for aerialways it is the `aerialway` tag, and for golf holes it is the `golf` tag. See [TagInfo](http://taginfo.openstreetmap.org/keys/highway#values) for a list of used tag values. Several classes pull in additional detail when it is available from OpenStreetMap.

Possible `construction` class `type` values:

```
construction:motorway
construction:motorway_link
construction:trunk
construction:trunk_link
construction:primary
construction:primary_link
construction:secondary
construction:secondary_link
construction:tertiary
construction:tertiary_link
construction:unclassifed
construction:residential
construction:road
construction:living_street
construction:pedestrian
construction
```

Possible `track` class `type` values:

```
track:grade1
track:grade2
track:grade3
track:grade4
track:grade5
track
```

Possible `service` class `type` values:

```
service:alley
service:emergency_access
service:drive_through
service:driveway
service:parking
service:parking_aisle
service
```

For the `path` class, the tileset made custom type assignments based on insight from various categorical, physical, and access tags from OpenStreetMap.

| Value | Description |
| --- | --- |
| `steps` | Stairs |
| `corridor` | An indoors passageway |
| `sidewalk` | Also called pavement in many places outside North America |
| `crossing` | Usually connects sidewalk lines across a road |
| `piste` | Ski and snowboard trails, both downhill and cross-country |
| `mountain_bike` | Trails used primarily or only for mountain biking |
| `hiking` | Hiking trails or otherwise rough pedestrian paths |
| `trail` | May be suitable for either hiking or mountain biking |
| `cycleway` | Paths primarily or only for cyclists |
| `footway` | Paths primarily or only for pedestrians |
| `path` | Unspecified or mixed-use paths |
| `bridleway` | Equestrian trails |

Possible `ferry` class `type` values:

| Value | Description |
| --- | --- |
| `ferry_auto` | Ferry serves automobiles |
| `ferry` | No or unspecified automobile service |

Possible `aerialway` class `type` values:

| Value | Description |
| --- | --- |
| `aerialway:cablecar` | One or two large cars. The cable forms a loop, but the cars do not loop around, they move up and down on their own side. |
| `aerialway:gondola` | Many cars on a looped cable. |
| `aerialway:mixed_lift` | Mix of chair lifts and gondolas on the same line; may change seasonally. |
| `aerialway:chair_lift` | Looped cable with a series of single chairs and exposed to the open air. |
| `aerialway:drag_lift` | Includes t-bars, j-bars, platter/button lifts, and tow ropes. |
| `aerialway:magic_carpet` | Conveyor belt installed at the level of the snow, some include a canopy or tunnel. |
| `aerialway` | Other or unspecified type of aerialway. |

`class` and `type` mapping for Zenrin data in Japan:

| Zenrin elcode digit 2 | Zenrin elcode digit 4 | Mapbox `class` | Mapbox `type` |
| --- | --- | --- | --- |
| Urban Expressway | Main Line (Divided) Link | motorway | urban_expressway |
| Expressway | Main Line (Divided) Link | motorway | expressway |
| National Route | Main Line (Divided) Link | motorway | national_route |
| Crossing |  | path | crossing |
| Main Local Road | Main Line (Divided) Link | primary | main_local_road |
| Main Local Road | Main Line (Undivided) Link | primary | main_local_road |
| Main Local Road | Side road with same route with main line | primary | main_local_road |
| Main Local Road | Others | primary | main_local_road |
| Main Local Road | Ramp Link | primary_link | main_local_road |
| General Street | Ramp Link | residential_link | general_street |
| General prefectural Road | Main Line (Undivided) Link | secondary | general_prefectural_road |
| General prefectural Road | Others | secondary | general_prefectural_road |
| General prefectural Road | Main Line (Divided) Link | secondary | general_prefectural_road |
| General prefectural Road | Ramp Link | secondary_link | general_prefectural_road |
| National Route | Service road, for example SA link | service | national_route |
| Urban Expressway | Service road, for example SA link | service | urban_expressway |
| Thin Road | Others | street | thin_road |
| General Street | Main Line (Divided) Link | street | general_street |
| General Street | Main Line (Undivided) Link | street | general_street |
| General Street | Others | street | general_street |
| General Street | Roundabout | street | general_street |
| Thin Road | Main Line (Undivided) Link | street_limited | thin_road |
| Major general street | Main Line (Undivided) Link | tertiary | major_general_street |
| Major general street | Main Line (Divided) Link | tertiary | major_general_street |
| Major general street | Others | tertiary | major_general_street |
| Major general street | Ramp Link | tertiary_link | major_general_street |
| National Route | Others | trunk | national_route |
| National Route | Main Line (Undivided) Link | trunk | national_route |
| National Route | Side road with same route with main line | trunk | national_route |
| National Route | Junction Link (between Main Line) | trunk_link | national_route |
| Urban Expressway | Ramp Link | trunk_link | urban_expressway |
| Expressway | Junction Link (between Main Line) | trunk_link | expressway |
| Expressway | Ramp Link | trunk_link | expressway |
| Urban Expressway | Junction Link (between Main Line) | trunk_link | urban_expressway |
| National Route | Ramp Link | trunk_link | national_route |

#### `layer` *number*

The `layer` field is used to determine drawing order of overlapping road segments in the tunnel and bridge layers. The value may be any integer number, but 95% of values are -1, 1, or 0, and 99.9999% of values are between -5 and 5.

#### `len` *number*

The `len` field stores the length of the road segment in projected meters, rounded to the nearest whole number. This can be useful for limiting some label styles to longer roads. The value may be *null* where the geometry is not a line.

#### `lane_count` *number*

The `lane_count` field stores the count of lanes present in the road. These values are available only in Japan between zoom 12 and zoom 14. The value may be `null`.

### `structure`

min zoom level: 13buffer: 4

This layer includes points, lines and polygons for structures which are not buildings. This includes both natural and human features, like cliffs, walls, piers, gates, steps, and towers.

Cliff data is designed such that the left-hand side of the line is the top of the cliff, and the right-hand side is the bottom.

Steps and tower data is only available in Japan.

#### `class` *text*

| Value | Description |
| --- | --- |
| `cliff` | The precipice of a vertical or steep drop, gullies are included |
| `crosswalk` | Pedestrian crossings that are points |
| `entrance` | Building entrances and entrances to enclosed areas |
| `fence` | Include various types of fence and wall barriers |
| `gate` | Gates that are points, lines or areas are included |
| `hedge` | A line of closely spaced shrubs and tree species, which form a barrier or mark the boundary of an area |
| `land` | Includes breakwaters and piers |
| `steps` | LineStrings representing outline of steps |
| `tower` | LineStrings representing outline of manufactured non-buildings such as power towers |

#### `type` *text*

The `type` field contains the original value of the feature's primary tag from OpenStreetMap.

### `transit_stop_label`

min zoom level: 11buffer: 64

The `transit_stop_label` contains points for symbolizing transit stops, stations, and associated features such as entrances.

See [`names`](#names) and [`name_script`](#name_script) for information about names and translations available for label text.

#### `stop_type` *text*

| Value | Description |
| --- | --- |
| `station` | Used as the standard stop type for most rail and ferry modes. For buses and trams, stations represent centralized hubs. |
| `stop` | Used for bus and tram modes as the standard stop type. They are generally more frequently-spaced than stations and may need smaller symbols/text. |
| `entrance` | Specific entry points to a station. |

#### `mode` *text*

| Value | Description |
| --- | --- |
| `rail` | National, regional, or commuter rail systems. |
| `metro_rail` | Urban rapid transit systems with dedicated rights of way, sometimes partially or fully underground. |
| `light_rail` | Less capacity than heavy/metro rail. Often on tracks separated from motor traffic but may share grade at intersections. |
| `tram` | Lighter rail with 1 or 2 carriages, often on a tracks shared with motor vehicle traffic. |
| `monorail` | Often medium-low capacity and with localized or private use such as in theme parks or airports. |
| `funicular` | Cable-driven inclined railways. Often touristic and low-capacity. |
| `bicycle` | For bicycle rental docks/stations. |
| `bus` | For bus stops or stations. |
| `ferry` | A boat that may take passengers on foot, in motor vehicles, or both. |

#### `maki` *text*

The `maki` field lets you assign icons to the rail station based on a few basic station types. See [`maki`](#maki) in the *Common Fields* section for more information.

| Value | Description |
| --- | --- |
| `bicycle-share` | For bicycle rental docks/stations |
| `bus` | Bus stop or station |
| `ferry` | Ferry terminal |
| `rail` | Default rail station |
| `rail-metro` | Station for a subway, metro, or other rapid-transit system |
| `rail-light` | Light rail station |
| `entrance` | Specific station entrance points (for example stairs, escalators, elevators) |

#### `network` *text*

The `network` field lets you assign more specific icons for rail stations that are part of specific local or regional transit systems. They don't necessarily correspond to a specific network - for example `de-u-bahn` applies to any U-Bahn network in Germany since these can all use the same icon in a map style. Some stations serve multiple networks. in these cases, multiple network names are joined with a dot in alphabetical order.

If none of the specific networks below apply to a station, the `network` value is the same as the `maki` value (see previous section).

| Value | Description |
| --- | --- |
| `barcelona-metro` | Barcelona, Spain |
| `boston-t` | Boston, Massachusetts |
| `chongqing-rail-transit` | Chongqing, China |
| `de-s-bahn` | Germany |
| `de-s-bahn.de-u-bahn` | Germany |
| `de-u-bahn` | Germany |
| `delhi-metro` | Delhi, India |
| `gb-national-rail` | London, United Kingdom |
| `gb-national-rail.london-dlr` | London, United Kingdom |
| `gb-national-rail.london-dlr.london-overground.london-tfl-rail.london-underground` | London, United Kingdom |
| `gb-national-rail.london-dlr.london-overground.london-underground` | London, United Kingdom |
| `gb-national-rail.london-dlr.london-underground` | London, United Kingdom |
| `gb-national-rail.london-overground` | London, United Kingdom |
| `gb-national-rail.london-overground.london-tfl-rail.london-underground` | London, United Kingdom |
| `gb-national-rail.london-overground.london-underground` | London, United Kingdom |
| `gb-national-rail.london-tfl-rail` | London, United Kingdom |
| `gb-national-rail.london-tfl-rail.london-overground` | London, United Kingdom |
| `gb-national-rail.london-tfl-rail.london-underground` | London, United Kingdom |
| `gb-national-rail.london-underground` | London, United Kingdom |
| `hong-kong-mtr` | Hong Kong |
| `kiev-metro` | Kiev, Ukraine |
| `london-dlr` | Docklands Light Rail, London, United Kingdom |
| `london-dlr.london-tfl-rail` | London, United Kingdom |
| `london-dlr.london-tfl-rail.london-underground` | London, United Kingdom |
| `london-dlr.london-underground` | London, United Kingdom |
| `london-overground` | London Overground, United Kingdom |
| `london-overground.london-tfl-rail` | London Overground, United Kingdom |
| `london-overground.london-tfl-rail.london-underground` | London Overground, United Kingdom |
| `london-overground.london-underground` | London, United Kingdom |
| `london-tfl-rail` | London, United Kingdom |
| `london-tfl-rail.london-underground` | London, United Kingdom |
| `london-underground` | London Underground, United Kingdom |
| `madrid-metro` | Madrid, Spain |
| `mexico-city-metro` | Mexico City, Mexico |
| `milan-metro` | Milan, Italy |
| `moscow-metro` | Moscow Metro, Russia |
| `new-york-subway` | New York City, New York |
| `osaka-subway` | Osaka, Japan |
| `oslo-metro` | Oslo, Norway |
| `paris-metro` | Paris Metro, France |
| `paris-rer` | Paris regional commuter rail, France |
| `paris-metro.paris-rer` | Paris, France |
| `paris-rer.paris-transilien` | Paris, France |
| `paris-transilien` | Paris suburban rail, France |
| `philadelphia-septa` | Philadelphia, Pennsylvania |
| `san-francisco-bart` | San Francisco, California |
| `singapore-mrt` | Singapore |
| `stockholm-metro` | Stockholm, Sweden |
| `taipei-metro` | Taipei, Taiwan |
| `tokyo-metro` | Tokyo, Japan |
| `vienna-u-bahn` | Vienna, Austria |
| `washington-metro` | Washington DC Metro |

No further `network` values will be added in Mapbox Streets v8.

#### `network_beta` *text*

`network` values that might be supported in future versions of Mapbox Streets. Possible values include, but not limited to:

```
jp-shinkansen
jp-shinkansen.jp-jr
jp-shinkansen.tokyo-metro
jp-shinkansen.osaka-subway
jp-shinkansen.jp-jr.tokyo-metro
jp-shinkansen.jp-jr.osaka-subway
jp-jr
jp-jr.tokyo-metro
jp-jr.osaka-subway
```

#### `filterrank` *text*

See [`filterrank`](#filterrank) for information on using this field.

### `water`

min zoom level: 0buffer: 8

This layer includes all types of bodies of water, including oceans, rivers, lakes, ponds, reservoirs, fountains, and more.

It is a polygon layer with no differentiating types or classes, and consists of a single merged shape per tile. This allows for seamless stroke and transparency styling, but means there is no way to filter out or highlight specific water bodies or a partial subset of them.

Each zoom level includes a set of water bodies that has been filtered and simplified according to scale. The tileset shows only oceans, seas, and large lakes at the lowest zoom levels, while smaller lakes and ponds appear when zoomed in.

### `waterway`

min zoom level: 7buffer: 4

The waterway layer contains classes for rivers, streams, canals, etc. represented as lines. These classes can represent a wide variety of possible widths. Since larger rivers and canals are usually also represented by polygons in the [`water`](#water) layer, line styling should be biased toward the smaller end of the scales. The `waterway` layer should also be under the `water` layer.

#### `class` *text* and `type` *text*

The waterway layer has two fields for styling, `class` and `type`, each with similar values.

| Value | Description |
| --- | --- |
| `river` | All rivers, from the Amazon to small creeks a few meters wide. |
| `canal` | Medium to large artificial waterway. |
| `stream` | Small waterway, usually no wider than 1-2 meters. |
| `stream_intermittent` | **Class only**. A stream that does not always have water flowing through it. |
| `drain` | Medium to small artificial channel for rainwater drainage, often concrete lined. |
| `ditch` | Small artificial channel dug in the ground for rainwater drainage. |

## Changelog

> **Note: Migration guide**
> 
> For more detailed guidance on migrating an existing style from Mapbox Streets v7 to Streets v8, see the [Migrate from Mapbox Streets v7 to v8](https://docs.mapbox.com/help/troubleshooting/streets-v8-migration-guide/) guide.

### Japan update

Mapbox extended the v8 schema to support new data sources in Japan, USA, Canada, Australia, UAE, Uganda, and Tanzania.

As part of the update, the schema contains new values that allow you to tailor your map better to new geographies such as Japan.

-   New field for multiple layers:
    -   [`worldview`](#worldview) - provides the option to tailor features to preferences of audiences in different locales. Now included for the following layers: `admin`, `airport_label`, `natural_label`, `place_label`.

[`airport_label`](#airport_label) layer:

-   New field: `class`

[`building`](#building) layer:

-   The `type` field is bounded to only the most common `type` values and contains additional types as translated from Zenrin.

[`landuse`](#landuse) layer:

-   The `class` and `type` fields contain additional values as translated from Zenrin.

[`poi_label`](#poi_label) layer:

-   The `type` field contains additional types as translated from Zenrin annotation codes.
-   New field [`maki_modifier`](#poi_label-maki_modifier) can be used to switch localization of Maki.
-   New field [`maki_beta`](#maki_beta) that stores Maki values that might be supported in future Mapbox Streets versions.
-   New field [`brand`](#poi_label-brand) can be used to assign more specific icons to POIs.

[`road`](#road) layer:

-   The `type` field contains additional types specific to Japan.
-   New field: [`toll`](#road-toll)

[`place_label`](#place_label) layer:

-   New field: `iso_3166_2`

[`motorway_junction`](#motorway_junction) layer:

-   New field: [`maki_beta`](#maki_beta) that stores Maki values that might be supported in the future.
-   New field: [`filterrank`](#filterrank)

[`transit_stop_label`](#transit_stop_label) layer:

-   New field: [`network_beta`](#transit_stop_label-network) that stores network values that might be supported in the future.
-   New field: [`filterrank`](#filterrank)

### Changes between v7 and v8

The layers and properties in Mapbox Streets v8 have undergone a major reorganization to optimize for styling with the latest features in Mapbox Studio such as expressions. We've also expanded coverage of feature types and properties for styling, with a particular emphasis on labels and icons.

-   3 new layer names:
    -   [`natural_label`](#natural_label)
    -   [`structure`](#structure)
    -   [`transit_stop_label`](#transit_stop_label)
-   9 removed layer names. The data from these layers have moved into other layers as noted here:
    -   `barrier_line` - data moved to new layer [`structure`](#structure)
    -   `country_label` - data moved to [`place_label`](#place_label)
    -   `marine_label` - data moved to new layer [`natural_label`](#natural_label)
    -   `mountain_peak_label` - data moved to new layer [`natural_label`](#natural_label)
    -   `rail_station_label` - data moved to new layer [`transit_stop_label`](#transit_stop_label)
    -   `road_label` - data moved to [`road`](#road)
    -   `state_label` - data moved to [`place_label`](#place_label)
    -   `water_label` - data moved to new layer [`natural_label`](#natural_label)
    -   `waterway_label` - data moved to new layer [`natural_label`](#natural_label)
-   New ranking fields for label layers:
    -   [`sizerank`](#sizerank)
    -   [`filterrank`](#filterrank)
    -   [`symbolrank`](#place_label-symbolrank) (`place_label` layer)
    -   `scalerank` and `localrank` have been removed from all layers
-   Name fields:
    -   Translated name fields (`name_en`, `name_fr`, etc.) now contains *null* values where no translation is available, rather than falling back to `name`. This allows you to customize fallback preferences using Mapbox GL expressions.
    -   `name_zh` field removed and replaced by `name_zh-Hant` (traditional Chinese)
    -   New field: `name_script` indicates the primary script used in the `name` field (`Latin`, `Cyrillic`, etc)
-   [`admin`](#admin) layer:
    -   Data source has changed to match Mapbox Enterprise Boundaries
    -   The `admin_level` now has a range of `0` through `2` with slightly different division definitions compared to v7 - see boundaries section below for details.
    -   The `disputed` and `maritime` fields now have text values of `true` or `false` rather than numeric `1` and `0`
-   [`aeroway`](#aeroway) layer:
    -   New field: `ref` indicates the runway or taxiway identifier
-   [`place_label`](#place_label) layer:
    -   New fields:
        -   `iso_3166_1`: indicates the 2-letter country/territory code of the place or the country that the place is within.
        -   `class`: useful for grouping places. One of: country, state, settlement (includes type=city, town, village, hamlet), or settlement_subdivision (includes type=suburb, quarter, neighbourhood).
        -   `symbolrank` and `filterrank`: see description in table
        -   `text_anchor`: replaces `ldir`
        -   `abbr`: provides the abbreviation for places with type `state`
    -   Added support for OpenStreetMap `place=quarter`
    -   Several feature types have moved to either `poi_label` or `natural_label`
-   [`poi_label`](#poi_label) layer:
    -   New fields:
        -   `category_en` / `category_zh-Hans`: contains POI category description for text display in English / simplified Chinese
        -   `class`: contains broad categories useful for filtering and symbol styling
        -   `filterrank`: see description in table
    -   Many new `maki` values
    -   Many new feature types added
-   [`road`](#road) layer:
    -   New fields:
        -   Fields from former `road_label` layer: names, `ref`, `reflen`, `len`, `shield`, `iso_3166_2`
        -   `iso_3166_1`: indicates the ISO 3166-1 2-letter country code of the road.
        -   `shield-text-color`: indicates the color to use for the highway shield text.
        -   `toll`: `true` for toll roads and not present / null for all other roads.
        -   `surface`: indicates either `paved` or `unpaved` where this data is available from OpenStreetMap.
        -   `bike_lane`: indicates presence and location of a bike lane that is part of the road itself (as opposed to a separated bike lane).
    -   New class values:
        -   `service_rail` - includes service tracks such as sidings or yard rails. These were included in the `minor_rail` class.
        -   `link` has been removed and broken out into `trunk_link`, `primary_link`, `secondary_link`, `tertiary_link`
    -   Previous `road_label` layer is now merged into `road` layer, with all label fields included: `len`, `ref`, `reflen`, and `shield`.
-   [`transit_stop_label`](#transit_stop_label) layer:
    -   Replaces the `railway_station_label` layer from v7 and includes some new features such as bus stops (new), ferry terminals, and bikeshare stations (originally in the `poi_label` layer).
    -   New fields:
        -   `mode`: provides more detail about the particular mode of transport served by a stop/station
        -   `stop_type`: value is one of: `stop`, `station`, `entrance`