How to set the width of stroke of Ellipse using FabricJS?

In this tutorial, we are going to learn how to set the width of stroke of an Ellipse using FabricJS. Ellipse is one of the various shapes provided by FabricJS. In order to create an ellipse, we will create an instance of fabric.Ellipse class and add it to the canvas. The strokeWidth property allows us to specify the width of a stroke for an object.

Syntax

new fabric.Ellipse( { strokeWidth: Number }: Object)

Parameters

  • options (optional) ? This parameter is an Object which provides additional customizations to our ellipse. Using this parameter color, cursor, stroke width and a lot of other properties can be changed related to the object of which strokeWidth is a property.

Options Keys

  • strokeWidth ? This property accepts a Number value which allows us to specify the width of a stroke for an object. Its default value is 1.

Example 1: Default Stroke Width

The following example depicts the default appearance of the stroke of an ellipse object. Since we have not used the strokeWidth property, the default width of 1 pixel is being rendered.

<!DOCTYPE html>
<html>
   <head>
      <!-- Adding the Fabric JS Library-->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script>
   </head>

   <body>
      <h2>Setting the width of stroke of an Ellipse using FabricJS</h2>
      <p>Here we haven't set the <b>strokeWidth</b> explicitly. By default, it is set to 1. </p>
      <canvas id="canvas"></canvas>

      <script>
         // Initiate a canvas instance
         var canvas = new fabric.Canvas("canvas");

         // Initiate an ellipse instance
         var ellipse = new fabric.Ellipse({
            left: 115,
            top: 50,
            rx: 80,
            ry: 50,
            fill: "#ffdead",
            stroke: "#cd853f",
         });

         // Adding it to the canvas
         canvas.add(ellipse);
         canvas.setWidth(document.body.scrollWidth);
         canvas.setHeight(250);
      </script>
   </body>
</html>

Example 2: Custom Stroke Width

In this example, we are passing the strokeWidth property a value of 5. This will make sure that our ellipse object is rendered with a stroke that has a width of 5 pixels, making it more prominent.

<!DOCTYPE html>
<html>
   <head>
      <!-- Adding the Fabric JS Library-->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script>
   </head>

   <body>
      <h2>Setting the width of stroke of an Ellipse using FabricJS</h2>
      <p>Observe the stroke width of the ellipse. Here we have set the <b>strokeWidth</b> at 5 pixels.</p>
      <canvas id="canvas"></canvas>

      <script>
         // Initiate a canvas instance
         var canvas = new fabric.Canvas("canvas");

         // Initiate an ellipse instance
         var ellipse = new fabric.Ellipse({
            left: 115,
            top: 50,
            rx: 80,
            ry: 50,
            fill: "#ffdead",
            stroke: "#cd853f",
            strokeWidth: 5,
         });

         // Adding it to the canvas
         canvas.add(ellipse);
         canvas.setWidth(document.body.scrollWidth);
         canvas.setHeight(250);
      </script>
   </body>
</html>

Key Points

  • The strokeWidth property accepts numeric values representing pixels
  • Default stroke width is 1 pixel if not specified
  • Higher values create thicker, more visible strokes
  • The stroke must be defined using the stroke property for strokeWidth to be visible

Conclusion

The strokeWidth property in FabricJS provides precise control over ellipse stroke thickness. By adjusting this value, you can create ellipses with varying border prominence to suit your design needs.

Updated on: 2026-03-15T23:19:00+05:30

226 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements