Standard Styles
The Mapbox Standard style family includes Mapbox Standard and Mapbox Standard Satellite — Mapbox's premier map styles designed to deliver high-quality, continuously improving maps with less configuration complexity. Both are the recommended starting point for all new projects.
Explore the configuration options for Mapbox Standard and Mapbox Standard Satellite in an interactive playground to understand their capabilities before implementing them in your application.
You can change the lighting conditions, toggle features, and set other configuration options to see how they affect the map's appearance.
Mapbox Standard
Mapbox Standard is a modern vector basemap with a rich 3D environment, dynamic lighting, and points of interest. It is the default style for all Mapbox mapping SDKs and libraries.
The style URL for Mapbox Standard is:
mapbox://styles/mapbox/standard
The Mapbox Standard Style is the default style used in all Mapbox map rendering SDKs and libraries. To use Mapbox Standard, install the latest map renderer for your platform:
Get started
Initialize a map with Mapbox Standard using its style URL or the built-in style constructor in your platform's Mapbox Maps SDK or library:
const map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/standard',
});
MapboxMap(
style = {
MapboxStandardStyle()
}
)
Map()
.mapStyle(.standard())
MapWidget(
styleUri: MapboxStyles.STANDARD,
)
Mapbox Standard Satellite
Mapbox Standard Satellite is a variant of Mapbox Standard that uses satellite imagery as its base layer. It retains the same dynamic lighting, 3D features, featuresets, and configuration options as Mapbox Standard.
The style URL for Mapbox Standard Satellite is:
mapbox://styles/mapbox/standard-satellite
Get started
Initialize a map with Mapbox Standard Satellite using its style URL:
const map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/standard-satellite',
});
MapboxMap(
mapViewportState = rememberMapViewportState(),
style = {
MapboxStandardSatelliteStyle()
}
)
Map()
.mapStyle(.standardSatellite())
MapWidget(
styleUri: MapboxStyles.STANDARD_SATELLITE,
)
3D environment
Mapbox Standard provides a rich 3D environment that brings maps to life with enhanced realism:
- Buildings – Extruded with detailed lighting effects, including facade details near landmarks.
- Landmarks – Iconic structures displayed as vibrant 3D models.
- Indoor Areas – Detailed and navigable indoor mapped areas for over 200 airports worldwide.
- Trees – 3D tree models with realistic scaling.
- Terrain – Elevation data for natural landscapes.
- Elevated Structures – Bridges, overpasses, and other elevated elements.
- Lights – Ambient and directional lighting simulating dawn, day, dusk, or night.
Lighting
Mapbox Standard Styles include ambient and directional lighting to create natural-looking environments. The lightPreset configuration switches between dawn, day, dusk, and night. Custom layers added to Mapbox Standard Styles require an emissive-strength configuration to work well with the 3D lighting environment.
Emissive strength and custom layers
To work well with the default lighting, custom layers added to the map require an emissive-strength configuration (a float value between 0 and 1). Emissive strength allows you to adjust color vibrancy, making elements glow more or less in the 3D lighting environment.
For example, when adding a custom fill layer, set the fill-emissive-strength property:
{
"id": "custom-fill",
"type": "fill",
"source": "custom-source",
"paint": {
"fill-color": "#ff0000",
"fill-opacity": 0.5,
"fill-emissive-strength": 0.5
}
}
Configuration
Mapbox Standard Styles include configuration options for tailoring the style to your needs — including label visibility, feature visibility, theming, fonts, and color overrides for roads, land use, and building feature states. See the Mapbox Standard reference and the Mapbox Standard Satellite reference for the full list of configuration options.
Experiment with configuration options in the interactive playground.
Set configuration before the map loads
You can configure Standard Styles when creating a new map in your client code.
const map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/standard',
config: {
basemap: {
lightPreset: "dusk",
colorMotorways: "#2e89ff",
showPedestrianRoads: false,
show3dObjects: false
}
},
center: [-73.99059, 40.74012],
zoom: 11.50,
});
MapboxMap(
style = {
MapboxStandardStyle(
standardStyleConfigurationState = remember {
StandardStyleConfigurationState().apply {
lightPreset = LightPresetValue.DUSK
colorMotorways = "#2e89ff"
showPedestrianRoads = BooleanValue(false)
show3dObjects = BooleanValue(false)
}
}
)
}
)
let center = CLLocationCoordinate2D(latitude: 40.74012, longitude: -73.99059)
Map()
.mapStyle(.standard(
lightPreset: StandardLightPreset.dusk,
showPedestrianRoads: false,
show3dObjects: false,
colorMotorways: StyleColor(UIColor(red: 46/255.0, green: 137/255.0, blue: 255/255.0, alpha: 1.0))
))
// the Maps SDK for Flutter does not have a way to set style configuration at map creation,
// set the configuration in the onMapCreated callback instead
MapWidget(
styleUri: MapboxStyles.STANDARD,
cameraOptions: CameraOptions(
center: Point(coordinates: Position(-73.99059, 40.74012)),
zoom: 11.50,
),
onMapCreated: (mapboxMap) async {
await mapboxMap.style.setStyleImportConfigProperty("basemap", "lightPreset", "dusk");
await mapboxMap.style.setStyleImportConfigProperty("basemap", "colorMotorways", "#2e89ff");
await mapboxMap.style.setStyleImportConfigProperty("basemap", "showPedestrianRoads", false);
await mapboxMap.style.setStyleImportConfigProperty("basemap", "show3dObjects", false);
},
)
Update configuration at runtime
With a map that has already been initialized, you can update the configuration of a Standard Style at runtime. For example, you could add a UI control to toggle pedestrian roads on and off, or use a light preset based on the user's local time of day.
map.setConfigProperty('basemap', 'lightPreset', 'dusk');
// Update the configuration state variable
standardStyleConfigurationState.lightPreset = LightPresetValue.DUSK
// Update the @State variable bound to the map style
lightPreset = StandardLightPreset.dusk
// The Map view responds automatically:
// Map().mapStyle(.standard(lightPreset: lightPreset))
await mapboxMap.style.setStyleImportConfigProperty(
"basemap", "lightPreset", "dusk"
);
Set configuration in the style JSON
When Mapbox Standard is imported into a custom style, you can set configuration options using the config property in the style JSON:
{
"version": 8,
"imports": [
{
"id": "basemap",
"url": "mapbox://styles/mapbox/standard",
"config": {
"lightPreset": "dusk"
}
}
]
}
Light presets
Set the lightPreset option to one of four predefined lighting conditions: dawn, day, dusk, or night. The preset affects the color temperature, shadow direction, and intensity of both ambient and directional lighting across the entire map.
Label visibility
A selected set of map labels can be toggled on or off to improve map readability or for replacement with custom data:
- Place Labels – Set
showPlaceLabelsto toggle visibility of place names, including cities, towns, and other locations. - Point of Interest Labels – Set
showPointOfInterestLabelsto toggle visibility of points of interest, including text labels and icons. - Fueling Station POI Labels – Set
fuelingStationModePointOfInterestLabelsto control the visibility of fuel and electric charging station POI labels. - Road Labels – Set
showRoadLabelsto toggle visibility of road labels, including road shield symbols. - Transit Labels – Set
showTransitLabelsto toggle visibility of transit labels. - Landmark Icons & Labels – Set
showLandmarkIconsandshowLandmarkIconLabelsto toggle landmark icon and label visibility, which are both hidden by default. - Indoor Labels – Set
showIndoorLabelsto toggle visibility of labels and POIs in indoor mapped areas.
Feature visibility
Toggle the visibility of specific map features to customize the map display:
- Administrative Boundaries – Set
showAdminBoundariesto toggle visibility of administrative boundaries. - Pedestrian Roads – Set
showPedestrianRoadsto toggle visibility of pedestrian roads, paths, and trails. - 3D Objects – Set
show3dObjectsto toggle all 3D objects, or useshow3dBuildings,show3dTrees,show3dLandmarks, andshow3dFacadesto toggle individual 3D layers. - Indoor Areas – Set
showIndoorto toggle visibility of indoor mapped areas. Hidden by default.
Theming
Mapbox Standard includes predefined color themes to change the look and feel of the map. Set the theme property to one of the following values:
| Theme | Preview |
|---|---|
default | |
faded | |
monochrome |
Custom themes
To use a custom theme, set theme to custom and provide a base64-encoded lookup table (LUT) image as the theme-data property.
Fonts
Set the font property to any Mapbox or custom font uploaded to your account. Mapbox Standard falls back to a default font if a custom font family doesn't include the necessary weights (Bold, Medium, Regular, Italic).
Land use and natural feature colors
Mapbox Standard includes configuration properties for land use and natural feature colors: colorCommercial, colorEducation, colorMedical, colorIndustrial, colorGreenspace, colorWater, and colorLand.
Road colors
Set colorMotorways, colorTrunks, and colorRoads to customize the appearance of different road types.
Feature state colors
- Place labels – Set
colorPlaceLabelHighlightandcolorPlaceLabelSelectto configure highlight and select feature state colors. - Buildings – Set
colorBuildingHighlightandcolorBuildingSelectto configure highlight and select feature state colors. - Indoor labels – Set
colorIndoorLabelHighlightandcolorIndoorLabelSelectto configure highlight and select feature state colors.
Featuresets
Mapbox Standard includes predefined featuresets — groups of layers you can use for common interactions. Featuresets support feature state styling, allowing you to change the color and/or visibility of features based on user interactions:
- Points of Interest (
poi) – Restaurants, businesses, parks, and other points of interest. - Place Labels (
place-labels) – Text labels for cities, towns, and other locations. - Buildings (
buildings) – 3D extruded and 2D building footprints. - Landmark Icons (
landmark-icons) – Icons for landmark buildings. - Indoor Building Labels (
indoor-labels) – Labels for indoor mapped buildings.
map.addInteraction('place-labels-click-interaction', {
type: 'click',
target: {featuresetId: 'place-labels', importId: 'basemap'},
handler: (e) => {
console.log("Place label clicked", e.feature.properties.name)
map.setFeatureState(e.feature, {highlight: true});
}
});
mapboxMap.addInteraction(
ClickInteraction.featureset(id = "place-labels", importId = "basemap") { feature, context ->
val name = feature.properties.getString("name")
println("Place label clicked: $name")
mapboxMap.setFeatureState(
featuresetFeature = feature,
state = mapOf("highlight" to true)
)
true
}
)
MapReader { proxy in
Map()
.mapStyle(.standard())
.onAppear {
proxy.map?.addInteraction(
TapInteraction(.featureset("place-labels", importId: "basemap")) { feature, context in
if let name = feature.properties["name"] as? String {
print("Place label clicked: \(name)")
}
proxy.map?.setFeatureState(feature, state: ["highlight": true])
return true
}
)
}
}
mapboxMap.addInteraction(
TapInteraction(
FeaturesetDescriptor(featuresetId: "place-labels", importId: "basemap"),
(feature, context) {
final name = feature.properties["name"];
print("Place label clicked: $name");
mapboxMap.setFeatureState(feature, {"highlight": true});
},
),
);
Use click and hover interactions with Mapbox Standard Style's built-in feature states and configuration properties.
Use hover and click interactions to highlight buildings using the built-in buildings featureset in the Mapbox Standard Style.
Highlight predefined Points-of-Interest (POI) in Mapbox Standard Style.
Showcase interactions added to custom featuresets in Mapbox Standard Style.
Highlight features from predefined featuresets in Mapbox Standard Style.
Slots
Mapbox Standard includes top, middle, and bottom slots for inserting custom layers at specific positions in the layer stack. See the Standard style reference or the Standard Satellite style reference for details.
Use the slot property to add a layer to a predetermined location in the Standard style's layer stack.
Assign a layer to a slot to make it appear above or below other layers.
Use slotsContent and layerPositionedContent to organize layers within a base style.
Style imports
Mapbox Standard can be imported into a custom style using the imports property, allowing you to combine it with your own custom sources and layers:
{
"version": 8,
"imports": [
{
"id": "basemap",
"url": "mapbox://styles/mapbox/standard",
"config": {
"lightPreset": "night"
}
}
]
}
The easiest way to extend Mapbox Standard is to use Mapbox Studio.
Import Mapbox Standard style into your custom style using SwiftUI.
Clip layers
Clip layers hide features from other layers that intersect with a specified geometry. Common uses with Mapbox Standard include:
- Hide POIs – Remove specific points of interest from the map.
- Hide 3D models – Remove a Mapbox 3D building model and replace it with a custom model.
- Mask areas – Create custom shapes to mask out parts of the map.
Use a clip layer to remove 3D content (buildings, trees, symbols) from the Mapbox Standard style within a defined polygon.
Use a clip layer to remove a 3D building from the Mapbox Standard style, then add a custom model in its place.
Use a clip layer to clip symbols and models from the Mapbox Standard style.
Language support
Mapbox Standard does not require any special configuration for language support. Specify language and worldview when creating a map and Mapbox Standard will display labels in the appropriate language and worldview if they are available in the underlying data sources. Refer to the SDK documentation for your platform:
Use the worldview value to adjust administrative boundaries based on the map's audience.
Use setLayoutProperty to switch the map's label language dynamically.
Switch between supported languages for symbol layers using localizeLabels().
Continuous improvements
Our cartographers and engineers continuously improve the Standard style. These improvements are automatically applied to your maps without requiring manual style updates.
New features of Mapbox Standard may require the latest version of the Mapbox Maps SDK or library for your platform.
Differences from Classic Styles
Mapbox Standard is a different kind of style from the Mapbox Classic Styles. The key differences:
| Mapbox Standard | Classic Styles | |
|---|---|---|
| 3D environment | Buildings, landmarks, trees, and terrain | 2D (3D extruded buildings possible) |
| Lighting | Dynamic presets (dawn, day, dusk, night) | Static |
| Interactions | Featuresets with built-in feature state | queryRenderedFeatures by layer id |
| Layer customization | Configuration options only | Full access to all layers |
| Custom layer placement | Slots (top, middle, bottom) | before layer ID |
| Style architecture | Style imports | Monolithic style JSON |
| Cartographic updates | Applied automatically | Manual updates required |
Limitations
Mapbox Standard introduces some restrictions compared to fully custom styles:
- No
queryRenderedFeaturessupport – Use featureset interactions instead. - Limited layer customization – You can only change what is explicitly allowed by the style configuration.
- Cannot filter certain layers (for example, POIs).