Webcam snapshot

Blocks ::: block_mfavatar
Maintained by Luuk VerhoevenLuuk Verhoeven, Vincent Cornelis
This block allows users to make a profile picture with their webcam.
Latest release:
270 sites
41 fans
Current versions available: 2

Webcam Snapshot

It's a brand new functionality for users in their Moodle environment. The plugin is free to download and in open source.

Briefly, the MFreak plugin avatar gives the user the possibility to take a snapshot with a live webcam. The user can then upload the picture and modify his profile picture at any time.
Besides this, there is also the facility to auto-generate Avatars.

As a bonus, an easy to follow tutorial was created, on how the user can install the block to his Moodle site and ultimately deploy it to a page for use.


  • The Plugin makes no database changes.
  • The Plugin was developed with coding standards of Moodle.



Automatic avatar 

Fix capabilities

If your students or some other role can't create an avatar. 

Extra Information:




Screenshot #0
Screenshot #1


Luuk Verhoeven
Luuk Verhoeven (Lead maintainer)
Vincent Cornelis
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Luuk Verhoeven
    Sun, Jul 19, 2015, 5:59 PM
    Also tested with success on version 2.9.1
  • Sergio Cardillo
    Wed, Aug 3, 2016, 6:05 PM
    Hi! Can you tell me the directory where the picture are saved and how to change it? Thank you!
  • Luuk Verhoeven
    Thu, Aug 4, 2016, 2:15 AM
    @sergio This is done by default moodle behavior, using user profile image. The uploaded file will be added to moodledata folder and stored in the DB in the *files* table.
  • Aditya Dubay
    Thu, Oct 6, 2016, 1:55 PM
    Block is not visible to student sad
    Block permission are:

    Block: MoodleFreak Avatar
    Add a avatar snapshot tool
    block/mfavatar:addinstance - Inherit (Allow)

    block/mfavatar:view - Inherit (Allow)

    Edit a block's settings
    moodle/block:edit - Inherit (Not set)

    View block
    moodle/block:view - Inherit (Allow)
  • Luuk Verhoeven
    Fri, Oct 7, 2016, 12:43 AM
    @AdityaDubay Did you add the block to the My Moodle page? The capabilities looks correct.
  • Roland Sherwood
    Mon, Jun 11, 2018, 10:57 AM
    Hi. Thanks for making this plugin available. If possible, please could you provide more details of the automatic first and last name initials avatar creation (as shown in the third image above) functionality? After having installed the plugin I can't find any way to activate or make use of this functionality. Thanks.
  • Luuk Verhoeven
    Mon, Jun 11, 2018, 4:29 PM
    @Roland Sherwood I added a video to description of plugin. I hope this helps.
  • Roland Sherwood
    Wed, Jun 13, 2018, 12:20 PM
    Hi Luuk. That's great - many thanks! I understand now, and apologies also because my confusion was caused by the fact that I thought the download link at the top of this page was for the latest 3.5-compatible version of the plugin. However, that link is actually for the 1.1 release, and I realise now it's the 1.2 release that offers this functionality (hence my confusion after installing 1.1 and not seeing any settings related to automatic avatars). Everything works great now (although we do have an issue with non-latin character-based names producing avatars with no visible text; however that's probably beyond the scope of what you had in mind for this plugin)!
  • Raymond Frangie
    Thu, Jul 26, 2018, 3:02 PM
    We seem to have an issue with this plugin with deleted users? Here's the log from the scheduled tasks that keeps failing...

    Update user avatars

    Execute scheduled task: Update user avatars (block_mfavatar\task\update_avatars)
    ... started 17:02:01. Current memory use 9.5MB.
    ... used 154 dbqueries
    ... used 1.1980068683624 seconds
    Scheduled task failed: Update user avatars (block_mfavatar\task\update_avatars),Invalid user
    Debug info:
    SELECT id FROM {user} WHERE id = ? AND deleted = ?
    [array (
    0 => '6',
    1 => 0,
    * line 1522 of /lib/dml/moodle_database.php: call to moodle_database->get_record_select()
    * line 6124 of /lib/accesslib.php: call to moodle_database->get_record()
    * line 191 of /blocks/mfavatar/classes/avatargenerator.php: call to context_user::instance()
    * line 140 of /blocks/mfavatar/classes/avatargenerator.php: call to block_mfavatar\avatargenerator->save()
    * line 163 of /blocks/mfavatar/classes/avatargenerator.php: call to block_mfavatar\avatargenerator->set_avatar_single_user()
    * line 57 of /blocks/mfavatar/classes/task/update_avatars.php: call to block_mfavatar\avatargenerator->set_avatar_for_all_users()
    * line 105 of /lib/cronlib.php: call to block_mfavatar\task\update_avatars->execute()
    * line 297 of /lib/cronlib.php: call to cron_run_inner_scheduled_task()
    * line 91 of /admin/tool/task/schedule_task.php: call to cron_run_single_task()

    Any assistance will be greatly appreciated!

  • Luuk Verhoeven
    Thu, Jul 26, 2018, 4:01 PM
    Hi Ray,

    Can you check the latest moodle35 version on github?

    Deleted users shouldn't need a new avatar, they will be skipped now. If you confirm it works correctly I will update the plugin on

  • Kale Dagger
    Fri, Aug 17, 2018, 12:55 AM
    I love the automatically generated avatars, but I have a problem: even though Override user picture is unchecked in the settings, it replaced the profile picture I was using. Now when I try to delete the avatar or upload a new picture in my profile nothing happens. (Using Moodle 3.5 and plugin version 1.3.0)
  • Luuk Verhoeven
    Tue, Aug 28, 2018, 1:12 PM
    Hi Kale, did you turn off "avatar_initials" in the global block configuration? This prevents avatars from being generated.
  • Gordon Mills
    Thu, Apr 9, 2020, 3:38 PM
    Future development, would be a great add on to the atto text editor to allow students to take shots of work etc
  • Vladimir ZH
    Sun, Jun 21, 2020, 3:16 PM
    hi, I see this error in Moodle v3.9. How to fix it? Thank you! "Exception - Class 'completion_info' not found "
  • Luuk Verhoeven
    Sun, Jun 21, 2020, 4:54 PM
    @Vladimir Where do you see this error? Can you provide an error back trace?
1 2 3
Please login to post comments