How Mapbox Works
Learn about the building blocks that Mapbox provides so you can create custom mapping applications.

How Mapbox Works

Welcome to Mapbox! Mapbox is a developer platform used across industries to create custom applications that solve problems with maps, data, and spatial analysis. Mapbox's tools are building blocks that support every part of the web and mobile map-making process. Whether your goal is to build a beautiful map to match your website or to build a full-featured geoprocessing application, we have you covered.

These guides will introduce you to the building blocks of Mapbox and how you can:

  • Work with in Mapbox's robust data.
  • Style your map down to the smallest details.
  • Upload or create custom data.
  • Develop full-featured web and mobile applications.
  • Extend your app's functionality with web services for geocoding, directions, spatial analysis, and more.
  • Create static maps programmatically.

Use Mapbox map data

Our core tilesets: Mapbox Streets, Mapbox Terrain, Mapbox Traffic, and Mapbox Satellite. Each tileset contains a unique set of data from a variety of sources.

  • Mapbox Streets includes streets, buildings, administrative areas, water, and land data based on a combination of proprietary Mapbox data, Open Data projects (including OpenStreetMap, Microsoft Open Maps and Wikidata), and data vendors for certain geographic areas (including Zenrin in Japan, PSMA in Australia, and Visicom in the UAE).
  • Mapbox Terrain includes landcover data and a worldwide elevation data set complete with contours, hillshade, and elevation data.
  • Mapbox Satellite includes global satellite imagery from a range of sources, processed and seamed together by Mapbox.
  • Mapbox Traffic includes regularly updated vehicle congestion information on top of Mapbox Streets.

You can find a full list of layers available in the Mapbox Streets, Terrain, and Traffic sources in our Vector Tiles overview. You can read more about our data sources on our Maps page.

Learn about our data

Design a map

Custom map design is one of the core functions of Mapbox Studio. We provide an advanced application for putting this customization at your fingertips with the Mapbox Studio style editor. In Mapbox Studio, you can start with one of our template styles or designer styles and style each individual layer to your exact specification.

On the left you can see the Basic style, a template style made up of a limited set of layers. On the right you can see a custom style that uses all the same underlying data, but that has been customized by changing colors and fonts in Mapbox Studio style editor.

The Mapbox Studio style editor is a full-featured map editor that gives you total control over the style of your map directly in your browser. Whether you start with a Mapbox template style or start from scratch, the styling possibilities are virtually endless. With the Mapbox Studio style editor, you can:

  • Create styles that change dynamically based on zoom level.
  • Use custom fonts.
  • Set custom alignment, pitch, offset, and more for your labels.
  • Set colors, weights, and opacity for your map layers.
  • Filter tilesets based on attributes.

Learn about map design

Add custom data

Mapbox provides robust geospatial data with our Streets, Terrain, Traffic, and Satellite tilesets, but mapping applications often require custom data. To add custom data to your map, you can upload your own data as tilesets or create datasets.

Tilesets and datasets are two different types of data: tilesets are styleable and datasets are editable. Styling includes changing things like color, opacity, font, or icon. Editing includes changing the placement of features (points, lines, polygons), their geometries, and adding or deleting features from a feature collection. If you have created or imported a dataset, you can export your dataset to a tileset right in Mapbox Studio and use it in the Mapbox Studio style editor like you would any other tileset.

Upload tilesets

Tilesets are lightweight collections of vector data that are optimized for rendering and are not editable. When you upload custom data, your files are converted to vector tilesets, which can be styled in the Mapbox Studio style editor, added to interactive web maps with Mapbox GL JS, and used in mobile applications created with the Mapbox Maps SDKs for iOS and Android.

For more details about accepted file types and methods for uploading data, see the Uploading data guide.

Learn about uploads

Create datasets

A dataset is an editable collection of GeoJSON features. A feature stored with Mapbox has both geometries and properties (attributes), both of which can be edited in the Mapbox Studio dataset editor or through the Mapbox Datasets API. You can use the dataset editor in Mapbox Studio to import, create, and edit GeoJSON point, line, and polygon features and their properties. Once you've finished working with your dataset, you can export it to a tileset for use with the Mapbox Studio style editor. There are limits to how much data you can load into the Mapbox Studio dataset editor at a time, but you can use the Mapbox Datasets API to add more features and manage them programmatically.

animated GIF demonstrating how to modify a feature in the Mapbox studio dataset editor

For more details about accepted file types and methods for creating datasets, see the Creating new data guide.

Learn about creating data

Build applications

Once you've created, styled, and added data to your map, Mapbox provides multiple tools for integrating your maps into a website or custom application.

Web applications

You can use one of our JavaScript libraries to publish your map to the web.

