Using a webcam to grade multiple choice question exams
Branch: development
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Eyegrade uses a webcam to grade multiple choice question (MCQ) exams. Needing just a cheap low-end webcam, it aims to be a low-cost and portable solution available to everyone, on the contrary to other solutions based on scanners.

For more information about Eyegrade you can visit:

Eyegrade is fully functional and has been used in courses at Universidad Carlos III de Madrid and other institutions since 2010.

The program is free software, licensed under the terms of the GNU General Public License (GPL) version 3 or any later version.

Bug reports, feature requests and pull requests are welcome at the Github repository:

The main features of Eyegrade are:

  • Typesetting exams: Although you can create your exams with other tools, Eyegrade integrates an utility to creating MCQ exams. It is able to create your exams in PDF format. Eyegrade can automatically build several versions of the exam by reordering questions and choices within questions.

  • Grading exams: Using a webcam, the graphical user interface of Eyegrade allows you to grade your exam. Eyegrade is able to recognize not only the answers to the questions, but also the identity of the student by using its hand-written digit cognition module. The whole process is supervised by the user in order to detect and fix potential errors of the system.

  • Exporting grades: grades can be exported in CSV format, compatible with other programs such as spreadsheets.

An article describing an earlier version of Eyegrade has been published by the Journal of Science Education and Technology:

Jesus Arias Fisteus, Abelardo Pardo and Norberto Fernández García, "Grading Multiple Choice Exams with Low-Cost and Portable Computer-Vision Techniques". Journal of Science Education and Technology. DOI: 10.1007/s10956-012-9414-8. It is available at:

Note for developers: the Eyegrade repository contains two main branches, 'master' and 'development'. The 'master' branch will be placed at the latest stable release of Eyegrade. The 'development' branch will receive commits of yet-to-be-released features. If you plan to submit pull-requests, base your work on the development branch to facilitate their integration.