CARTO VL: a Javascript library to create vector-based visualizations
Switch branches/tags
Clone or download
Latest commit 0887c6a Dec 10, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Add build:clean in circlei & local e2e Dec 5, 2018
config/jsdoc Fix tests Jul 2, 2018
debug Use isPlaying in animation example Dec 5, 2018
docs Add a note on npm library version to getting-started guide Dec 7, 2018
examples add links for CC and CB Dec 7, 2018
scripts Rename args to use '--dry-run' when publishing to CDN Dec 10, 2018
src Merge branch 'master' into 1159-layer-updated Dec 10, 2018
test Merge branch 'master' into 1159-layer-updated Dec 10, 2018
webpack Configure bundle-analyzer to be run on demand, with a new task Dec 7, 2018
.babelrc Fix tests and reduce build size with @babel/plugin-transform-runtime Sep 19, 2018
.editorconfig Update examples format Mar 13, 2018
.eslintignore Ignore ignored examples in linting Oct 25, 2018
.eslintrc.json Adapt to upgraded linter Oct 18, 2018
.gitignore Have an ignored directory for local examples Aug 24, 2018
.npmignore Use again dist directory to save bundles Jul 17, 2018
.npmrc Add secrets file template Apr 30, 2018
.yarnrc Add yarnrc file Jul 17, 2018 Merge master into branch Dec 10, 2018 Update of the contribution information Jun 11, 2018 Use a subdomainless Maps API configuration Oct 24, 2018
LICENSE Create LICENSE file Jan 31, 2018 Remove another 'beta' comment from README Nov 22, 2018
favicon.ico Add favicon to prevent 404 errors Jun 11, 2018
index.html Rename editor's link Jul 16, 2018
package.json Remove s3 as a dependency (now using just aws-sdk) Dec 10, 2018
secrets.template.json Rename template file Apr 30, 2018



CARTO VL is an open source JavaScript library for developers to create vector-based visualizations inside Location Intelligence applications.


  • Maps are rendered client-side, instead of being rendered on the server. As a result, we provide faster load times and overall app performance by eliminating potential server problems.
  • Built-in smart point aggregations and geometry simplifications making it easier than ever to visualize and interact with larger datasets. CARTO VL does this in a dynamic and automatic way, meaning you don’t need to rerun costly and time-expensive pre-processing steps over the geometry.
  • Ability to modify geometries directly in the browser. This is a powerful solution for animated visualizations of points, lines, and polygons.
  • Full control over everything happening on the map and can provide rich reactions to user interactions.
  • New and intuitive map styling language that is designed specifically for multi-scale, thematic cartography. With just a few lines, complex visualizations can be created. Non-programmers can create their first map easily, while programmers will still be able to exploit the full potential of the CARTO ecosystem.


Run this

width: 8
color: ramp(buckets($dn, [80, 100, 140]), prism)
strokeWidth: 0
filter: $dn > 60

To see

I want to make a map

To start, you will need a basic HTML file structure to display your map in a browser. We recommend you to follow this Getting started guide to create a basic map.

Then, start by getting familiarized with CARTO VL's Syntax and follow up with all our available introduction guides:

Also, take a look at our examples to understand the possibilities and inspire you!

An alternative way is to use our npm package. Take a look at an example here.

npm i @carto/carto-vl

Happy mapping!

I want to contribute to CARTO VL

That's great! We are more than happy to receive your contributions to the code and its documentation.


To clone and run this library, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:

# Clone this repository
$ git clone

# Go into the repository
$ cd carto-vl

# Install dependencies (node >=6.11.5 is required)
$ yarn

# Bundle the library
$ yarn build

For more information, please read

Start developing

Get started using CARTO VL's documentation at CARTO's Developer Center.

Play with the examples

You can find all the examples on the documentation in the examples folder. There are also some developer focused examples on the debug folder.

Run the following commands to access them locally:

# Bundle the library with a watch dog
$ yarn build:watch

# Run a server
$ yarn serve


Lastly, check out for more information about submitting pull requests to us. You will need to sign a Contributor License Agreement (CLA) before making a submission. Learn more here.


We encourage you to start playing with CARTO VL and to please send us feedback so we can create an even better library, suited to your needs.

Works with

CARTO VL is a geo-spatial data visualization library. However it doesn't include basemap rendering capabilities. Therefore, CARTO VL needs to be used with Mapbox GL as a basemap provider. You'll need to use Mapbox GL for controlling the center and zoom level of your map too. The integration is seamless, but you will need to use one of our patched versions as shown in the examples.


We use SemVer for versioning. For the versions available, see the tags on this repository.



This project is licensed under the BSD 3-clause "New" or "Revised" License - see the LICENSE.txt file for details.