Judge0
Open-source online code execution system (GPL-3.0) that runs each submission in an isolate sandbox, offered as Judge0 Cloud via RapidAPI or directly and as a self-hosted Docker Compose stack. The reference open-source online judge: ideal for stateless, time-boxed code evaluation at scale, but not a workspace an agent can return to.
Overview
Judge0 is an open-source online code execution system created by Herman Zvonimir Došilović (established August 2016) and run by Judge0 d.o.o. in Zagreb, Croatia. It is an HTTP JSON API: you POST a submission with language_id, source_code and optional stdin, receive a token, and poll for stdout, stderr, exit code, CPU time and memory, or supply a callback_url to be notified. It comes in two flavours, Judge0 CE and Judge0 Extra CE, which differ in the supported languages (the homepage says 60+, the README 90+). Each submission is compiled and run inside an isolate sandbox, which the isolate project describes as using Linux namespaces and control groups; the service itself is deployed as Docker Compose services (API, workers, PostgreSQL, Redis) and the changelog says it has only been tested on Linux.
There is no state between calls: every submission is a fresh run bounded by cpu_time_limit (default 2 s, maximum 15 s), wall_time_limit (default 5 s, maximum 20 s), memory_limit (default 128,000 KB, maximum 256,000 KB), max_file_size and max_processes_and_or_threads, all of which an administrator can raise on a self-hosted instance. Network access is governed by the enable_network flag added in v1.13.0. The hosted service is sold through RapidAPI (CE and Extra CE listings, Basic plan at $0) and directly from judge0.com in EUR tiers; the GitHub README positions it "for humans and AI" and lists AI agents first among use cases. The code is GPL-3.0; official Python (pip install judge0, MIT) and JavaScript SDKs cover RapidAPI, AllThingsDev and self-hosted endpoints. The latest tagged release is v1.13.1 (18 April 2024), which fixed three CVEs; the repository was still receiving commits in October 2026.
Notable
- Established August 2016; the design is described in the MIPRO 2020 paper "Robust and Scalable Online Code Execution System"
- Latest release v1.13.1 (18 April 2024) fixed CVE-2024-28185, CVE-2024-28189 and CVE-2024-29021; versions before 1.13.0 receive no security support
- About 4.5k GitHub stars; the README cites dozens of academic papers that use Judge0
Judge0 specifications
| Attribute | Details |
|---|---|
| Isolation | isolate sandbox (Linux namespaces and control groups) per submission; Judge0 workers run as Docker Compose services and compilation happens inside the sandbox since v1.4.0 |
| Deployment | Hosted platform · Self-hostable |
| Open source | Yes (GPL-3.0) |
| SDKs and interfaces | REST API, Python, JavaScript/TypeScript |
| Cold start (vendor claim) | Not documented |
| Max session length | Per submission: cpu_time_limit default 2 s (max 15 s) and wall_time_limit default 5 s (max 20 s) on the documented defaults; administrators of self-hosted instances can change the maxima |
| Persistence | None; each submission is an independent run identified by a token, with inputs supplied as source_code, stdin and an optional Base64 zip of additional_files |
| GPU | No GPU option is documented |
| Networking | enable_network defaults to true on the documented configuration; administrators can disallow it (ALLOW_ENABLE_NETWORK / ENABLE_NETWORK, added in v1.13.0) |
| Pricing | Direct Judge0 Cloud plans (judge0.com, EUR, monthly): Pro €27 for 2,000 submissions/day, Ultra €54 for 5,000/day, Mega €107 for 10,000/day, €0.001 per extra submission. RapidAPI listing for Judge0 CE: Basic $0, Pro $44.99, Ultra $89.99, Mega $169.99 per month (daily caps not retrievable from the listing without JavaScript). Self-hosting is free. |
| Free tier | RapidAPI Basic plan at $0/month (the CE docs say to "start with the FREE Basic Plan"); the official judge0/examples README also points to Sulu with "20K Free Submissions"; free to self-host |
| Compliance | Not documented |
| Regions | Not documented |
Facts from Judge0’s public documentation, verified November 9, 2026. Performance numbers are vendor claims.
Strengths and trade-offs
Strengths
- You want a mature, widely integrated submit-and-poll judge with explicit CPU, wall-clock, memory and file-size limits per run
- You need 60-90+ languages, including compiled ones, behind one JSON API
- You run on-premise and want a GPL-3.0 stack you can deploy with Docker Compose
- You are building batch evaluation and want batched submissions and webhooks rather than long-lived sessions
Trade-offs
- Stateless by design: no filesystem or process survives between submissions, so multi-step agent work must re-send everything each time
- Documented defaults cap a run at 5 s wall time (20 s maximum) and 256 MB on the hosted configuration
- isolate is a process-level sandbox (namespaces and cgroups), not a VM; the self-host guide for Ubuntu 22.04 requires disabling the unified cgroup v2 hierarchy
- GPL-3.0 licence and the last tagged release dating from April 2024; no compliance certifications are published
Good fit for: Batch "submit code, get stdout" judging in 60-90+ languages with per-submission CPU, wall-clock and memory limits.
Use cases Judge0 fits
- Code interpreters: Open-source submit-and-run API in 60 to 90+ languages with per-submission CPU, wall-clock and memory limits; hosted or self-hosted.
How Judge0 compares
| Sandbox | Isolation | Open source | Self-host / BYOC | Cold start (vendor) | Max session | Snapshots / pause | GPU | SDKs |
|---|---|---|---|---|---|---|---|---|
| Judge0 | isolate (namespaces/cgroups) | Yes | Yes / No | Not documented | 5 s wall (max 20 s) | No / No | No | REST API, Python, JavaScript/TypeScript |
| Piston | isolate in Docker | Yes | Yes / No | Not documented | 3 s run / 10 s compile | No / No | No | REST API |
| Sphere Engine | Isolated workspace (unnamed) | No | Yes / No | Not documented | 5 s (1-15 s) | No / Not documented | No | REST API, PHP, Python, JavaScript/TypeScript |
| OneCompiler Code Execution API | Not documented | No | No / No | Not documented | 7-20 s (enterprise) | No / No | No | REST API |
| JDoodle Compiler API | Fresh sandbox per run (unnamed) | No | No / No | Not documented | Not documented | No / No | No | REST API |
| Codapi | Locked-down Docker container | Yes | Yes / No | 1-3 s per run (claim) | 5 s default | No / No | No | REST API, JavaScript/TypeScript |
| E2B | Firecracker microVM | Yes | Yes / Yes | Not documented | 1 h / 24 h (Pro) | Yes / Yes | No | Python, JavaScript/TypeScript |
Frequently asked questions
What is Judge0?
How does Judge0 isolate code?
Is Judge0 open source?
How much does Judge0 cost?
What are the alternatives to Judge0?
Sources
Cite this page
Agent Sandboxes. (2026). Judge0. agentsandboxes.org. Last reviewed November 9, 2026. https://agentsandboxes.org/sandboxes/judge0/
Found an error or a missing sandbox? Submit a correction — every entry links to the sources it relies on.