Firecracker-isolated online judge

Run code in 84 languages, isolated in Firecracker microVMs.

ls-judge is a fast, self-hostable online code judge. Run and test code in 84 languages — every submission isolated in a Firecracker microVM, with hot/cold execution lanes, multi-file support, and live per-test results.

84 runtimes microVM per run live per-test streaming

Features

84 language runtimes

From Python, C++, Java, Go and Rust to Haskell, OCaml, COBOL and assembly — one API, every toolchain, real compiler versions.

Firecracker microVM isolation

Every submission runs in its own hardware-virtualised microVM with an isolated network namespace — not a shared container. Untrusted code stays contained.

Hot & cold execution lanes

Warm snapshot pools serve popular languages in milliseconds; cold restores handle the long tail. Throughput scales with the host.

Live per-test streaming

Results arrive test-by-test over a WebSocket as they finish — no waiting for the whole batch. Verdicts, timing and memory in real time.

Multi-file submissions

Ship helper files alongside the entry point; they are written to the workspace and compiled together wherever the language supports it.

Self-hostable & horizontally scalable

Redis-backed streams, stateless workers, a clean HTTP API and webhooks. Add hosts to add capacity — nothing to re-architect.

Every toolchain your users reach for

84 language runtimes with real compiler and interpreter versions — including

PythonC++JavaGoRustJavaScriptTypeScriptRubyC#KotlinSwiftPHPScalaHaskellElixirLuaPerlRDartJuliaClojureOCamlBashSQL+ 60 more

Start running code in seconds

No sign-up to try it — open the playground, pick a language, and run.

Open the Playground