Fast and Beautiful Maps

MapBox is a platform for creating custom maps that fit your style, enhance user experiences, and visualize your data. We make it easy to find bars on foursquare, search for hotels on Hipmunk, and organize notes in Evernote. With MapBox, anyone can publish maps that perfectly integrate with apps, products, and stories.

MapBox Streets

MapBox Streets is a highly accurate worldwide map powered by up-to-the-minute data from the OpenStreetMap project. It's built to be customized: change the map colors, show and hide features, and even configure the labeling language to make it yours.

Learn more about OpenStreetMap

Customization

Use one of our gorgeous preset color schemes or customize the style to fit the look and feel of your brand. You can even toggle features on and off.

Powered by OpenStreetMap

An active community of tens of thousands of dedicated OpenStreetMap mappers keep our maps up to date and accurate.

Multilingual Support

Configure the map to use English, Spanish, French, or the local language.

MapBox Terrain

MapBox Terrain is a beautiful elevation and land-use layer for the entire world, visualizing hills and elevation contour lines. Terrain is just as easy to customize as streets - it's simple to adjust color scheme or gently fade it for subtle map designs. Turn off labels and streets for a clean textured backdrop that makes custom cartography and data visualizations look beautiful.

MapBox Satellite

MapBox Satellite offers highly-detailed imagery for the whole world. We process and color-correct millions of source images to create the best-looking up to date satellite layer available anywhere. You can easily style MapBox Satellite using the built-in color changing interface.

For web & mobile

Whether you're an expert developer or a beginner, integrating maps into your web or mobile application is easy with MapBox. We offer a JavaScript API, REST API, and a Mobile SDK. Get started quick with comprehensive documentation, example projects and code, and helpful support.

Get started with code examples and documentation

MapBox.js

Our open source JavaScript API makes web map implementation easier, faster, and more repeatable. MapBox.js is a plugin for Leaflet that extends and simplifies your code while connecting you to Leaflet's advanced features like vector rendering and strong ecosystem of plugins.

Based on Leaflet

MapBox.js is built on top of Leaflet, the most established and robust open source mapping library. It's easy to get started or to transition from the Google Maps API.

Browser support

We offer full browser support, including modern desktop browsers like Chrome, Safari and Firefox, mobile browsers from Android and Apple, and Internet Explorer 8 - 10.

Flexible & extensible

Open source plugins for the API mean access to a wide range of features without including a big library that slows down your website.

Mapbox.js examples

A simple map

var map = L.mapbox.map('map', 'examples.map-4l7djmvo')
    .setView([40, -74.50], 9);

Interactivity

var map = L.mapbox.map('map', 'examples.map-8ced9urs');
map.gridControl.options.follow = true;

Custom Markers

var map = L.mapbox.map('map', 'examples.map-y7l23tes')
    .setView([41.8925, 12.4830], 16);

L.mapbox.markerLayer({
    type: 'Feature',
    geometry: {
        type: 'Point',
        coordinates: [12.4830, 41.8925]
    },
    properties: {
        'marker-color': '#0fe',
        'marker-symbol': 'star-stroked',
        title: 'Example Marker',
        description: 'This is a single marker.'
    }
}).addTo(map);

iOS SDK

The MapBox Mobile SDK is a complete, open source toolkit for native iOS mapping applications. It's familiar to users of Apple’s MapKit framework, but offers greater flexibility for custom maps, offline use, and general customizability.

Get started now with MapBox on iOS
Features MapBox SDK Apple's MapKit
High-performance maps x x
Annotations & overlays x x
Geocoder support x x
Retina graphics x x
User location services x x
Prebuilt binary framework x x
Custom styles x  
Unlimited, controllable caching x  
Offline maps x  
Source code available x  
Annotation clustering x  
Embedded UTFGrid interactivity x  

iOS SDK examples

A simple map view

#import <MapBox/MapBox.h>

@implementation MyViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    RMMapBoxSource *tileSource = [[RMMapBoxSource alloc] initWithMapID:@"examples.map-z2effxa8"];
    RMMapView *mapView = [[RMMapView alloc] initWithFrame:self.view.bounds andTilesource:tileSource];
    [self.view addSubview:mapView];
}

@end

Marker clustering

#import <MapBox/MapBox.h>

