GopherJS is a software to convert Go to JavaScript. You can run your Ebiten game on browsers. As GopherJS is not actively maintained now, it is recomended to use WebAssembly if possible.

Installing Go 1.12

GopherJS requires Go 1.12 or older. Get Go 1.12 via your current Go:

go get
go1.12.17 download

See the official instruction to isntall extra versions of Go for the details.

Installing GopherJS

Install gopherjs command. You might need to set GO111MODULE off.

go1.12.17 get

Compile your game with GopherJS:

gopherjs build -o yourgame.js path/to/yourgame

Then, open the below HTML on your HTTP server:

<!DOCTYPE html>
<script src="yourgame.js"></script></code>

NOTE: file:// URL may not work with Ebiten. Execute your game on a HTTP server.

If you want to embed your game into your web page, using iframe is strongly recommended.

You might find this message with Chrome:

The AudioContext was not allowed to start. It must be resume (or created) after a user gesture on the page.

In this case, you can solve this by putting allow="autoplay" on the iframe.

Emulating context-lost


Note that Ebiten automatically restores images on desktop browsers when the context is lost. This restoring doesn't work on mobile browsers for a performance reason.

Running examples on browsers

gopherjs serve --tags=example

And access to

On Windows, you might need to set GOOS environment variable:

set GOOS=linux