Exam Script OCR

Pick a folder to scan for exam files, choose where to save results, set your options, then start. Files are uploaded only to the OCR server for processing and are never stored there — everything else (finding files, tracking progress, building the spreadsheet) happens in your browser. This prototype reads pages with MinerU. Exact wording keeps the OCR text. Estimation only tidies line breaks and spacing. A later pass can add AI.

1. Options

If set, this exact list of sub-question ids is enforced for every paper processed, and mislabelled ids get auto-corrected against it — use this when processing many copies of the same exam template. Leave blank to let MinerU's text be split by the question headings it finds. Saved in this browser and stays set until you change it. Printed question text can still appear in an answer until the AI step is added.

Upload a blank copy of the exam (no student answers) and MinerU will read its question numbering and fill in the box above for you. It's still just a starting point — review and edit it if anything looks wrong; the box above always wins as the final format used.

2. Folders

No folder selected
No folder selected

The output folder is where answers_data.json, processed_files.json, and answers.xlsx are written and updated. It can be the same as the input folder or different, and can mix local and Google Drive independently.

Prototype shortcut: pick files here instead of a folder. With no output folder, the three result files download in this browser when the run finishes.

If you already have a processed_files.json from a previous run (e.g. the desktop tool), upload it here so those files are skipped too, matched by filename.

3. Run