Using Fabric.js, you can create and populate objects on canvas; objects like simple geometrical shapes
    
    
      or complex shapes consisting of hundreds or thousands of simple paths
    
    
      or good old images
    
    
      You can add text and dynamically manipulate its size, alignment, font family, and other properties
    
    
      You can give any shape a gradient
    
    
      and apply image filters to images
    
    
      There's built-in animation support
    
    
      You can group objects together, and manipulate them at the same time
    
    
      You can add shadow to any object. Or make it draggable only by its content. Try this star →
    
    
      Objects can be easily flipped in any direction. Or locked in movement, scaling, etc.
 ← Try these cats.
    
    
      There's an extensive event system
    
    
      You can clip any object to any shape
    
    
      or use pattern to fill its content
    
    
      and, of course, use free drawing to create anything you like,
 erasing is supported as well
    
    
      Canvas can be serialized to JSON or SVG, and restored at any time