A dynamic, browser based visualization library. The library is designed to be easy to use, to handle large amounts of dynamic data, and to enable manipulation of and interaction with the data. The library consists of the components DataSet, Timeline, Network, Graph2d and Graph3d. Get it over here!

We're looking for people to help maintain and improve vis.js.

Interested? Click here
network examples


Display dynamic, automatically organised, customizable network views.

View examples »

View docs »

timeline examples


Create a fully customizable, interactive timeline with items and ranges.

View examples »

View docs »

graph2d examples


Draw graphs and bar charts on an interactive timeline and personalize it the way you want.

View examples »

View docs »

graph3d examples


Create interactive, animated 3d graphs. Surfaces, lines, dots and block styling out of the box.

View examples »

View docs »

DataSet docs


Manage unstructured data using DataSet. Add, update, and remove data, and listen for changes in the data.

View docs »

Download; getting started

The vis.js library is developed by Almende B.V. Vis.js runs fine on Chrome, Firefox, Opera, Safari, IE9+, and most mobile browsers (with full touch support). This site contains documentation, downloads and live examples of vis.js. The sourcecode of vis.js is available at Github. For questions, issues, and suggestions please use the issues section of the Github project.

install with npm (recommended)

npm install vis

install with bower

bower install vis

link from cdnjs.com



vis.zip (version 4.16.1)

Showcase; see vis in action!

In this section you can see cool projects that vis was used in. If you have made something and would like it featured, please make an issue on github with your project and how you'd like to be credited.

Contribute; join the project

Since vis.js is an open source project, everybody can contribute to it. If you want to contribute, great! Here's how:

First, fork vis on Github, then add your feature, fix a bug, rephrase our writing etc. and do a pull request to the develop branch on Github! Pull requests to the master branch will not be merged.

If you fork the codebase, you'll find all modules in seperate files. This makes it a lot easier to work on than the distributed and combined vis.js file.

If you want to contribute but don't know how, feel free to pick up a feature request described below! These come from ourselves as well as from Github issues. If you do, please post an issue on Github letting us know, so we can mark the feature under development as well as help out when needed. If we are about to implement something from the list, we'll remove it before starting.

Feature requests

We get a lot of feature requests on Github. Here's a list of them!

The requests that come in on Github usually have a good argumentation and a lot of these ideas have made it into vis! To keep a nice overview of them, to clean up our Github issues and to supply a pool of ideas for people to contribute, we have made this list.

This is by no means an end-of-the-line for your feature, but just something that we cannot pick up right away or cannot use in our projects at this time. We'd like to invite people who want to contribute to pick up one (or more!) of these features. View the list here.


Copyright (C) 2010-2016 Almende B.V.

Vis.js is dual licensed under both Apache 2.0 and MIT.

Vis.js may be distributed under either license.

  • http://www.apache.org/licenses/LICENSE-2.0
  • -The MIT License http://opensource.org/licenses/MIT