â Local Processing Only: All data is processed entirely in your browser. Nothing is sent to any server or cloud storage.
â No Browser Storage: Student names and test data are NOT saved in browser cookies, localStorage, or any cache unless you explicitly save configuration.
â Session Only: Data exists only while you're using the app. When you close the tab, it's gone (unless saved).
â You Control All Exports: Files are only created when YOU click export buttons. You decide what to save and where.
â ī¸ Your Responsibilities:
Secure any downloaded files (CSVs, PDFs, HTML reports) appropriately
Follow your institution's data protection policies
Consider if including student names is necessary for your use case
Using student numbers only provides maximum anonymity
đĄ Best Practice Recommendations:
Use first names only (never surnames) for casual identification
Use numbers only for sensitive or high-stakes assessments
Your test setup is saved in your browser. For backup or to use on a different computer, download the config file.
Students identified by number only (data protection)
đ Custom Header & Footer (Optional)
Add custom text fields and images to appear on your answer sheets
These will be printed at the top or bottom of each sheet.
Max: 20mm (aligned with QR code area, positioned on left)
đĨ Student Names (Optional)
Paste your class list here! The app will automatically set the number of students based on how many names you enter.
đ Data Protection: Names are processed locally in your browser only. No data is sent to any server.
đĄ Quick Entry: Copy names from Excel/Google Sheets (one name per row) and paste below. The number of students will update automatically!
The app will automatically count the names and set the number of students. You can edit names directly in this box.
đ Grade Boundaries (Optional)
Paste your grade boundaries here! The app will automatically create rows based on what you paste.
You can use any grade labels you want: letters (A, B, C), numbers (7, 6, 5), or words (Excellent, Good, Needs Improvement).
Leave this blank if you don't want to use grades - only scores will be shown.
đĄ Quick Entry: Copy two columns from Excel/Google Sheets (Grade | Percentage) and paste below. Rows will be created automatically!
Separate grade and percentage with tab, comma, or space. The app will automatically create rows based on what you paste.
Markscheme (Correct Answers)
Paste your answer key here! The app will automatically set the number of questions based on how many valid answers you enter.
đĄ Quick Entry: Copy answers from Excel/Sheets (one per line) and paste below. The number of questions will update automatically!
The app will automatically count valid answers and set the number of questions. Valid answers will turn green. Must match your selected options (A, B, C, D...).
Generate Answer Sheets
Current Configuration:
Please complete setup first.
Scan & Score Answer Sheets
đ How it works:
Upload your scanned answer sheets (PDF)
Draw a box around the answer bubble area
Review the calibration preview to confirm detection is accurate
Process all sheets and review any issues
đ Step 1: Define Answer Region
đ Draw a box around the answer bubbles:
Include ALL question numbers and answer bubbles (A, B, C, D)
Include ALL three columns of questions
Don't include the header, name box, or QR code
Click and drag to draw the rectangle
Selected region: None
đ Step 2: Review Detection
Review the detected bubble positions below. Green circles show where the system will read answers. If detection looks wrong, go back and adjust the region.
âŗ Processing Sheets...
Review & Edit Scanned Results
âšī¸ Review Process:
Check the sections below for any sheets that need your attention. You can verify student identifications, mark absent students, review flagged answers, and make corrections before finalizing results.
0
â Auto-Identified
0
â ī¸ Need ID Verification
0
â ī¸ Detection Issues
0
đ Absent
đ Mark Absent Students
Select any students who were absent. Their scanned sheets (if any) will be ignored and they won't appear in detection issues.
â ī¸ Student Identification Required
The following sheets could not be automatically identified. Please select the correct student for each sheet:
â ī¸ Answer Detection Issues
These sheets have answers that need verification (multiple marks, light marks, or suspicious detections):
â All scans processed successfully!
No issues detected. All students were auto-identified and all answers were detected clearly.
Results & Analysis
Class Report
đ Manual Review: Select students using the checkboxes in the table above, then click the button below to review their answer sheets.
đ Manual Answer Review
âī¸ Terms of Service & Disclaimer
Please read carefully before proceeding:
IMPORTANT NOTICE:
This OMR (Optical Mark Recognition) scanning tool is provided "as-is" for educational convenience as a preliminary grading assistant.
User Responsibilities:
You MUST verify all grades and results before finalizing or publishing them to students
This tool should be used as a preliminary grading aid only, not as the sole grading method
You are responsible for manually checking a sample of scanned results to ensure accuracy
You must review any questionable or unexpected scores
Potential Sources of Error:
Poor print quality or scan quality
Lighting conditions during scanning
Student marking outside bubbles or using incorrect marking tools
Damaged, folded, or wrinkled answer sheets
Incorrect calibration settings
Scanner resolution below recommended 300 DPI
Limitation of Liability:
We accept NO LIABILITY for any errors, omissions, or inaccuracies in the scanning or grading results
We are not responsible for any consequences resulting from reliance on this tool
You assume full responsibility for verifying the accuracy of all results
This tool is provided free of charge with no warranties of any kind
Best Practice: Always manually review answer sheets for students with unexpected scores (very high or very low) and spot-check a random sample of other sheets to ensure accuracy.
By clicking "I Accept" below, you acknowledge that you have read, understood, and agree to these terms.