Skip to content
Branch: master
Go to file

Build Status npm License: MIT #fengari on Freenode


Provides anything you need to run Fengari in the browser.

Getting started


Visit the GitHub releases page and get the latest version.

Alternatively you can Build fengari-web yourself.


Load fengari-web in your web page:

<script src="fengari-web.js" type="text/javascript"></script>

Now any script of type application/lua will be run by fengari:

<script type="application/lua">
print("Hello World!")

<script src="/my-script.lua" type="application/lua" async></script>

Note that if you use a src attribute, it is strongly recommended for it to be async.

With build process

See fengari-loader


fengari-web should work in all modern browsers.

Verified to work in:

  • Chrome >= 38
  • Firefox >= 19
  • Safari >= 8
  • Microsoft IE 11
  • Microsoft Edge


As well as running <script type="application/lua"> tags, fengari-web creates a fengari global that contains the core fengari API supplemented with:

  • L: the main lua_State (in which script tags are run)
  • interop: containing the fengari-interop library
  • load(source, chunkname): a function that loads the lua code in source with the optional chunk name chunkname and returns it as a function. This function can be used to programmatically run lua code in the main lua_State from JavaScript. e.g.
    console.log(fengari.load('return 1+1')())


git clone
npm install

This should automatically kick off the build process. The built files can then be found in the dist/ directory.

If you need to rebuild, run

npm run build

Or use webpack directly.

You can’t perform that action at this time.