Phaser.js: Phaser: The Canvas

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


This post is part of a Phaser series. Click here to see the first post of the series.

Phaser games are rendered inside an HTML <canvas> element.

If you’re new to Canvas, I talk in details about it in the Canvas API tutorial.

We create a canvas, with a specific set of width/height, and we draw into it.

We can’t use CSS to style elements, but we have to use a more low level and difficult API.

Luckily Phaser (and other libraries that use Canvas under the hood) abstract away all the tiny details, so we can focus on the application code.

We initialize a Phaser game by calling the Game static method on the Phaser object:

new Phaser.Game()

We must pass to this function an object literal with a set of configuration options:

new Phaser.Game({})

In this configuration object we can set various properties.

To start with, we can set the width and height of the canvas:

new Phaser.Game({
  width: 450,
  height: 600
})

Another property we can pass is backgroundColor, which accepts an hexadecimal value, like 0x000000 for black.

Colors are similar to CSS colors, but you need to prepend 0x so JS knows it’s an hexadecimal number.

Lessons in this unit:

0: Introduction
1: Setting up a project to build a JavaScript game with Phaser
2: ▶︎ Phaser: The Canvas
3: Phaser: Scenes
4: Phaser: Multiple scenes
5: Phaser: The game loop
6: Phaser: Adding images
7: Phaser: Sprites
8: Phaser: GameObjects
9: Phaser: Animations
10: Phaser: Keyboard events
11: Phaser: Mouse input
12: Phaser: Physics
13: Phaser: collisions and screen boundaries
14: Phaser: Playing sounds
15: How to create a platformer game with Phaser.js