This web application uses a combination of HTML, CSS, JavaScript, and Mapbox GL JS, our WebGL-based JavaScript library. If you are interested in learning more about how to build an application like this one, read our step-by-step Build a store locator tutorial.

Mapbox GL JS is a JavaScript library for creating interactive, customizable maps from Mapbox styles and vector tiles. Mapbox GL JS uses WebGL, a technology used to create video games in the browser, which enables you to build advanced interactions into your maps, including smooth zooming, map bearing and pitch, querying underlying map data, and dynamically filtering the data you choose to display. You can use the custom styles you've created in the Mapbox Studio style editor or any of the template styles we provide, plus add any additional data you want programmatically -- including GeoJSON, images, and even video! Be sure to explore the Mapbox GL JS examples for dozens of other interactive examples.

Mapbox.js is our older JavaScript web mapping library that extends the popular Leaflet.js library. Mapbox.js can be used to create interactive maps with classic styles.

Learn about web apps

Mobile applications

Mapbox provides a Maps SDK for iOS and Android for publishing your maps in native applications. The Maps SDKs for iOS and Android are designed to be drop-in replacements for Apple's MapKit and the Google Maps SDKs. The Maps SDKs should be familiar to mobile developers who have experience with either. Often, your maps can be swapped for Mapbox by changing a single line of code.

Mapbox maps on a mobile device

Each SDK comes bundled with five Mapbox-designed map styles and can handle any custom design created with the Mapbox Studio style editor. If you use one of Mapbox's mobile SDKs, you'll also get access to the mobile usage dashboard, which provides a continuously updated view of monthly active users, map usage, and region-by-region metrics.

Learn about mobile apps

Unity applications

Mapbox SDK for Unity sample image

Mapbox makes real world simulations possible by giving you the tools to put real world maps in your Unity applications. The Mapbox Maps SDK for Unity is a set of tools to build Unity applications from real map data. It consists of a robust API for interfacing with Mapbox web services and converting map resources into game objects as well as a robust graphical user interface built on top of the Unity platform.

Learn about Unity apps

Extend your application

Besides designing maps and publishing mapping applications, Mapbox also has tools for interacting with data, locating addresses, conducting spatial analysis, and routing. Our web services APIs are building blocks you can use to make your maps interactive and dynamic.

Mapbox Geocoding API

Add global place search to your app with the Mapbox Geocoding API. Turn latitude and longitude values into addresses with reverse geocoding or you turn addresses into latitude and longitude values with forward geocoding. You can use the Geocoding API right in your web or mobile application or as a standalone service.

animation demonstrating geocoding with autocomplete

Learn about geocoding

Mapbox Directions API

The Mapbox Directions API provides point-to-point directions for walking, cycling, or driving based on the wide network of roads and paths in OpenStreetMap. The Directions API returns text instructions, alternative routes, geometry (for drawing routes), and maneuvers. The Directions API also powers our Map matching, Matrix, and Optimization APIs. See the Directions API documentation for more information.

screenshot of the Mapbox GL JS directions plugin on a map

Learn about directions

Analyze with Turf.js

Turf.js is an open source JavaScript library for spatial analysis. Turf includes traditional spatial analysis operations, helper functions for creating GeoJSON data, and data classification and statistics tools. You can add Turf to your website as a client-side plugin, or you can run Turf server-side with Node.js.

screenshot of a Turf example

Learn about analysis

Use satellite imagery

Mapbox Satellite is a global basemap of continuous satellite and aerial imagery that you can use as a blank canvas or an overlay for your own data. Comprised of multiple imagery sources, we color correct it and update it as new imagery becomes available.

samples of Mapbox satellite imagery

Mapbox Satellite uses global satellite and aerial imagery from commercial providers, NASA, and USGS. As cities grow and landscapes change, we add newer, clearer, and more attractive imagery.

The current zoom level offerings include:

  • 0–8: MODIS 2012–2013.
  • 9–12: Landsat 5 & 7, 2010–2011.
  • 13–19: a combination of open and proprietary sources, including Maxar’s GBM 2011+ for much of the world, USDA’s NAIP 2011–2013 in the contiguous United States, and open aerial imagery from Denmark, Finland, and parts of Germany.

Learn about satellite imagery

Create static maps

The Mapbox Static Images API can generate static images from your map styles. Provide your style ID, access token, and a few more parameters — such as zoom, bearing, pitch, and overlay — and you can display static images directly by making requests in your application.

Learn about static maps

Add attribution

Whether you're creating a custom style with Mapbox Studio or building a mobile app with the Android SDK, all Mapbox tools require attribution according to our terms of service.

Learn about attribution

Was this page helpful?