Tutorials References Exercises VideosMenu
Free WebsiteGet CertifiedPro

HTML Canvas Reference

HTML Canvas Reference

The HTML <canvas> tag is used to draw graphics, on the fly, via scripting (usually JavaScript).

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

Colors, Styles, and Shadows

fillStyleSets or returns the color, gradient, or pattern used to fill the drawing
strokeStyleSets or returns the color, gradient, or pattern used for strokes
shadowColorSets or returns the color to use for shadows
shadowBlurSets or returns the blur level for shadows
shadowOffsetXSets or returns the horizontal distance of the shadow from the shape
shadowOffsetYSets or returns the vertical distance of the shadow from the shape
createLinearGradient()Creates a linear gradient (to use on canvas content)
createPattern()Repeats a specified element in the specified direction
createRadialGradient()Creates a radial/circular gradient (to use on canvas content)
addColorStop()Specifies the colors and stop positions in a gradient object

Line Styles

lineCapSets or returns the style of the end caps for a line
lineJoinSets or returns the type of corner created, when two lines meet
lineWidthSets or returns the current line width
miterLimitSets or returns the maximum miter length


rect()Creates a rectangle
fillRect()Draws a "filled" rectangle
strokeRect()Draws a rectangle (no fill)
clearRect()Clears the specified pixels within a given rectangle


fill()Fills the current drawing (path)
stroke()Actually draws the path you have defined
beginPath()Begins a path, or resets the current path
moveTo()Moves the path to the specified point in the canvas, without creating a line
closePath()Creates a path from the current point back to the starting point
lineTo()Adds a new point and creates a line to that point from the last specified point in the canvas
clip()Clips a region of any shape and size from the original canvas
quadraticCurveTo()Creates a quadratic Bézier curve
bezierCurveTo()Creates a cubic Bézier curve
arc()Creates an arc/curve (used to create circles, or parts of circles)
arcTo()Creates an arc/curve between two tangents
isPointInPath()Returns true if the specified point is in the current path, otherwise false


scale()Scales the current drawing bigger or smaller
rotate()Rotates the current drawing
translate()Remaps the (0,0) position on the canvas
transform()Replaces the current transformation matrix for the drawing
setTransform()Resets the current transform to the identity matrix. Then runs transform()


fontSets or returns the current font properties for text content
textAlignSets or returns the current alignment for text content
textBaselineSets or returns the current text baseline used when drawing text
fillText()Draws "filled" text on the canvas
strokeText()Draws text on the canvas (no fill)
measureText()Returns an object that contains the width of the specified text

Image Drawing

drawImage()Draws an image, canvas, or video onto the canvas

Pixel Manipulation

widthReturns the width of an ImageData object
heightReturns the height of an ImageData object
dataReturns an object that contains image data of a specified ImageData object
createImageData()Creates a new, blank ImageData object
getImageData()Returns an ImageData object that copies the pixel data for the specified rectangle on a canvas
putImageData()Puts the image data (from a specified ImageData object) back onto the canvas


globalAlphaSets or returns the current alpha or transparency value of the drawing
globalCompositeOperationSets or returns how a new image is drawn onto an existing image


save()Saves the state of the current context
restore()Returns previously saved path state and attributes