@implementation MyViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    RMMapBoxSource *tileSource = [[RMMapBoxSource alloc] initWithMapID:@"examples.map-p173tb6u"];
    RMMapView *mapView = [[RMMapView alloc] initWithFrame:self.view.bounds andTilesource:tileSource];
    mapView.delegate = self;
    [self.view addSubview:mapView];
    [mapView addAnnotation:[RMAnnotation annotationWithMapView:mapView coordinate:CLLocationCoordinate2DMake(43.325178, -85.166016) andTitle:nil]];
    [mapView addAnnotation:[RMAnnotation annotationWithMapView:mapView coordinate:CLLocationCoordinate2DMake(35.245619, -88.769531) andTitle:nil]];
    [mapView addAnnotation:[RMAnnotation annotationWithMapView:mapView coordinate:CLLocationCoordinate2DMake(38.754083, -75.322266) andTitle:nil]];
    [mapView addAnnotation:[RMAnnotation annotationWithMapView:mapView coordinate:CLLocationCoordinate2DMake(32.026706, -71.982422) andTitle:nil]];
    [mapView addAnnotation:[RMAnnotation annotationWithMapView:mapView coordinate:CLLocationCoordinate2DMake(44.276671, -67.675781) andTitle:nil]];
    [mapView addAnnotation:[RMAnnotation annotationWithMapView:mapView coordinate:CLLocationCoordinate2DMake(50.847573, -69.960937) andTitle:nil]];
    [mapView addAnnotation:[RMAnnotation annotationWithMapView:mapView coordinate:CLLocationCoordinate2DMake(50.847573, -81.298828) andTitle:nil]];
    mapView.clusteringEnabled = YES;
    [mapView setZoom:4 atCoordinate:CLLocationCoordinate2DMake(38.559, -74.942) animated:NO];
}

- (RMMapLayer *)mapView:(RMMapView *)mapView layerForAnnotation:(RMAnnotation *)annotation
{
    if (annotation.isUserLocationAnnotation)
        return nil;
    RMMapLayer *layer = nil;
    if (annotation.isClusterAnnotation)
    {
        layer = [[RMMarker alloc] initWithUIImage:[UIImage imageNamed:@"circle.png"]];
        layer.opacity = 0.75;
        layer.bounds = CGRectMake(0, 0, 75, 75);
        [(RMMarker *)layer setTextForegroundColor:[UIColor whiteColor]];
        [(RMMarker *)layer changeLabelUsingText:[NSString stringWithFormat:@"%i", [annotation.clusteredAnnotations count]]];
    }
    else
    {
        layer = [[RMMarker alloc] initWithMapBoxMarkerImage];
    }
    return layer;
}

@end

Creating a marker callout

#import <MapBox/MapBox.h>

@implementation MyViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    RMMapBoxSource *tileSource = [[RMMapBoxSource alloc] initWithMapID:@"examples.map-ia6tgmgi"];
    RMMapView *mapView = [[RMMapView alloc] initWithFrame:self.view.bounds andTilesource:tileSource];
    mapView.delegate = self;
    [self.view addSubview:mapView];
    [mapView setZoom:14 atCoordinate:CLLocationCoordinate2DMake(-33.9277, 18.4215) animated:NO];
    RMAnnotation *annotation = [[RMAnnotation alloc] initWithMapView:mapView
                                                          coordinate:mapView.centerCoordinate
                                                            andTitle:@"Train Depot"];
    [mapView addAnnotation:annotation];
}

- (RMMapLayer *)mapView:(RMMapView *)mapView layerForAnnotation:(RMAnnotation *)annotation
{
    if (annotation.isUserLocationAnnotation)
        return nil;
    RMMarker *marker = [[RMMarker alloc] initWithMapBoxMarkerImage:@"rail"
                                                         tintColor:[UIColor magentaColor]];
    marker.canShowCallout = YES;
    marker.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    return marker;
}

- (void)tapOnCalloutAccessoryControl:(UIControl *)control forAnnotation:(RMAnnotation *)annotation onMap:(RMMapView *)map
{
    [[[UIAlertView alloc] initWithTitle:@"Tapped!"
                                message:@"You tapped the accessory view."
                               delegate:nil
                      cancelButtonTitle:nil
                      otherButtonTitles:@"OK", nil] show];
}

@end

REST API

You aren't locked into specific API clients with MapBox: our services are also accessible through a simple REST interface and in open formats like JSON. So you can tightly integrate MapBox into your site or app.

Geocoding

MapBox offers an API for forward and reverse geocoding.

Adding Markers on the Map

