How to create a canvas ellipse using Fabric.js ?

In this article, we are going to see how to create a canvas ellipse using FabricJS. The canvas means ellipse is movable and can be stretched according to requirement. Further, the ellipse can be customized when it comes to initial stroke color, fill color, stroke width or radius.

Approach: To make it possible we are going to use a JavaScript library called FabricJS. After importing the library using CDN, we will create a canvas block in the body tag which will contain our ellipse. After this, we will initialize instances of Canvas and Ellipse provided by FabricJS and render the Ellipse on the Canvas as given in the example below.


            rx: number,
            ry: number,
            radius: number,
            fill: string,
            stroke: string,
            strokeWidth: int

Parameters: This function accepts six parameters as mentioned above and described below:

  • rx: It specifies the horizontal radius.
  • ry: It specifies the vertical radius.
  • radius: It specifies the radius.
  • fill: It specifies the fill colour.
  • stroke: It specifies the stroke colour.
  • strokeWidth: It specifies the width of stroke.

Program: This example uses FabricJS to create simple editable canvas-like ellipse as given below:





<!DOCTYPE hyml>
        How to create a canvas-type 
        ellipse with JavaScript?
    <!-- Loading the FabricJS library -->
    <script src=
    <canvas id="canvas" 
            width="600" height="200" 
            style="border:1px solid #000000">
        // Initiate a Canvas instance
        var canvas = new fabric.Canvas("canvas");
        // Initiate a Ellipse instance
        var ellipse = new fabric.Ellipse({
            rx: 80,
            ry: 40,
            fill: '',
            stroke: 'green',
            strokeWidth: 3
        // Render the Ellipse in canvas




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.