Formatters & Code

Moodle Gradebook CSV Import Safety Checker & Overwrite Validator

Validate Moodle gradebook CSV imports locally. Detect duplicate students, prevent accidental grade overwrites from blank cells, and verify user mappings.

Proposed import & current gradebook

Drop proposed gradebook CSV

or click to browse

Drop current Moodle export CSV

detects accidental blank grade overwrites

Results

What the result means

Importing gradebook spreadsheets into Moodle presents critical risks: blank cells can overwrite existing feedback or grades, ambiguous student identifiers can cause import failures, and duplicate student rows can corrupt grade histories. This pre-import validator inspects your CSV file before uploading to Moodle. It verifies key user mapping columns (Email address, ID number, or Username), checks for non-numeric grade values, flags missing student records, and allows optional comparison against a current Moodle gradebook export to catch accidental grade overwrites before they reach your LMS.

Related tools

Guides

Advertisement

Questions

Why did importing a CSV into Moodle erase existing grades?

If a spreadsheet contains blank cells for an existing grade item column (for example, when importing feedback only), Moodle can treat those blank cells as null or zero values, wiping out previously recorded grades.

How does Moodle match spreadsheet rows to enrolled students?

Moodle requires you to select a unique identifier field during the import mapping step—most commonly "ID number" or "Email address". This checker verifies that your chosen identifier is populated and unique across all rows.

Is student grade data secure when using this tool?

Yes. All parsing and safety verification runs purely on your local computer inside your web browser. No student information or file contents are ever transmitted across the internet.

Need help with a tool or found a bug?

Report an issue directly to engineering. No accounts required — all client data remains private on your device.

Report an Issue →