p.enthalabs

GitHub - foxzyt/LibreOMR: Robust Optical Mark Recognition (OMR) Library in modern C++ and C

![Image 1: LibreOMR Desktop Logo](https://github.com/foxzyt/LibreOMR/blob/main/app/ui/icon.svg)

LibreOMR Desktop

[](https://github.com/foxzyt/LibreOMR#libreomr-desktop)

![Image 2: Release](https://github.com/foxzyt/LibreOMR/releases)![Image 3: Platform](https://github.com/foxzyt/LibreOMR/releases)![Image 4: License](https://github.com/foxzyt/LibreOMR/blob/main/LICENSE)

**Free, fast, and private multiple-choice exam grading software for teachers, educators, and schools.**

Print ready-to-use answer sheets, scan or photograph them with any standard scanner or mobile phone, and grade entire classes in seconds, with no expensive equipment or internet connection required.

- * *

How It Works

[](https://github.com/foxzyt/LibreOMR#how-it-works) 1. **Print**: Choose and print from dozens of ready-to-use answer sheets included with LibreOMR (10 to 100 questions, available in 6 languages). 2. **Scan**: Collect the filled sheets and scan them (or take clear photos) as PNG, JPEG, or BMP. 3. **Grade**: Open LibreOMR Desktop, enter your answer key, select your scans, and click **Grade**. Review instant scores, class statistics, and export results directly to Excel or CSV.

- * *

Features for Teachers & Schools

[](https://github.com/foxzyt/LibreOMR#features-for-teachers--schools)

- **Grade One or Hundreds of Sheets**: Process a single test or grade entire stacks of exam sheets in batch mode within seconds.

- **Ready-to-Print Answer Sheets**: Pre-designed A4 answer sheets (10, 20, 30, 40, 50, and 100 questions with 3 to 5 alternatives, plus economical 2-in-1, 4-in-1, and True/False layouts) in English, Portuguese, Spanish, French, German, and Italian.

- **Custom Answer Keys & Point Weights**: Set correct answers, define specific weights for each question, customize the maximum grade scale, and easily void cancelled questions with automatic full credit.

- **Student Roster Mapping**: Import a class roster CSV with student names and IDs to match each graded sheet to a student automatically.

- **Interactive Verification**: Visually inspect student marks and confidence scores with highlighted overlays on every sheet.

- **Class Analytics**: Instantly see your class average, highest/lowest scores, pass rates, and an item-by-item difficulty breakdown to see which questions students missed most.

- **Easy Export**: Export full grade reports and question response summaries to CSV (ready for Microsoft Excel, Google Sheets, or school gradebooks) and JSON.

- **100% Private & Offline**: All processing happens entirely on your local computer. No student data or exam images are ever sent to the cloud.

- * *

Download & Installation

[](https://github.com/foxzyt/LibreOMR#download--installation) 1. Download the latest installer (`LibreOMR-Setup-1.2.0-x64.exe`) from the **Releases Page**. 2. Run the installer and follow the on-screen instructions. 3. Launch **LibreOMR Desktop** from your Start menu or desktop shortcut.

> **Windows Shell Integration**: You can also right-click any image or folder of scanned answer sheets in Windows Explorer and select **"Grade with LibreOMR"** to launch directly.

- * *

Looking for the Developer API or CLI?

[](https://github.com/foxzyt/LibreOMR#looking-for-the-developer-api-or-cli)

In case you are looking for the C++17 library, pure C ABI, or command-line interface (CLI) for software developers, please check out our **Developer & CLI Documentation (CLI_AND_API.md)**.

- * *

License

[](https://github.com/foxzyt/LibreOMR#license) LibreOMR is free and open-source software licensed under the **GNU General Public License v3.0 (GPLv3)**. See the LICENSE file for details.

- * *

LibreOMR started a few months ago (07/23/26) as a side hustle, which explains the fluctuating commit activity on my other project, the Sapphire programming language. As LibreOMR grew into a real solution, I decided to abandon Sapphire and dedicate all of my focus here.