Judge0
Robust, fast, scalable, and sandboxed open-source online code execution system for humans and AI.
Install / Use
/learn @judge0/Judge0README
Judge0
Established in August 2016.
Code execution made simple for every business.
Robust, fast, scalable, and sandboxed open-source online code execution system for humans and AI.
Table of Contents
- About
- Features
- Get Started
- Flavors
- Citation
- References
- Showcase
- Community
- Author and Contributors
- Changelog
- Special Thanks
- License
About
Judge0 (pronounced like "judge zero") is a robust, scalable, and open-source online code execution system. You can use it to build a wide range of applications that need online code execution features. Some examples include AI agents, competitive programming platforms, e-learning platforms, candidate assessment and recruitment platforms, online code editors, online IDEs, and many more.
Judge0 is an open-source online code execution system that enables the robust, fast, scalable, and sandboxed execution of AI-generated code, with support for multiple languages and frameworks.
In our research paper Robust and Scalable Online Code Execution System, we present Judge0's modern modular architecture that can be easily deployed and scaled. We study its design, comment on the various challenges in building such systems, and compare it with other available online code execution systems and online judge systems.
To see Judge0 in action, try Judge0 IDE - our free and open-source online code editor.
Features
- Self-hostable or fully managed (SaaS)
- Quick and easy self-hosting installation
- Rich and verbose API documentation
- Simple HTTP JSON API for easy integration
- Official Python SDK for easy integration
- Scalable architecture for handling high loads
- Sandboxed compilation and execution of untrusted code
- Support for 90+ languages (see the full list of supported languages)
- Compilation and execution of multi-file programs (i.e. projects)
- Support for additional files alongside the single-file user's program
- Support for custom user-defined compiler options, command-line arguments, and time and memory limits
- Detailed execution results
- Webhooks (HTTP callbacks)
For more information about these and other features, please read the documentation.
Get Started
You have plenty of options to get started with Judge0:
- Use our Judge0 Cloud via Rapid
- Use our Judge0 Cloud by directly working with us
- Self-host Judge0 on your own infrastructure
Integrating Judge0 into your application is easy. You can either use our simple HTTP JSON API or use our official Python SDK.
HTTP JSON API
curl \
-H "Content-Type: application/json" \
-d '{
"language_id": 109,
"source_code": "print(f\"hello, {input()}\")",
"stdin": "Alice"
}' \
"https://ce.judge0.com/submissions?wait=true"
Python SDK
# pip install judge0
import judge0
result = judge0.run(source_code="print(f'hello, {input()}')", stdin="Alice", language=judge0.PYTHON)
print(result.stdout)
Flavors
Judge0 comes in two flavors: Judge0 CE and Judge0 Extra CE. They differ mostly in the supported languages.
You can find the source code for Judge0 CE on the master branch, while you can find the source code for Judge0 Extra CE on the extra branch.
Citation
Please cite us if you use Judge0 in your research:
@INPROCEEDINGS{9245310,
author={Došilović, Herman Zvonimir and Mekterović, Igor},
booktitle={2020 43rd International Convention on Information, Communication and Electronic Technology (MIPRO)},
title={Robust and Scalable Online Code Execution System},
year={2020},
volume={},
number={},
pages={1627-1632},
keywords={Production systems;Operating systems;Systems architecture;Computer architecture;Programming profession;Open source software;Recruitment;online code execution system;online judge system;untrusted code execution},
doi={10.23919/MIPRO48935.2020.9245310}
}
References
Industry
These companies, institutions, and organizations use Judge0.
Academia
These scientific articles cite Judge0.
- «SYNCODING» - COLLABORATIVE CODE WRITING
- A comparison between online compilers: A Case Study
- A Game-Changing Instructor Tool to Reinforce Coding Concepts
- A ML-Based Stock Trading Model for Profit Predication
- A Secure and Scalable System for Online Code Execution and Evaluation using Containerization and Kubernetes
- A Secure, Scalable, and Integrated Smart Platform for Teaching and Coding
- A Strategy Based on Technological Maps for the Identification of the State-of-the-Art Techniques in Software Development Projects: Virtual Judge Projects as a Case Study
- A Survey of Vibe Coding with Large Language Models
- ADAPTIVE MENTORING WITH IMMEDIATE FEEDBACK FOR THE DEVELOPMENT OF PROGRAMMING SKILLS
- Advanced lab analysis system using apache spark
- AI-Powered Code Evaluation and Learning Assessment Platform
- An Online Judge System in Learning Management System
- Analiza performansi sustava za udaljeno izvršavanje programskog kôda
- Arena Acadnet - An Educational Platform for Practicing and Solving Coding Challenges
- Artificial Intelligence and Computer-Supported Collaborative Learning in Programming: A Systematic Mapping Study
- Automatic Evaluation of Student Software Solutions in a Virtualized Environment
- Automatic marking system for programming subject
- Automatic question generation for JavaScript programming courses
- Big Data based Advanced Lab Analysis System using Apache Spark
- Bridging code and timely feedback: integrating generative AI into a programming platform
- Building a Comprehensive Automated Programming Assessment System
- Canvas Coding: una piattaforma di gioco per studenti basata sulla programmazione creativa = Canvas Coding: a gaming platform for students based on creative programming
- Code Master: A Web-Based Competitive Programming Practice Platform
- Code Verse
- CodeCoach: An Interactive ProgrammingAssistance Tool
- CODEGEEK: A NEXT-GENERATION CODING PLATFORM WITH AI- DRIVEN FEEDBACK
- CODEGEN: A React-Based Online Coding Workspace with Advanced Features and Real-Time Execution
- [Computing students’ design preferences and barriers when solving short programming problems](https://peer

