Tools and extensions

This page lists tools and facilities that can work with DOMjudge. They are not in all cases maintained by the DOMjudge team.

Creating problemsets


checktestdata is a program to syntactically verify testdata according to a grammar file. It also supports generating testdata based on a specification.

BAPCtools & Problemtools

BAPCtools helps creating and developing problems following the ICPC problem package format. The aim of this tool is to run all necessary compilation, validation, and testing commands while working on an ICPC-style problem. Ideally one should never have to manually run any compilation or testing command themselves.
The Kattis Problem Tool is another collection of tools to create problem packages. DOMjudge is able to import this format.

Contest as a service


DOMjudge is free to download and run yourself. Do you prefer a hosted installation of DOMjudge, take a look at They offer a fully online hosted contest that your teams can access over the internet. It's also possible to run the server in the cloud and your judgehosts locally.

Scoreboard resolvers and other contest tools

ICPC Tools

ICPC Tools is a set of (free to use) tools that can work with a CLICS compatible API, like DOMjudge provides. It has a scoreboard display and resolver, balloons utility and various other presentation tools.


DOMjura (DOMjudge Results Application) is a scoreboard resolver, which can read the DOMjudge API after a contest and present the results.


Carnifex presents a live scoreboard and is a scoreboard resolver. It has a server component where various display clients can connect to.

Autologin for team machines

LightDM CCS autologin makes it possible to automatically log in to team machines when the contest starts in DOMjudge. This is useful to keep problem data secret and to make sharing credentials easier on the organizer.

DOMjudge for teaching

DOMjudge is mostly focused on being a contest system for short running contests. Some people use the automatic judging for teaching. When possible we can incorporate such extensions to provide easier access through the API and UI with feature requests. Since not everything will make it into our releases, we link here to some extensions to help with this use case.