Back to HTML Notes
Topic #66

HTML Canvas

Canvas is a drawable area controlled by JavaScript, powering games, charts and image editing in the browser. It is where HTML stops describing and starts rendering.


The HTML <canvas> element is used to draw graphics on a web page.

The graphic to the left is created with <canvas>. It shows four elements: a red rectangle, a gradient rectangle, a multicolor rectangle, and a multicolor text.


What is HTML Canvas?

The HTML <canvas> element is used to draw graphics, on the fly, via JavaScript.

The <canvas> element is only a container for graphics. You must use JavaScript to actually draw the graphics.

Canvas has several methods for drawing paths, boxes, circles, text, and adding images.

Canvas is supported by all major browsers.


Canvas Examples

A canvas is a rectangular area on an HTML page. By default, a canvas has no border and no content.

The markup looks like this:

<canvas id="myCanvas" width="200" height="100"></canvas>

Note: Always specify an id attribute (to be referred to in a script), and a width and height attribute to define the size of the canvas. To add a border, use the style attribute.

Here is an example of a basic, empty canvas:

Example

<canvas id="myCanvas" width="200" height="100"
style="border:1px solid
#000000;">

</canvas>

Add a JavaScript

After creating the rectangular canvas area, you must add a JavaScript to do the drawing.

Here are some examples:

Draw a Line

Example

  <script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

 ctx.moveTo(0, 0);
ctx.lineTo(200, 100);

 ctx.stroke();
</script>

Draw a Circle

Example

  <script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

 ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.stroke();

  </script>

Draw a Text

Example

   <script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

 ctx.font = "30px Arial";
ctx.fillText("Hello World", 10, 50);

   </script>

Stroke Text

Example

  <script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

 ctx.font = "30px Arial";
ctx.strokeText("Hello World", 10, 50);

  </script>

Draw Linear Gradient

Example

   <script>
var c = document.getElementById("myCanvas");

 var ctx = c.getContext("2d");

 // Create gradient

 var grd = ctx.createLinearGradient(0, 0, 200, 0);

 grd.addColorStop(0, "red");

 grd.addColorStop(1, "white");

 // Fill with gradient

 ctx.fillStyle = grd;

 ctx.fillRect(10, 10, 150, 80);
</script>

Draw Circular Gradient

Example

   <script>
var c = document.getElementById("myCanvas");

 var ctx = c.getContext("2d");

 // Create gradient

 var grd = ctx.createRadialGradient(75, 50, 5, 90, 60, 100);

 grd.addColorStop(0, "red");

 grd.addColorStop(1, "white");

 // Fill with gradient

  ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);
</script>

Draw Image

Example

  <script>
var c = document.getElementById("myCanvas");

 var ctx = c.getContext("2d");

 var img = document.getElementById("scream");

 ctx.drawImage(img, 10, 10);
</script>

HTML Canvas Tutorial

To learn more about <canvas>, please read our HTML Canvas Tutorial.

Want to go beyond the notes?

Join Coding Now Tech Institute's HTML course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

HTML Canvas – FAQs

Quick answers about learning HTML Canvas in HTML.

This free note from Coding Now Tech Institute explains HTML Canvas in HTML — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every HTML topic on Coding Now Tech Institute, including HTML Canvas, is 100% free with no signup required.
With focused practice, most students grasp HTML Canvas in 1–3 days from these notes; pairing it with Coding Now Tech Institute's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the Coding Now Tech Institute Community (/community) — expert instructors answer within 24 hours.
Call NowEnroll Now