VIRTASTIC

Open source · Compiled to WebAssembly

The open-source desktop apps you use,
running in your browser.

FreeCAD, QGIS, OpenMW and more, recompiled to run in a browser tab. Not a rewrite: a rewrite throws away decades of behavior you already trust. Free, with no install.

FreeCAD running in a browser tab
FreeCAD, the full parametric CAD app, running in a browser tab. No install, no plugin, no streaming.
3
Playable in your browser today
12
Open-source apps in the portfolio
50+
Native libraries cross-compiled to WASM
The same WebAssembly technology that put Photoshop, AutoCAD and Figma in the browser, applied to the open-source tools engineers, GIS analysts, modders and 3D artists already trust.
As featured in PC Gamer Polygon TechSpot

The engine

Open-source desktop software, recompiled for the web

Not a rewrite. Not an emulator. The actual C++ engine, cross-compiled to WebAssembly, running natively in the browser tab. Same code, same files, same workflows: a new delivery channel.

What we do

Open-source desktop apps, in the browser

Heavyweight open-source tools (CAD, GIS, 3D creation, game engines), recompiled to WebAssembly so they run 1:1 in a browser tab. The same source you trust, ported to a tab.

Why WebAssembly

The work happens on your machine

No server rendering a screen back to you. No VDI. No emulator. Your CPU runs the actual C++ engine, just compiled to a different target. The browser is the new operating system for these tools.

Our goal

Every port makes the next one faster

A growing library of prebuilt native dependencies (Qt, Python, OpenCASCADE, GDAL, FFmpeg, Boost) means each application takes less work to bring across. More open-source projects, more browsers, more users.

Open source, by construction

Open source stays open source

Open source stays open source

Because the apps run client-side in your browser, we keep the WebAssembly repositories public and the build pipelines open. Nothing about wrapping them in a web platform changes their GPL/AGPL status. The code is still the code, you can still read it, build it, fork it.

No vendor lock-in

Your files are standard formats: FreeCAD .FCStd, QGIS .qgz, Blender .blend, OpenMW / Morrowind data, JA2 SLF tables. Open them in the desktop app tomorrow if you want. The browser is a delivery channel, not a cage.

Support the engine

Help us port the next one

Donations keep the dependency library patched, the servers up, and the next port coming. A one-time coffee or a monthly pledge: both matter.

FAQ

The questions we get first

Is the work really free?

Yes. The WASM ports we maintain are released under their upstream open-source licenses and available to run, in your browser, at no cost. We do not charge for them, and we do not put them behind a paywall.

What is the goal?

Bring heavyweight open-source desktop apps to the browser via WebAssembly, so they reach more people. Every port we ship makes the next one faster: the dependency library (Qt, Python, OpenCASCADE, GDAL, FFmpeg, Boost) compounds. That is the work.

Can I hire you to port my app?

Sometimes. We take a small number of custom engagements each year. Tell us about the app on the contact page and we will tell you honestly whether there is a fit this year.

Why WebAssembly and not just a web rewrite?

Because the behavior your users trust took decades to get right. Recompiling to WebAssembly keeps the actual C++ engine, the actual data formats, the actual workflows, and adds what the desktop could never do, like zero-install access on Chromebooks and tablets.

What about licensing?

Client-side WebAssembly execution keeps the open-source apps fully GPL/AGPL-compliant. The code still runs locally in the user's browser. The ports stay open source, full stop.

Where can I see the source?

The WASM ports live at github.com/Virtastic, one repository per application. The dependency library patches and build scripts are public too.

Open one. It is free, and it runs now.

Nothing to install and nothing to pay for. If the work is useful to you, a donation or a GitHub star keeps the next port coming.