Phaser is an HTML5 game framework and set of tools and services designed specifically for creating games for web browsers. It is built using, and relying on, web technologies. And the games it creates are meant to be played in desktop or mobile browsers, or apps capable of running web games, such as Discord, SnapChat, Facebook, WeChat, Playable Ads, Telegram, Twitch and more. There are also ways to convert Phaser games to native mobile and desktop apps, and many developers have done this successfully. Phasers primary focus is, and always will be, the web. Nothing else gives game developers the same breadth of reach and potential audience size, often with zero gate-keepers in the way.

Phaser is currently a 2D game framework. This means that both its features and internal design are based entirely around creating lightning fast 2D games. It does not include 3D rendering or 3D physics as built-in features. Again, there are ways to integrate 3rd party libraries to provide it, but Phaser itself is 2D and our documentation and examples reflect this. We do have first-class 3D support on our 2025 roadmap.

Phaser was developed in JavaScript, because this is the language of the web browser. As such, you will need to code your game using either JavaScript or TypeScript. All of our examples and documentation are provided in JavaScript, but we also provide TypeScript definitions. The API is expressive and easy to pick-up, perfectly suitable for beginners and experienced devs alike. Due to its maturity it is also extremely well indexed by AI tools like ChatGPT, Claude and Cursor. So if you like to learn via prompting, Phaser is a solid choice for you.

Phaser is made available as a JavaScript library. This can be downloaded, linked from a Content Delivery Network (CDN), or installed via any of the standard JavaScript package managers, such as npm. Phaser itself is not a desktop application. You do not 'install' it, although we do provide Phaser Editor. At its core, Phaser is a JavaScript library that you include in your own web pages, or bundle. You then write your game code in JavaScript and run them together in a web browser.

Phaser has been in active development for over 11 years. There is a dedicated full-time team behind it, who are constantly striving to make it the best it can be, while keeping it easy to learn. It is used by developers around the world and has been used to create many thousands of games, from small prototypes to full-scale commercial titles with millions of players. Because of its maturity, Phaser is a stable and reliable framework. It is not a 'fad'. When changes are made, they're for the benefit of the framework as whole, not just to chase a 'trendy' new technology.

It's almost unheard of for a product website to tell you when you shouldn't use them. However, we think it's important that you understand when Phaser is not a suitable technology choice:

  • You want to make your game fully in 3D.
  • You want to publish your game exclusively on a modern console, such as PS5, XBox or Nintendo Switch.
  • You can't code and need a no-code based editor.

If any of the above apply to you, then there are other frameworks and that will be a better fit. However, if you're looking to make a 2D game for the web, then we firmly believe that Phaser is a great choice, as has been proven by the millions of players enjoying games made with it.

Technical Features

WebGL & Canvas

Phaser has a custom renderer that supports both WebGL and Canvas. The renderer has evolved over many years of iterations and currently boasts outstanding performance on desktop and mobile devices. If you need to blast tens of thousands of sprites around the screen, it can handle it easily. Recent updates have also added support for Special FX, such as Bloom, Glow, and Shine. We are constantly working on improving our renderer to keep it as fast and optimized as possible.

Asset Loading

We’ve made loading assets as simple as one line of code. Over 30 different file formats are supported, including audio, video, binary, texture, svg, css, html, tilemap data and lots more. Need a format Phaser doesn’t have? Extending the Loader is straightforward and custom file types can be created directly in code. Even better, if you’re using Phaser Editor it will generate asset loader packs for you and you can visually drag and drop assets into your game, inspect asset properties and lots more.

Physics

Phaser includes two physics systems: Arcade and Matter. Arcade is a light weight physics system perfect for more arcade-style games. It can handle a lot of simple bodies very quickly thanks to its quadtree and is fully supported in Phaser Editor, so you can directly adjust physics properties on the fly. Matter Physics is a full-body physics system capable of handling more complex shapes and contact resolutions, offered for those who need something a little more powerful. Both systems are optional, and you’re free to bring your own physics library along for the ride. As long as it offers a JavaScript interface, it will work with Phaser.

Game Objects

