Documentation menu

Reference

Playground

Last updated October 23, 2026

The playground runs code in your browser. The runtime is real Luau, built to WebAssembly, so nothing leaves the page: there is no server, no account and no rate limit.

Languages#

The Language menu in the editor header picks what you write:

  • Luau, the default, runs as it is.
  • Alloy compiles to Luau in the browser first, then runs. A compile error shows under the editor with its line, and a runtime error points at the Alloy line too.

A link with ?lang=alloy opens the playground in Alloy. Ember loads the Alloy compiler only when you run Alloy code, so a Luau run does not download it.

Try a package#

A package page has a Try it in the playground link. It opens /playground?name=<scope>/<name>, and the playground unpacks that package's source, so require in your code reaches the real module.

  • An Alloy package opens in Alloy mode, and its starter imports the package.
  • The source comes from the preview copy of the archive, so a playground run never counts as a download.

Limits#

  • A run stops after 30 seconds. Loading the runtime has its own 30-second limit, so a slow connection does not use up the run's time.
  • There is no Roblox: no DataModel, no Instance and no Roblox globals. Packages for roblox and roblox_server have no playground link.
  • Luwu and Loom do not run in the playground yet. Luwu packages have no playground link.