EaselJS is a JavaScript library for building high-performance interactive 2D content in HTML5 Canvas.
The library solves the complexity of working directly with the HTML5 Canvas API by providing a hierarchical display list, similar to Flash's model, that lets developers manipulate and animate graphics as objects rather than raw drawing commands. It includes a robust interaction model for mouse and touch events, eliminating the need to manually track coordinates and hit detection. The display list is organized around a Stage container that can hold nested Containers and display objects like Sprites, Shapes, Bitmaps, and Text, each with properties for position, rotation, scale, alpha, and effects like shadows and filters.
The tool suits developers building games, generative art, interactive advertisements, data visualizations, and other graphics-heavy experiences. It has no external dependencies and works alongside other CreateJS libraries—SoundJS for audio, PreloadJS for asset loading, and TweenJS for animation—or standalone with any JavaScript framework. The API is designed to be approachable for both JavaScript and ActionScript developers familiar with Flash's display list paradigm.
The project maintains a stable codebase with documentation, examples, and community discussion channels established across multiple platforms. Bug reports and feature requests are tracked through GitHub Issues, and the library is released under the MIT license for both open-source and commercial use.