Drop a pin on a MapBox map, from your coffee shop checkin to the latest tropical storms, all using the GeoJSON open standard.

Direct tile access

Create and automatically configure a map with layers, markers, interactivity, and bandwidth detection.

REST API examples

Map Metadata

http://api.tiles.mapbox.com/v3/examples.map-zr0njcqy.json

Geocoding

http://api.tiles.mapbox.com/v3/examples.map-vyofok3q/geocode/austin.json

Compositing + Static Image

http://a.tiles.mapbox.com/v3/examples.map-y7l23tes,examples.bird-species/-77.04,38.89,6/400x400.png
{
  "attribution": "<a href='http://mapbox.com/about/maps' target='_blank'>Terms & Feedback</a>",
  "bounds": [-180, -85.0511, 180, 85.0511],
  "center": [-77.046, 38.907, 12],
  "data": ["http://a.tiles.mapbox.com/v3/examples.map-zr0njcqy/markers.geojsonp"],
  "description": "There's a lot going on in Washington DC. Every weekend, the DCist has new suggestions for places to go and things to do. Explore this weekend's picks and see what's going on near you.\n\nPicks from DCist.com.",
  "geocoder": "http://a.tiles.mapbox.com/v3/examples.map-zr0njcqy/geocode/{query}.jsonp",
  "id": "examples.map-zr0njcqy",
  "maxzoom": 19,
  "minzoom": 0,
  "name": "DC Weekend Picks",
  "private": true,
  "scheme": "xyz",
  "tilejson": "2.0.0",
  "tiles": [
    "http://a.tiles.mapbox.com/v3/examples.map-zr0njcqy/{z}/{x}/{y}.png",
    "http://b.tiles.mapbox.com/v3/examples.map-zr0njcqy/{z}/{x}/{y}.png",
    "http://c.tiles.mapbox.com/v3/examples.map-zr0njcqy/{z}/{x}/{y}.png",
    "http://d.tiles.mapbox.com/v3/examples.map-zr0njcqy/{z}/{x}/{y}.png"
  ],
  "webpage": "http://tiles.mapbox.com/examples/map/map-zr0njcqy"
}

Cartography

MapBox makes it easy to design totally custom maps. Our open source tools bring high end cartography to the web, letting you create and share data visualizations using both vector and raster data in TileMill, or by using our map embeds and APIs to visualize data in your browser.

TileMill

TileMill is a powerful open source design studio for styling geodata. Design custom maps with your any data set in TileMill, and easily upload them to MapBox to share them with the world.

TileMill is available for Mac, Windows, & Linux. Download it now

Fast and powerful styling

Design maps with CartoCSS, an innovative CSS-based styling language that's easy to learn but capable of the most sophisticated styles.

Data analysis

More than just a design studio, TileMill can analyze raster data, like satellite IR bands.

Integrate with traditional GIS tools

Use the Arc2Earth plugin for ArcGIS to seamlessly integrate MapBox into your ArcGIS workflow.

Custom maps

Whether you need a clean canvas for data visualization, a film noir atmosphere for setting the mood, or map labels in the language of your audience, MapBox makes it easy to create the perfect map. Maps are a critical component of many apps, especially the new generation of location-aware and social apps. Designers and developers are pushing the boundaries of how MapBox can help them take control of the map interface.

Total control over your base map

We offer two dozen color presets and eight styles for MapBox Satellite capture combinations of settings and colors that you can use as a starting point for creating your own designs.

Pixel-perfect icons

Maki is a clean point of interest icon set made for web cartography. It includes 88 different symbols at 3 sizes each for a total of 264 icons and growing.

Any data

TileMill and our online design tools let you take data, whether a spreadsheet or a company database, or open data from your city - and design incredible custom maps.

Scale for millions of users

Starting out with MapBox is free and we offer a scalable price model that fits everyone's needs, from indie bloggers to top web sites like foursquare. There are no overage penalties, additional map views are automatically served at $0.50 per 1,000 map views, so it's easy and affordable to handle temporary spikes in traffic.

Learn more about MapBox Premium

Fast

MapBox serves maps from 30 globally distributed edge servers. With an edge server close by, MapBox is fast no matter where you are.

24/7 Monitoring

MapBox servers are fully redundant, with automatic failover. If a server fails, traffic is re-routed to ensure maps are served without downtime.

Expert Support

Get your questions answered directly by developers, designers, and cartographers on the MapBox team.

Highly available architecture

