---
slug: /
---
# Welcome

## What is Excalibur?

Excalibur is a **free [open source](https://github.com/excaliburjs/Excalibur) 2D game engine** written in **[TypeScript](https://www.typescriptlang.org/)** for making 2D games for the web.

Our goal is to make it easier for you to create 2D HTML/JS games, whether you're new to game development or you're an experienced game developer. We take care of all of the boilerplate engine code, cross-platform targeting, and more! Use as much or as little as you need!

[![playgame](00-welcome/loading.gif)](/docs/getting-started)

## Getting started

Get started by [installing Excalibur](/docs/installation) in your project and [building your first game](/docs/getting-started), then dive in and learn [how to use Excalibur](/docs/engine). You can also check out the [samples](/samples) collection to see the engine in action.

[![sweepstacks game](00-welcome/sweep.gif)](https://excaliburjs.com/sweep/)

## Why use Excalibur?

Excalibur is designed with approachability in mind. You can make some [classic favorites](/docs/getting-started) with just a few lines of code! Excalibur will meet you where you're at, whether you're new to game development or an experienced game maker.

Excalibur has a ton of features to help you make games!

- Objected-Oriented TypeScript first API
- [Actors](/docs/actors) come prebuilt everything you need
- [SpriteSheet](/docs/spritesheets), [Sprites](/docs/sprites), and [Animations](/docs/animation)
- [Text and Font](/docs/text) support
- Built in Math utilities like [Matrix](/docs/matrix) and [Vector](/docs/vector)
- [Collision Detection](/docs/colliders)
- [Arcade](/docs/physics#arcade) Style and [Realistic](/docs/physics#realistic) Physics
- [2D](/docs/tilemap) and [Isometric](/docs/isometric) TileMaps
- [Tiled](/docs/tiled-plugin) and [Aseprite](/docs/aseprite-plugin) integrations
- Optionally write [custom WebGL Renderers](/docs/custom-renderer-plugins)
- Optionally use [Entity-Component-System](/docs/entity-component-system) style development

There are a lot of great tools out there to build games on the web and no tool is perfect. Use whichever tool makes you happiest. 😊

## Excalibur's Design Philosophy

1. Excalibur aims to be the best 2D game development experience for the web.
2. Excalibur is flexible with sensible defaults.
3. Excalibur is a "batteries included" game engine, you can just do the things you want.

## Excalibur is FOSS

It’s free and always will be. We welcome any feedback or contributions! If you make something with Excalibur, please [let us know](https://github.com/excaliburjs/Excalibur/discussions?discussions_q=category%3A%22Show+and+tell%22) so we can feature you in our online gallery.

## Excalibur is pre-1.0

We are still pre-1.0 but Excalibur has many powerful features built-in already that let you focus on building and designing your games. Please feel free to help [by contributing to the project](https://github.com/excaliburjs/Excalibur/)