.

Size (KB)LanguageLast updatedLicenseDocsForum/Group Unit testsModularDependenciesSVG ParserWebGL rendererIE<9Node.jsWatchersForksProject pageCode repositoryMinified size (KB)

.

.

CAAT284JavaScript7/2/2013MIT---590111http://hyperandroid.github.io/CAAT/https://github.com/hyperandroid/CAAT

.

canvg57JavaScript6/18/2013MIT---295--https://code.google.com/p/canvg/57

.

Easel.js79JavaScript7/17/2013MIT-partial [1] [2]unofficial2615575http://easeljs.com/https://github.com/CreateJS/EaselJS

.

Fabric.js77-225JavaScript7/18/2013MIT- [3]2822481http://fabricjs.comhttps://github.com/kangax/fabric.js

.

Kinetic.js109JavaScript7/5/2013MIT, GPL V2-partial [4]1691334http://www.kineticjs.com/https://github.com/ericdrowell/KineticJS/

.

Paper.js167-200PaperScript / JavaScript7/18/2013MIT- [5]2984280http://paperjs.org/https://github.com/paperjs/paper.js

.

Processing.js226Processing3/30/2013MIT-- [6]1453356http://processingjs.org/https://github.com/jeresig/processing-js

.

pixi.js87JavaScript7/14/2013MIT- [7]-2250219http://www.pixijs.com/https://github.com/GoodBoyDigital/pixi.js/

.

two.js50JavaScript7/12/2013MIT--2180128http://jonobr1.github.io/two.js/https://github.com/jonobr1/two.js

.

Canvas Query30JavaScript4/22/2013MIT--37639http://canvasquery.com/https://github.com/rezoner/CanvasQuery

.

CGSG90JavaScript2/8/2013MIT---6525http://gwennaelbuchet.github.io/cgSceneGraph/https://github.com/GwennaelBuchet/cgSceneGraph

.

Cango79JavaScript6/6/2013Public domain-----http://www.arc.id.au/CanvasGraphics.html-

.

goo.js3JavaScript6/28/2013- [7]-655http://www.storminthecastle.com/projects/goo.js/https://github.com/johnrobinsn/goo.js

.

LibCanvas180JavaScript4/25/2013MIT, GPL V2 [8]AtomJS [9] [10]-31769http://libcanvas.comhttps://github.com/theshock/libcanvas

.

Scrawl.js175JavaScript10/30/2013MIT [11]- [12]-12http://scrawl.rikweb.org.uk/https://github.com/KaliedaRik/Scrawl.js

.

HTML 5 Canvas Library12JavaScript10/1/2012MIT--7-https://canvastoolkit.codeplex.com/https://canvastoolkit.codeplex.com/SourceControl/latest

.

jCanvaScript58JavaScript9/20/2012MIT, GPL V2- [13]-10513http://jcscript.com/https://github.com/apsavin/jCanvaScript

.

bHive37JavaScript6/25/2012GPL-----http://www.bhivecanvas.com/-

.

CAKE211JavaScript2/9/2012MIT---265--https://code.google.com/p/cakejs/

.

.

Inactive / Abandoned

.

.

gury.js10JavaScript8/9/2011MIT- [14]-36621http://guryjs.org/https://github.com/rsandor/gury

.

Artisan.js17JavaScript8/20/2011MIT, GPL---526http://www.artisanjs.com/https://github.com/davidbrooks/Artisan

.

HTML Canvas Lib25JavaScript4/11/2011MIT- [13]---http://html-canvas-lib.sourceforge.net/http://sourceforge.net/projects/html-canvas-lib/

.

doodle.js84JavaScript12/23/2011BSD- [15]-22015http://www.lamberta.org/doodle-js/-

.

Mootools Canvas Library8JavaScript5/31/2010MITMootools--293-https://github.com/Mtillmann/mootools-canvas-lib/

.

Layered Canvas Library21JavaScript5/17/2010GPL V3---13--https://code.google.com/p/layered-canvas-library/

.

canto.js56JavaScript10/18/2010MIT-partial [16]-85--http://code.google.com/p/canto-js/

.

burst56JavaScript3/2/2009MIT-partial--74-https://github.com/osteele/burst

.

.

.

Size values comparison may be unfair as some libraries compress source and some don't

.

.

✓ = Yes, ✕ = NoWhy isn't Raphael included here?

.

.

Last updated: Jul 23, 2013The table only includes <canvas>-based libraries, not SVG ones.
For SVG libraries see Raphael.js, Bonsai.js, svg.js, Snap.svg, d3.js, etc.

.

20102011201220132014

.

Corrections/suggestions:How often is the table updated?Fabric.js

.

Easel.js

.

kangax@gmail.comOnce in 4-6 monthsPaper.js

.

orKinetic.js

.

@kangaxWhy isn't Three.js included here?

.

.

The table only includes 2D libraries; Three.js is mainly a 3D one

.

.

Why isn't InfoVis library included here?

.

.

The table includes mainly general-purpose libraries; InfoVis is very specific (data visualization)

.

[1] Experimental/incomplete: https://github.com/CreateJS/EaselJS/issues/339
[2] https://github.com/CreateJS/EaselJS/issues/83
[3] https://npmjs.org/package/fabric
[4] http://www.kineticjs.com/forum/viewtopic.php?f=4&t=1310&p=4030
[5] http://paperjs.org/about/#browser-support
[6] Unofficial support — https://github.com/halfninja/node-processing
[7] Uses `document.addEventListener`
[8] Only Russian — https://github.com/theshock/libcanvas/tree/master/Docs/Ru
[9] https://github.com/theshock/atomjs
[10] Getters/setters — https://raw.github.com/theshock/libcanvas/master/libcanvas-full-compiled.js
[11] two versions available: scrawl.js purely for canvas manipulation; scrawl+stack.js includes basic CSS3 3d manipulation.
[12] doesn't import svg files, but can use them.
[13] https://github.com/paperjs/paper.js/issues/22
[14] __defineGetter__ — https://github.com/rsandor/gury/issues/12
[15] Object.defineProperties — https://github.com/lamberta/doodle-js/blob/master/build/doodle-debug.js
[16] ES5 getters/setters — http://code.google.com/p/canto-js/source/browse/trunk/canto.js