Phaser Features
Phaser uses both a Canvas and WebGL renderer internally and can automatically swap between them based on browser support. This allows for lightning fast rendering across Desktop and Mobile.
We've made the loading of assets as simple as one line of code. Images, Sounds, Sprite Sheets, Tilemaps, JSON data, XML - all parsed and handled automatically, ready for use in game and stored in a global Cache for Game Objects to share.
Phaser ships with support for 3 physics systems: Arcade Physics, an extremely light-weight AABB library perfect for low-powered devices. Impact Physics for advanced tile support and Matter.js - a full-body system with springs, constraints and polygon support.
Sprites are the life-blood of your game. Position them, tween them, rotate them, scale them, animate them, collide them, paint them onto custom textures and so much more!
Sprites also have full Input support: click them, touch them, drag them around, snap them - even pixel perfect click detection if needed.
Group bundles of Sprites together for easy pooling and recycling, avoiding constant object creation. Groups can also be collided: for example a "Bullets" group checking for collision against the "Aliens" group, with a custom collision callback to handle the outcome.
Phaser supports classic Sprite Sheets with a fixed frame size as well as several common texture atlas formats including Texture Packer, Starling and Unity YAML. All of these can be used to easily create animations.
A particle system is built-in, which allows you to create fun particle effects easily. Create explosions or constant streams for effects like rain or fire. Or attach the Emitter to a Sprite for a jet trail.
Phaser has advanced multi-camera support. Easily create extra cameras then position and scale them anywhere on screen. Cameras can be scrolled and also have special effects like shake, flash and fade. Pan around and follow Sprites with ease.
Talk to a Phaser Pointer and it doesn't matter if the input came from a touch-screen or mouse, it can even change mid-game without dropping a beat. Touch, Mouse, Keyboard, Gamepad and lots of useful functions allow you to craft whatever input system you need.
Phaser supports both Web Audio and legacy HTML Audio. It automatically handles mobile device locking, easy Audio Sprite creation, looping, streaming, volume, playback rates and detuning. We know how much of a pain dealing with audio on mobile is, so we did our best to resolve that!
Phaser can load, render and collide with a tilemap with just a couple of lines of code. We support CSV and Tiled map data formats with multiple tile layers. There are lots of powerful tile manipulation functions: swap tiles, replace them, delete them, add them and update the map in realtime.
Phaser 2 has a built-in Scale Manager which allows you to scale your game to fit any size screen. Control aspect ratios, minimum and maximum scales and full-screen support (coming soon to Phaser 3)
We are trying hard to keep the core of Phaser limited to only essential classes, so we built a smart Plugin system to handle everything else. Create your own plugins easily and share them with the community.
Phaser was built specifically for Mobile web browsers. Of course it works blazingly fast on Desktop too, but unlike lots of frameworks mobile was our main focus. If it doesn't perform well on mobile then we don't add it into the Core.
We use Phaser every day on our many client projects. As a result it's constantly evolving and improving and we jump on bugs and pull requests quickly. This is a living, breathing framework maintained by a commercial company with custom feature development and support packages available. We live and breathe HTML5 games.
Phaser exists within the ecosystem of the web browser. It was built to allow you to create web based games and that is where it will always focus. It's a rapidly changing landscape and we're staying on-top of these changes to ensure new browser APIs are supported quickly.
A comprehensive tutorial with example code on how to create texture atlases for Phaser 3 with Texture Packer.
The first in a series of long-form tutorials covering the process of creating a Facebook Instant Game with Phaser 3.
Create a clear path so the explosive Oddbod character floats away safely by removing a range of obstacles as fast as you can!
The final part of how to build a multiplayer Space Invaders game.
Enjoy 5 classic game modes with beautiful graphics, relaxing gameplay and six themes.
Building Mobile Games with Ionic Framework and Phaser JS.
Use gravity and thrust to create a prototype of this hit hyper casual game.
Learn about implementing pub / sub in a multiplayer Space Invaders game.
Pick a player, grab a Nerf gun and blast your way through all the obstacles!
This tutorial will show you which files you need and how to use them to get the Phaser 3 Spine Plugin running.
How to create a rotating crank for a Puppet Bird style game.
It's sokoban, with slimes! Slide, push and fireball your way through 30 puzzle levels.
Learn about network protocols, architecture and system design for a multiplayer Space Invaders game.
Push the dead back into their graves in this creepy Sokoban twist.
See how you can use the RexUI TextEdit plugin to get text input from the player.
Swing your way to the finish and watch the grand finale as you're catapulted far across the terrain.
A guide to getting started with Webpack and Phaser to prepare your game for distribution.
This bouncing bear is embarking on an incredible journey. Tag along with him in Run Panda Run.
Building a realtime multiplayer Space Invaders game in less than a day.
Challenge your brain with this fun word-based puzzle game.
Setting up your development environment can be a challenge. We share 5 simple and easy options for Mac or Windows.
The Phaser community is huge, prolific, friendly, and awesome!
Brand new content is added daily. From game releases, to videos and tutorials.

Download Phaser and work locally or develop in the cloud. It's up to you!
Download Phaser
Thousands of games are made with Phaser. Here are some recent favorites: