Home/Free tools
// Free tools
Free online compilers that run in your browser
Ten languages, each on a real compiler that downloads into your own tab - no signup, no upload, no queue behind other people's jobs. Every runner on this page executes in your own browser tab. Your code is never uploaded, never queued behind anyone else, and never stored anywhere but your own browser.
DuckDB compiled to WebAssembly - the same analytical database engine the graded SQL practice runs on.
Open the SQL compiler →Python5 MBReal CPython, compiled to WebAssembly. Not a subset and not a transpiler - the same interpreter, running in your tab.
Open the Python compiler →JavaScript500 KBQuickJS, a complete ES2023 engine in about 500 KB. It ships with this page, so there is nothing to download and the first run is instant.
Open the JavaScript compiler →TypeScript2 MBThe real TypeScript compiler typechecks your code, then QuickJS runs the JavaScript it emits. Type errors are the compiler's own, word for word.
Open the TypeScript compiler →Java4 MBA real javac, translated to WebAssembly, compiling your class to a WebAssembly module that then runs in the tab.
Open the Java compiler →C#6 MBThe real Roslyn compiler running on the .NET WebAssembly runtime - your code is compiled to IL and executed, in the tab.
Open the C# compiler →C++45 MBclang and lld themselves compiled to WebAssembly. Your program is compiled and linked into a real binary in the tab, then executed.
Open the C++ compiler →C36 MBclang and lld compiled to WebAssembly, with the undefined-behaviour sanitizer on. Read past the end of an array or overflow a signed int and the program stops on that line and says so.
Open the C compiler →Go14 MBThe real Go compiler and linker, built for WebAssembly. Your program is compiled to a wasm binary in the tab and then executed - it is not interpreted and it is not a translation of Go into something else.
Open the Go compiler →Ruby6 MBCRuby itself - the reference Ruby interpreter - compiled to WebAssembly. Not a subset and not a translation into JavaScript.
Open the Ruby compiler →Nothing you type is sent to a server. Your code is saved only in this browser, the engine is downloaded once and cached, and once it has loaded the page keeps running your code with the network off.
// How this works
The compiler comes to you
An online compiler normally means a server: your code is uploaded, queued, run in a container with a time limit, and the output is sent back. Every one of these tools inverts that. The compiler itself has been built for WebAssembly, so your browser downloads it once and then does the work - which is why there is no account, no rate limit and nothing to store.
What that buys you
- Your code stays on your machine. Nothing is uploaded, logged or kept.
- No queue and no rate limit: the only machine involved is yours.
- Once the engine has loaded, the page keeps working with the network off.
What it costs you
- A one-time download per language, from 500 KB for JavaScript to about 45 MB for C++.
- No network, no filesystem and no threads inside the sandbox.
- A few seconds of wall clock per run, which is the ceiling that stops a runaway loop.
// The engines
Real compilers, not simulators
These are the same engines that grade the practice on Prepshotz, which is the only reason ten of them exist. Nothing here is a reimplementation of a language: it is the reference toolchain, compiled to WebAssembly.
// Questions
Free online compilers - FAQ
01Which languages can I run here?
Ten: SQL, Python, JavaScript, TypeScript, Java, C#, C++, C, Go and Ruby. Each one runs on a real engine: DuckDB for SQL, Pyodide for Python, QuickJS for JavaScript, the real tsc and then QuickJS for TypeScript, javac and TeaVM for Java, .NET WebAssembly for C#, clang and lld for C++ and C, cmd/compile and cmd/link for Go and CRuby for Ruby.
02Do these really run in my browser?
Yes. Each compiler has been built for WebAssembly and is downloaded to your browser the first time you press Run, then cached. Your code is compiled and executed on your own machine, so there is no upload, no queue and no per-run cost to us. That is why it is free with no account.
03How big is the download?
It depends on the language, and each tool says so before you start: SQL 5 MB, Python 5 MB, JavaScript 500 KB, TypeScript 2 MB, Java 4 MB, C# 6 MB, C++ 45 MB, C 36 MB, Go 14 MB and Ruby 6 MB. It is a one-time cost per language and the browser caches it for a year.
04Is my code uploaded or stored?
No. The compiler comes to your code rather than the other way round, so nothing you type is sent to a server, logged or stored. Closing the tab is the whole of the cleanup.
05What is the catch?
There is no catch and no upsell in the tools themselves. They exist because Prepshotz already runs these ten engines in the browser for its graded practice, so offering them on their own costs us nothing per run. If you want the graded version - real problems, real test cases, a track that adapts to what you keep missing - that is the product, and it is free while we are in beta too.