Skip to content
Visual connectivity for webapps
JavaScript HTML CSS
Branch: master
Clone or download
Latest commit f9ca683 Nov 28, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
css ensure demo canvas is position:relative Jun 4, 2019
demo add checkboxes to toggle lists on/off Jun 5, 2019
dist/js 2.12.7 Nov 28, 2019
doc 2.12.7 Nov 28, 2019
docs 2.12.7 Nov 28, 2019
img import fonts Jul 15, 2015
jekyll 2.9.2 Apr 28, 2019
src prevent nodes inside a group being added to the drag selection Nov 28, 2019
tests move drag tests into the drag test js. added tests to ensure nodes in… Nov 28, 2019
.babelrc first set of commits for conversion to typescript. not compiling righ… Oct 21, 2017
.gitignore add _build to gitignore Nov 23, 2017
Gruntfile.js remove build-all, not needed Sep 23, 2019 a few basic readme updates Apr 23, 2019
build-support.js updates to assist in migrating to new site Dec 18, 2014
build.json add lists demo to build json Jun 5, 2019
index.d.ts Merge branch 'master' of Jan 11, 2019
index.html begin splitting monolithic test file into separate areas of functiona… Aug 23, 2017
install.js add a recursive npm install/grunt build script Jan 26, 2017
jsPlumb-LICENSE.txt Merged MIT and GPLv2 license texts to one file, licence field in bowe… Jan 21, 2016
jsplumb.tgz 2.12.7 Nov 28, 2019
logo-bw.png 1.5.4 rc3 Nov 18, 2013
package.json version bump to 2.12.7 Nov 28, 2019
todo.txt udpate every adapter to use Mottle for internal events Sep 4, 2014


jsPlumb provides a means for a developer to visually connect elements on their web pages. It uses SVG and runs on all browsers from IE9 and later.

The final version of jsPlumb to support IE8 was 1.7.10. You can still get 1.7.10 from a tag, if you need it.

If you're new to jsPlumb, please do take the time to read the documentation. There are a few integration issues that you should be aware of: z-index needs special attention, for example.

This project is the 'Community Edition' of jsPlumb. The 'Toolkit Edition' is a commercially-licensed wrapper around this.

This project is not the correct place to report issues for the Toolkit edition. The Toolkit is not a public project. Issues reported for the Toolkit edition in this issue tracker will be deleted.


For the Community edition the documentation can now be found here:


Can be found at


npm install jsplumb

NOTE: jsPlumb does not follow strict semantic versioning. It is not at all recommended that you use wildcards when specifying a dependency on jsPlumb. The given command will install jsPlumb version using a caret for wildcard, eg ^2.9.0 - you might want to take off the caret.

jsPlumb does not follow strict semantic versioning largely because of the stipulation that breaking changes must result in the major version being bumped. A major version implies something fundamental has occurred. The bump from 1.7.10 to 2.0.0 in jsPlumb was caused by the removal of the VML renderer, meaning IE6 and IE8 were no longer supported. You may say, a-ha! A breaking change! And you would be right; that was a breaking change. But a new major version might also occur when a new capability is added that doesn't affect existing functionality. And not every breaking change constitutes a fundamental change in the library itself. This note about semver was added to jsPlumb, for example, due to a discussion about how the stop event behaviour in the underlying drag library - Katavorio - had changed. Semver would say that the major version should have been bumped. But the change was not something fundamental. No capabilities had been added or removed...just some variables had been shuffled around.

Maybe you agree with this viewpoint. Maybe you don't.

We package the following files:

"files": [

We recommend including the jsplumbtoolkit-defaults.css file to begin with, as it provides some sane default values.


An index.d.ts is included in the npm package.


jsPlumb uses GitHub's issue tracker for enhancements and bugs. A losing battle was fought against the usage of Github for questions; now it seems to be the default, and the Google group is no longer in use.


No external dependencies.

jsPlumb in action

Links to various demonstrations can be found here.

jsPlumb Helper Projects

  • Bezier curve functions:

  • Simple geometry functions:

  • Drag+drop:

  • Events:


There is a full suite of unit tests checked in to the test and dist/test directories.


Please don't.

Mailing List

Sign up for the jsPlumb announcements mailing list here.


All 1.x.x and 2.x.x versions of jsPlumb Community edition are dual-licensed under both MIT and GPLv2.

You can’t perform that action at this time.