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