Friday, January 23, 2026
HomeLanguagesJavascriptHow to find the height of a text in HTML canvas using...

How to find the height of a text in HTML canvas using JavaScript ?

In this article, we will find the height of the text canvas using JavaScript. We have two approaches to find the height of a text in HTML canvas using JavaScript which are described below:

Approach 1: In the following example, the height attribute of the HTML canvas is used. First set the font in pt to set the height.

context.font = '26pt Calibri';

Then the current text is aligned in the center by using values ‘middle’ and color ‘yellow’.

context.textAlign = 'middle';
context.fillStyle = 'yellow';

Then, check the width of the text using the measureText() method before writing to the canvas. Finally, the text is written on the canvas using the fillText() method.

Example: This example shows the use of the above-explained approach.

HTML




<body style="margin: 0px;padding: 0px;">
    <canvas id="myCanvas" width="550" height="200">
    </canvas>
    <script>
        var canvas = document.getElementById('myCanvas');
        var context = canvas.getContext('2d');
        var x = canvas.width / 3;
        var y = canvas.height / 2 - 15;
        var text = 'HI ';
          
        // Set the font to set the height
        context.font = '26pt Calibri';
        context.textAlign = 'middle';
        context.fillStyle = 'yellow';
        context.fillText(text, x, y);
        context.font = '20pt Calibri';
          
        // Check the width of the text 
        var metrics = context.measureText(text);
        var width = metrics.width;
          
        // Text is aligned in the left      
        context.textAlign = 'left';
        context.fillStyle = '#010';
          
        context.fillText('(' + width 
            + 'px wide)', x, y + 40);
    </script>
</body>


Output:

 

Approach 2: First get the 2d drawing context of the canvas by using the getContext() method. Set the font and the text string. Then write the text with x and y co-ordinates using fillText() method as given below.

Example: This example shows the use of the above-explained approach.

HTML




<canvas id="Canvas" width="300" ]
        height="150" 
        style="border:1px solid #010;">
        Your browser isn't supporting
        HTML5 canvas tag.
</canvas>
  
<script>
    var c = document.getElementById("Canvas");
    var x = c.getContext("2d");
    x.font = "30px Arial";
    var txt = "Computer Science"
    x.fillText("width:" 
        + x.measureText(txt).width, 10, 50);
    x.fillText(txt, 10, 100);
</script>


Output:

 

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!
RELATED ARTICLES

Most Popular

Dominic
32475 POSTS0 COMMENTS
Milvus
119 POSTS0 COMMENTS
Nango Kala
6847 POSTS0 COMMENTS
Nicole Veronica
11977 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12065 POSTS0 COMMENTS
Shaida Kate Naidoo
6986 POSTS0 COMMENTS
Ted Musemwa
7221 POSTS0 COMMENTS
Thapelo Manthata
6934 POSTS0 COMMENTS
Umr Jansen
6912 POSTS0 COMMENTS