What a browser port is
A browser port takes a game that was built for Windows, DOS or a console and makes it run inside a web page. Nothing is installed: your browser downloads the game’s code and data and runs them in the same sandbox it uses for any other website.
A port is different from a remake, which rebuilds a game from scratch to look like the original, and from a game designed for the web in the first place. Our catalog has all three, and each game page says which it is.
WebAssembly, WebGL and WebGPU
Most ports rely on WebAssembly, a compact code format that browsers run at close to native speed. Engines written in C or C++ can be compiled to WebAssembly with toolchains such as Emscripten, so code that once ran on Windows can run in a tab.
Graphics go through WebGL, a browser version of OpenGL ES, or the newer WebGPU, which gives more direct access to the graphics card. Some recent ports need WebGPU. Burnout 3: Takedown and Need for Speed: Most Wanted won’t start without it, which in practice means a current desktop Chrome or Edge.
The main kinds of ports
- Engine source ports. When an engine’s code is public, through an official source release or an open-source rewrite, it can be compiled for the web. Half-Life runs on Xash3D, an open-source engine compatible with Valve’s GoldSrc. Urban Terror runs on ioUrbanTerror, based on the open-source ioquake3.
- Decompilations. Some projects rebuild a game’s source code by reverse engineering the original program. GTA III and GTA: Vice City use re3 and reVC, Diablo uses DevilutionX, and Minecraft 1.8.8 runs on EaglercraftX, a fan rebuild of the Java game.
- Recompiled Unity builds. Many newer indie games were made in Unity, an engine that can export a WebAssembly build for browsers. Fan ports of Unity games such as Hollow Knight and Among Us are typically rebuilt into that kind of web build.
- Emulators. Instead of porting the game, an emulator recreates the console it ran on. GTA: Chinatown Wars runs from its PSP version, and Mortal Kombat: Shaolin Monks from its PS2 version.
- Games made for the web. Redcoats, Salty Seas and Seedbed were built for the browser from the start.
Why some games open in a full-screen player
Some ports split their work across several threads that share memory, which needs a browser feature called SharedArrayBuffer. After the Spectre CPU flaws came to light, browsers limited that feature to pages that are cross-origin isolated. That means the page sends special security headers, and everything it loads has to agree to be loaded that way.
An ordinary embedded frame doesn’t meet those rules, so a port that needs the feature won’t run there. Ports like Halo: Combat Evolved and LEGO Island open in our separate full-screen player, which meets them.
Game files, download sizes and caching
An engine port contains the engine but not always the game. Maps, textures, sounds and music are copyrighted separately, so some projects ask you to supply them from a copy you own. Halo CE Mobile asks for an Xbox disc image of Halo CE and copies what it needs into the app’s private storage on your device. Other ports come with data that can be shared freely, such as the shareware first episode of Quake.
First loads can be large because the browser has to fetch the game before it starts. The Team Fortress 2 port loads roughly 800 MB, and Chinatown Wars about 900 MB. Some ports stream instead: Need for Speed: Most Wanted starts with about 10 MB and fetches the rest as you drive.
After the first visit, the files sit in your browser’s cache, so later starts are much faster. The AstraStrike page lists a first load of 38.8 MB that took about 100 seconds and a return visit that started in about two seconds. Clearing site data or using a private window empties the cache, along with any saves stored in the browser.
Is it legal?
It depends on who made the port and whose content it uses.
- Official releases are made or approved by the rights holder. Minecraft Classic is Mojang’s own browser version, and games like Redcoats and Seedbed are published by their developers.
- Open and free releases use engines and game data that their owners allow people to share. Urban Terror is freeware, SCP: Containment Breach is shared under a Creative Commons license, and Quake’s first episode was released as shareware.
- Unofficial ports run commercial games without the rights holder’s permission. The engine code may be open source while the game data is not. These can be taken down at any time, and the site that first hosted the GTA V port has already been removed.
Each game page shows which group it falls into. If you enjoy an unofficial port, the official release is the supported way to play the full game. Our FPS games page has shooters from all three.