Super Mario 64 - Javascript Port

This project is currently still being developed. This page may be live from time to time for testing, but there may be glitches and performance issues. The server will go down and restart at random times without warning. If you would like to help with the project or have feedback please contact me.
Frame time:

What is this?

This is an ongoing work-in-progress port of the decompilation of original Nintendo game, Super Mario 64, to native JavaScript (No Emulation) (No Web Assembly). This project required creating a JavaScript WebGL port of N64 Fast 3D Renderer originally implemented with OpenGL in C. This project also includes the development of online mass multiplayer versions of sm64js and other custom multiplayer game modes.

What is the purpose of this port?

What's wrong with Web Assembly / Emscripten

Nothing. However, I believe access to this game's source code in a higher level programming language opens it up to a wider pool of potentially capable developers / modders. And seems to me like a natural next step following in the amazing work done by the decomp team and pc port.


Super Mario 64 Decomp

Team that decompiled the original Super Mario 64 ROMs into C source code

Super Mario 64 PC Port

Team that ported the decompiled project to PC

N64 Fast 3D Renderer

OpenGL Implementation of a 3D renderer for the Nintendo 64's graphics

(I had to reimplement this in JavaScript and WebGL)

Super Mario 64 Coop

Online cooperative multiplayer mod for SM64, aiming to synchronize all entities and every level for two players.

(Special thanks to djoslin0, the developer of this project, for consultation and advice on the implementation of multiplayer for sm64js. I also ported some code from this project directly)

Other Libraries
Special Thanks to


Questions? Suggestions? Want to help with this project? =)
I have a discord server dedicated to sm64js: Join Here
Discord: snuffysasa#2779