Our infrastructure is fully geo-redundant, spanning the entire globe for speed and reliability. Even if there's a massive power outage or natural disaster, we always have a fallback.

Node.js

Underlying MapBox is Node.js, the JavaScript platform designed for high I/O throughput and scalable network applications.

Amazon Web Services

MapBox makes use of cloud services in order to scale quickly with demand and avoid single points of failure. Our stack is deployed on Amazon’s high-performance cloud infrastructure.

Geo-redundant

Our infrastructure spans the entire globe for speed and reliability. Even if there's a massive power outage or natural disaster, we'll always have a fallback.

Try MapBox for free now

MapBox Custom Maps

Easy map customization

We built MapBox streets with customization in mind: change colors, show and hide features, and even configure the language used in labels.

Style presets

Two dozen color presets for MapBox Streets and eight styles for MapBox Satellite capture combinations of settings and colors that you can use as a starting point for creating your own designs.

Publishing tools

Use MapBox's built-in publishing interface to share and embed your maps.

Built-in analytics

MapBox tracks map traffic from embeds, mobile devices, and custom applications so you can learn about your audience.

MapBox Streets

High quality open data

OpenStreetMap is one of the world’s premier open data repositories, constantly changing thanks to its community of over 1 million members.

Always improving

OpenStreetMap has an army of volunteer contributors, ranging from individual mappers to commercial companies creates and maintains a worldwide map that rivals commercial competitors.

Minutely updates

MapBox maps are updated with live data from OpenStreetMap every 5 minutes.

Cartography with TileMill

TileMill

TileMill is a powerful free open source design studio for styling geodata. It integrates with MapBox, making it easy to upload your maps and share them with the world.

Any data

TileMill let you take data, whether your spreadsheet, your company's database, or open data from your city, and communicate it through incredible custom maps.

CartoCSS

Design maps with CartoCSS, an innovative CSS-based styling language that's easy to learn but capable of expressing the most sophisticated styles.

Mapnik rendering

At the heart of TileMill is Mapnik, a fast and sophisticated map renderer.

Import from ArcGIS

Adding MapBox to your traditional ArcGIS setup gives you new powerful map design and publish tools, all as part of your existing Esri workflow.

Satellite Imagery

Cloudless Atlas

MapBox has highly-detailed satellite imagery for the whole world. We process and color correct millions of source images to create the best-looking satellite layer available anywhere.

Customize Satellite Imagery

You can easily style MapBox Satellite using the built-in color changing interface.

Technology

Highly available architecture

Our infrastructure is fully geo-redundant, spanning the entire globe for speed and reliability.

Amazon Web Services

MapBox makes use of cloud services in order to scale quickly with demand and avoid centralization. Our stack is deployed on Amazon’s high-performance cloud infrastructure.

Node.js

Underlying MapBox is Node.js, the JavaScript platform designed for high IO throughput and scalable network applications.

MapBox API

Documentation

Get started quick with comprehensive documentation, accommodating support, and example projects.

Mapbox.js

Our open source JavaScript API makes working with web maps easier, faster, and more repeatable. Our API is a plugin for Leaflet, extending its functionality while connecting from Leaflet's strong ecosystem of plugins and advanced capabilities like vector features.

Browser support

We offer full browser support, ranging from modern desktop browsers like Chrome, Safari and Firefox to mobile browsers and Internet Explorer 8-10.

iOS SDK

Native

The MapBox Mobile SDK is a complete toolkit for building native iOS mapping applications.

Offline Caching

MapBox offers unrestricted control for caching MapBox Streets on mobile devices with the MapBox iOS SDK.

Built to Scale for Enterprise

Fast

MapBox serves maps from 30 globally distributed edge servers. With an edge server close by, MapBox maps are fast no matter where you are.

Dedicated support

Get support for any issue directly from developers, designers, and cartographers on the MapBox team.

24-7 Monitoring

MapBox servers are fully redundant with automatic failover. If a server fails, traffic is re-routed to ensure maps are served without downtime.

Maki icon set

Open source

Maki is a clean point of interest icon set made for web cartography. It includes 88 different symbols at 3 sizes each for a total of 264 icons and growing.

Pixel perfect

We designed Maki with the goal of creating an international, comprehensive, and stylistically unified point of interest icon set.

Stylistically unified

To maximize crispness and clarity, we've crafted three size variations for each symbol. Use all three sizes to scale the icons with the map as you zoom in and out.