🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to HTML Notes
Topic #66

HTML Canvas


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 CodingNow 2.0'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 CodingNow 2.0 explains HTML Canvas in HTML — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every HTML topic on CodingNow 2.0, 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 CodingNow 2.0'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 CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now