Window.js is an open-source Javascript runtime for desktop graphics programming.

It is documented at



Window.js provides APIs for window creation
and manipulation via GLFW and the HTML5
Canvas API via the
Skia graphics library, backed by the v8
Javascript engine.

Window.js comes with familiar APIs for web developers for
input event handling
and animated rendering,
and has additional, convenient APIs for
file access.

Additional APIs for sound, networking and WebGL are planned for a future

See the FAQ for more details.

Note: Window.js is a very recent project and hasn’t been widely tested yet.
Please report any issues and get
in contact for help.

Quick start

Window.js is distributed as a single binary that can be
downloaded for Windows and macOS.

It can also be built from the sources for
Windows, macOS and Linux.

Window.js runs a Javascript source file directly:

$ windowjs examples/breakout.js

The source files can be edited and reloaded with F5 in the main window.

A Javascript console is available by pressing F1, that can be used to
diagnose errors and explore the APIs. For example, submitting this:

window.title = "Hello!"

changes the title of the main window. Errors are highlighted in the main window:

window.title = noSuchVariable;

Uncaught exceptions and console log errors are also shown in the main window.
That overlay can be toggled with F4. See help() in the console for more
development tools.

See the example applications and the
API documentation for more.


Contact the Window.js developers and other users via the
Window.js mailing list at
Google Groups, or via its email address [email protected].

Github users can also use the
Github Discussions page
for the project.

Report issues the Github
issues tracker.


See the documentation for contributions
and a list of planned features for ideas.


Window.js is licensed under the MIT License.


View Github