These are the building blocks of all Phaser games. With over 30 different Game Objects available, you have instant access to Sprites, Images, Text, Meshes, Containers, Nine Slice, Videos, TileSprites, Particle Emitters, Shapes, and lots more. By extending the powerful base classes, you can create your own Game Objects with custom attributes and behaviors. By using Phaser Editor you can easily inspect Game Objects, viewing and modifying all of their properties in real-time, immediately seeing the results.

Animation

Good animation can really push a game to the next level. Phaser has support for easily declaring animations created from texture frames or sprite sheets or loading animation data from 3rd party packages. You can then play the animations on any Sprite in your game. Animations have plenty of playback controls, from playing in reverse, to looping, to chaining multiple animations together in sequences. Phaser Editor users can configure their animations using a friendly visual interface, letting them get the look just-right. For more advanced bone-based animation, Phaser also supports the Spine animation software.

Input

Being able to have the player control what is happening is essential for most games, so Phaser offers access to the keyboard, gamepad, mouse, and touch events via a single Input Manager. From listening for specific keys to dragging, dropping, and other pointer movements, it’s easy to respond to player actions. Game Objects can be enabled for input with one function, and you can set their hit area shape or even check for ‘pixel perfect’ clicks on their texture.

Particle Emitter

Want to add some flickering flames? Want to have a spaceship explode into parts when destroyed? Want to fling bullets all over the screen as your player shoots? Particles can make it happen. Generate impressive visual effects via plentiful configuration options, or create them visually in Phaser Editor.

Scene Manager

Phaser uses the concept of Scenes to allow you to divide your game into logical sections. A Scene may be your main menu, a game level, a boss fight, an item shop, and more. Scenes contain Game Objects, and you can have as many scenes in your game as you like. The Scene Manager allows you to easily move between them, pause, resume, or even run them in parallel. They’re extensible and flexible and are the core of how Phaser operates. Phaser Editor includes a powerful visual Scene editor, giving you the power to drag and drop objects anywhere you want, adjusting their properties as you go.

Cameras

From the start, Phaser has supported multiple cameras in your games. A single game Scene can support multiple cameras, looking at any part of the game world at once. They can have their own viewport or even overlap each other, and you’ve full control over scrolling and zooming what they’re looking at. Built-in camera effects include camera shakes, flashes, fades, scrolls, and zooms.

Motion Tweens

Want to make your game logo smoothly drop down into the scene and then bounce a little? Tweens are the perfect tool to give your game the juicy motion it deserves. Created via a simple function, tweens can be applied to any object and come with over 30 motion-easing effects and lots of callbacks and events to hook into. You can even chain tweens together in complex timelined sequences.

Advanced Textures

Textures are the visual lifeblood of all games, representing everything you see on-screen. Phaser can use any image format the browser supports, as well as natively loading texture atlas and sprite sheets. More advanced formats, including full Compressed Texture support, are built into the renderer. If you need to literally paint onto a texture in real-time, then Dynamic Textures provides you with a visual playground in which to do this, with no performance hit. Textures can be shared, destroyed, and created with ease via a unified manager.

Sound

You can’t beat a thumping soundtrack or meaty effects in your game. Phaser offers you the ability to play sound via HTML Audio or Web Audio via a unified API. You also have control over sound volume and panning and full spatial audio effects, allowing you to place sounds literally anywhere in your game world.

Tilemaps

Originating in retro arcade and computer games, where the game levels are literally created from rectangular ‘tiles’ aligned in a grid, tilemaps are still very popular today due to the ease of creating levels with them. They also fit ‘pixel art’ style games perfectly. Phaser has built-in support for rendering tilemaps, either from CSV or Tiled JSON files or from arrays of tile data created at runtime. Support for tilemap collision is also available for both Arcade and Matter physics systems.

Extra APIs and Plugins

Phaser contains a wide range of supporting APIs for you to use. These include features such as geometry functions, intersection, math, seeded randomisation, common utilities, structs, interpolation, scaling, dom handling, Timer events, and lots more. Browse our documentation for an overview of what is built in. Of course, being JavaScript, you can pull in any 3rd party package you need and Phaser has a healthy plugin ecosystem, with hundreds of plugins available covering all manner of additional features. Naturally, you can create your own plugins and share them with the community.