Netherworld's Pretend Minibar

    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/mapbox__mapbox-gl-draw package

    1.3.0 • Public • Published


    Greenkeeper badge Build Status

    Adds support for drawing and editing features on mapbox-gl.js maps. See a live example here

    Requires mapbox-gl-js. Compatible versions are documented in the package.json

    On NPM this package has recently moved from mapbox-gl-draw to @mapbox/mapbox-gl-draw


    npm install @mapbox/mapbox-gl-draw

    Draw ships with CSS, make sure you include it in your build.


    Typescript definition files are available as part of the DefinitelyTyped package.

    npm install @types/mapbox__mapbox-gl-draw

    When using modules

    import '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css'

    When using CDN

    <link rel='stylesheet' href='' type='text/css' />

    Usage in your application

    When using modules

    import mapboxgl from 'mapbox-gl';
    import MapboxDraw from "@mapbox/mapbox-gl-draw";

    When using a CDN

    <script src=''></script>

    Example setup

    mapboxgl.accessToken = 'YOUR_ACCESS_TOKEN';
    var map = new mapboxgl.Map({
      container: 'map',
      style: 'mapbox://styles/mapbox/streets-v8',
      center: [40, -74.50],
      zoom: 9
    var Draw = new MapboxDraw();
    // Map#addControl takes an optional second argument to set the position of the control.
    // If no position is specified the control defaults to `top-right`. See the docs
    // for more details:
    map.addControl(Draw, 'top-left');
    map.on('load', function() {

    See for complete reference.

    Enhancements and New Interactions

    For additional functionality check out our list of custom modes.

    Mapbox Draw accepts functionality changes after the functionality has been proven out via a custom mode. This lets users experiment and validate their mode before entering a review process, hopefully promoting innovation. When you write a custom mode, please open a PR adding it to our list of custom modes.

    Developing and testing

    Install dependencies, build the source files and crank up a server via:

    git clone
    yarn install
    yarn start & open "http://localhost:9967/debug/?access_token=<token>"


    npm run test


    To github and npm

    npm version (major|minor|patch)
    git push --tags
    git push
    npm publish

    To CDN

    # make sure you are authenticated for AWS
    git checkout v{x.y.z}
    yarn install
    yarn run prepublish
    aws s3 cp --recursive --acl public-read dist s3://mapbox-gl-js/plugins/mapbox-gl-draw/v{x.y.z}

    Update the version number in the GL JS example.

    Naming actions

    We're trying to follow standards when naming things. Here is a collection of links where we look for inspiration.


    npm i @mapbox/mapbox-gl-draw

    DownloadsWeekly Downloads






    Unpacked Size

    3.73 MB

    Total Files


    Last publish


    • mapbox-npm-01
    • mapbox-npm-02
    • mapbox-npm-07
    • mapbox-npm-03
    • mapbox-npm-04
    • mapbox-npm-09
    • mapbox-npm-05
    • mapbox-npm-06
    • mapbox-npm-08
    • mapbox-npm-advanced-actions
    • mapbox-npm-ci
    • mapbox-npm
    • mapbox-admin
    • mapbox-machine-user