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

It 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 release.

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

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


Window.js is licensed under the MIT License.