Visual connectivity for webapps
Clone or download
Latest commit d6e7e0c Dec 10, 2018


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 cleared.


npm install jsplumb

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. But please do check the Google Group before posting an issue, particularly if you're just asking a question.


No external dependencies.

jsPlumb in action

Links to various demonstrations can be found here.


Documentation can be found in the doc folder of the project, or you can view it online here.

API documentation is in the apidoc folder of the project, and online 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.


The Twitter account for this project is jsplumblib

..but of course things fall through the cracks with Twitter. So maybe use this instead:

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.