Note: You are currently viewing documentation for Moodle 2.6. Up-to-date documentation for the latest stable version of Moodle may be available here: Grade import.

Grade import

From MoodleDocs

Grades may be imported as a CSV or XML file.

The import file format is the same as the corresponding export format.

Note: Grade import is equivalent to manual grading in the grader report. Thus, if grades for a particular Moodle activity such as an assignment are imported, they can no longer be edited via the assignment submission page.

Importing grades

CSV grade import

To import grades into the gradebook:

  1. Decide on an import format - CSV or XML file (see below) - then export some grades using the corresponding export format.
  2. Edit the export file as appropriate and save it.
  3. Tip: If you opened your exported file in Excel, don't add columns there because Moodle will reject the import if there are new columns that didn't exist in the exported file. If you need to add columns, do that in Moodle BEFORE you export your gradebook.
  4. Select your chosen import format from the gradebook dropdown menu.
  5. Browse and upload your previously saved file.
  6. Set options as required.
  7. Click the "Upload grades" button.
  8. CSV import only: Preview the grade import and choose the column mapping then click the "Upload grades" button to complete the grade import.
    1. Tip: By default "Map from" is set to First Name, and "Map to" to userid. Change both dropdowns to: "Email Address" to "useremail", or to "Id Number" to "useridnumber" (assuming that your users have ID number fields filled in in their profiles).
    2. Tip: Unlike in most email programs, email addresses are case sensitive in grade import files. (This should eventually be fixed as per MDL-29315.)

You need two permissions to import grades: (1) general permission to import grades and (2) permission to import grades in a particular format. For example, to import CSV grades you need

   moodle/grade:import ("Import grades") = Allow
   gradeimport/csv:view ("Import grades from CSV") = Allow

XML import

Before importing an XML file you will need to ensure that all of the students that you want to alter grades for have their ID number field filled out. This is located in the "Optional" section of the user edit profile page. You will also need to set the ID number of the activity as well. You can find this under "Common module settings" when editing the activity.

The format for the XML should be as follows:


For a working example try exporting the gradebook as an xml file and view the format.

Remote file URL

The remote file URL field is for fetching data from a remote server, such as a student information system.

CSV import

CSV import is more flexible than XML import, as you may choose the column mapping.

Grade Mapping

When Importing to Moodle 2.x or higher, after selecting your CSV for import you'll be prompted to map user fields and grade items to the new column headers to ensure that there is a match. More than one item can be mapped to the same grade item in your destination course so be mindful of the mapping to ensure that grade data is imported properly, any collisions (i.e. if two or more fields are mapped to the same but duplicate data exists) will cause an error. User grade data for users not yet enrolled to the destination course will be noted (and once enrolled their grade data will display).


If you are unsure of the encoding of your CSV file, try selecting the second option in the encoding dropdown menu. If you've used Excel to produce the CSV file the second option WINDOWS-xxx encoding is probably the correct one. The grade import preview will tell you if you guessed the encoding correctly.

Verbose scales

Scales can be either specified as a raw id - eg. 0, 1, 2, 3, etc. or as a string, eg. "good", "bad", "not very bad". The later format is called "verbose".

Grade import capabilities

See also

Using Moodle forum discussions: