Mapbox Basemap Style Selection: Standard, Classic, or Custom
Decide whether Mapbox Standard, Classic, or Custom fits your app. Compare maintenance, customization, and SDK requirements before you load a basemap.
05 Sept 2026, 05:56 UTC

Decision: Which Mapbox Basemap Style to Use
When you add a Mapbox map to a web or mobile application, you must choose a basemap style before the map can render. The three supported options are Mapbox Standard Style, Classic Styles, and Custom Styles. The wrong choice can force a costly migration later or leave you maintaining cartography you do not need.
Useful takeaway: For new applications using Mapbox GL JS 2.10.0 or later, or Mapbox Maps SDK 10.0.0 or later, start with Mapbox Standard Style unless you need custom data layers, brand-specific map design, or self-hosted vector tiles.
Terms used in this guide
- Basemap style: A JSON document that defines which map layers to draw, where to fetch vector tiles, and how to style labels, roads, and terrain.
- Vector tiles: Compressed map data split into square tiles that the client renders dynamically instead of downloading pre-rendered images.
- Mapbox GL JS: The JavaScript library for rendering Mapbox maps in web browsers.
- Maps SDK: Mapbox's native libraries for iOS and Android applications.
Supported Style Options Comparison
| Style | Customization | Maintenance | Built-in features | Best for |
|---|---|---|---|---|
| Standard | Low; theming API only | Low | Automatic dark/light mode, 3D buildings, dynamic lighting | New apps on modern SDKs |
| Classic | High; Mapbox Studio | Medium | Mature styles such as Streets, Outdoors, Satellite | Legacy apps or specific vintage looks |
| Custom | Maximum; full layer control | High | Mix of Mapbox and external vector tiles | Unique branding or hybrid tile sources |
Trade-offs to Consider
Standard Style replaces manual layer overrides with a global theming API. That means less style JSON to maintain, but existing Classic Style overrides will not transfer. If your app relies on custom layer colors or hidden POI categories, you must rebuild them using Standard's theming properties or switch to a Custom style.
Classic Styles remain fully customizable in Mapbox Studio, but you own updates. Mapbox may retire older Classic styles, and you must test changes manually. Custom Styles give you complete control over sources and expressions, yet they require adherence to the Mapbox Vector Tile specification and ongoing design work.
Standard Style's 3D buildings and terrain increase GPU memory usage. Verify performance on your lowest-supported device before committing.
Concrete Implementation: Load Standard Style and Switch Theme
This example assumes a web page using Mapbox GL JS. Run the code in your application, not in a production migration script.
// Placeholder: replace with your public access token
const ACCESS_TOKEN = 'YOUR_MAPBOX_ACCESS_TOKEN';
const map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/standard',
center: [-74.006, 40.7128],
zoom: 12,
accessToken: ACCESS_TOKEN
});
map.on('load', () => {
console.log('Style loaded:', map.getStyle().id);
map.setConfigProperty('basemap', 'theme', 'dark');
});
Where to run: Browser JavaScript after Mapbox GL JS has loaded.
Required permissions: A Mapbox access token with styles:read and tiles:read scopes for the Standard style URL.
Expected check: Open browser DevTools, select the Network tab, and confirm requests for mapbox://styles/mapbox/standard and related tile endpoints. The map should render, and calling the theme setter should switch the basemap to dark without reloading the style.
Risk: If the access token lacks tile permissions, the map shows a blank canvas or authentication errors. Standard Style is not supported on Mapbox GL JS below 2.10.0.
Validation and Limitations
Before you ship, confirm your SDK version. In the browser console on a page with Mapbox GL JS loaded:
console.log(mapboxgl.version);
If the version is older than 2.10.0, Standard Style will not render. Upgrade the library or use a Classic style.
To confirm which style is actually loading, inspect network requests for the style URL pattern. Standard Style uses mapbox://styles/mapbox/standard. Classic styles use URLs such as mapbox://styles/mapbox/streets-v11.
If you author a Custom style, validate the style JSON against the Mapbox Style Specification before adding it to your app. Invalid JSON fails silently or causes the map to fail to load.
Standard Style tile requests count against Mapbox tile load quotas. Custom styles that reference self-hosted vector tiles may reduce Mapbox billed usage, but you become responsible for tile hosting and uptime.
Migration Note
Moving from Classic to Standard is not a drop-in replacement. Remove Classic layer overrides and replace them with Standard theming properties. Test the map after each change because the theming API is not backward compatible with Classic style layer overrides.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.