Thirteen languages, zero installs

Tab Desktop runs thirteen languages in the tab with real toolchains — clang compiles your C to WebAssembly, rustc compiles your Rust, and a JVM runs your Java. Not remote execution and not a syntax highlighter. Everything runs inside your browser tab on WebAssembly. There is no server executing your code, no container to wait for, and nothing to install.

Open Tab Desktop →Free · nothing to install

How it works

Per-language toolchains compiled to WebAssembly: Node, CPython, PHP-WASM 8.3, ruby.wasm, clang → WASI for C and C++, rustc → wasm32-wasip1, a JVM for Java, plus Perl, Lua and SQLite.

What you can do

  • JavaScript and TypeScript on a Node-compatible runtime
  • Python, Ruby, Perl and Lua interpreters
  • C and C++ compiled by clang to wasm32-wasi, then executed
  • Rust compiled by the genuine rustc, running in your browser
  • Java compiled with javac and run on a JVM
  • PHP 8.3 and SQLite

What it does not do

  • Libraries needing native code without a WebAssembly build are unavailable
  • First run of a large toolchain downloads it, so it is slower than later runs

Start with a preset

One click scaffolds the project in its own isolated desktop and starts the dev server.

Questions

Is the code compiled in my browser or on a server?

In your browser. The compilers themselves are WebAssembly — clang and rustc run in the tab, so nothing is uploaded for compilation.

Which languages are supported?

JavaScript, TypeScript, Python, PHP, Ruby, C, C++, Rust, Java, Perl, Lua, ActionScript and SQLite.

Is it free?

Yes — open a tab and it runs. There is no account required to use the runtimes.

Also runs in the tab