Themes ::: theme_snap
Maintained by Open LMS LogoOpen LMS Development
Snap’s user-friendly and responsive design removes barriers to online learning, enabling you to create the modern, engaging experience user's expect on the web today. Its intuitive layout is optimised for online learning, focusing on the things that matter - your learning activities and content.
Latest release:
2499 sites
245 fans
Current versions available: 13


Snap is a Moodle theme that makes online learning an enjoyable and intuitive experience for learners and educators.

Snap's user-friendly design removes barriers to online learning, enabling you to create the modern, engaging experience user's expect on the web today. Snap's intuitive layout is optimised for online learning, focusing on the things that matter - your learning activities and content.

Personal menu

Snap’s easy to use navigation gives users an elegant way to perform frequent tasks. All your courses, deadlines, messages and feedback are always one click or tap away to save you time.

Courses with personality

Every course in Snap let's teachers add a cover image to give it a unique personality.

Courses in Snap allow you create individual topics, so learners understand where their focus should be without being confused or overwhelmed by lots of links and options. 

Each topic shows students their progress, which is updated inline with ajax as you progress through the course.

Every activity in Snap shows students the due date, if they have submitted, and if feedback is available - without having to open the activity. 

Teachers are shown how many users have submitted an activity, and if they need to grade any submissions. 

Teacher's workflows for creating and structuring content in their courses are also optimised to save time. With no need to turn editing on, inline resource/activity deleting, the ability to move multiple resources/activities at once, inline topic creation and many other ways to help teachers give learners the best online learning experience.

Working seamlessly across every device - from desktop to mobile, Snap’s responsive Twitter Bootstrap based framework provides a consistent, professional experience for learning whenever and wherever you want to learn.

You can learn more about Snap on our video playlist.

Under the hood:

Like most other Moodle Themes today Snap runs on Bootstrap 4, jQuery, Sass, and inherits from the Boost theme.


Snap is continuously updated, with each major version released 6 months after the Moodle release. If you'd like to test our work in progress it's always available on github!

Questions & Support:

Be kind by asking questions about Snap in the Moodle Themes Forum rather than on this page.

Report bugs about Snap in the Snap theme github.

Open LMS

This plugin is contributed by the Open LMS product team. Open LMS is an education technology company dedicated to bringing excellent online teaching to institutions across the globe. We serve colleges and universities, schools and organizations by supporting the software that educators use to manage and deliver instructional content to learners in virtual classrooms.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4


Open LMS Logo
Open LMS Development (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS


  • Mon, Apr 23, 2018, 6:48 PM
    @Pat - I think what you are after is the method "course_completion_progress" in local.php
  • Tue, Apr 24, 2018, 2:32 AM
    @Pat - the moodle forums are a great place to ask these questions.
  • Fri, Apr 27, 2018, 8:25 PM
    @Guy Thomas Thx! big grin
    @Stuart Thx for the suggestion. As it is related to the Snap theme I thought here is a good place to post it, right?

    BTW, I'm struggling to find how to include the activity_navigation buttons (previous, next) properly in an activity with the Snap theme.
    I've seen how it works in Boost but it is different in Snap.

    In boost, there is a layout using a template that includes the {{output.activity_navigation}} template.
    What should I do to call it from Snap? In which class is it supposed to be called?
    I've seen the mod\choice\View.php constructs for instance the Choice activity. I suppose I won't be obliged to put the activity navigation code in each activity, right?
    Thx again for your precious help wink
  • Wed, May 2, 2018, 1:58 AM
    It seems one cant add feature course with an ID over 999? Snap gives "invalid image" message when I try to 1264.
  • Fri, May 4, 2018, 8:41 AM
    @Pat - "As it is related to the Snap theme I thought here is a good place to post it, right?"

    No, not really. This is for release information. What you're trying to do is modify it and create a custom theme. Moodle forums are best suited for that.
  • Mon, May 14, 2018, 4:20 AM
    Very nice theme, I've been using it enthusiastically. If there's room for a feature request, could I suggest to add the option to allow Page resources to be displayed in collapsed only format. At the moment the default is to have these uncollapsed ("Read More"). If this can be done through Custom CSS, I haven't found the method yet. Thanks
  • Tue, Jun 5, 2018, 5:59 PM
    Hi everyone,

    we are using the SNAP theme for two Moodle installation and are amazed by its high usability and great design! We would love to continue using the SNAP theme in the future and wanted to kindly ask if there is any information regarding official SNAP releases for Moodle 3.4 and 3.5?

    According to the version overview, the previous releases were published on a regular basis which has changed recently. It would be great to receive some input from the responsible developer team regarding the timeline of the new releases so we can better plan the upgrade within our company.

    Thank you in advance,

  • Thu, Jun 14, 2018, 8:52 AM
    ^ also after any updates for Snap releases for Moodle 3.5.
  • Tue, Jul 31, 2018, 6:04 PM
  • Fri, Aug 3, 2018, 9:52 PM
    The lack of an update for 3.4 is worrying, given that they commit on this very page to a new Snap release 6 months following every major Moodle release; 3.4 was back in 2017, and although it's available on their Github page, it hasn't yet been formally released on here. It would be a shame if Snap dies off through all this Bb partnership business, as it's a very unique and user-friendly (if not massively customisable) theme. I'd hoped to use this for our new VLE launch in Jan '19, but looks as though we'll have to look elsewhere.
  • Fri, Aug 3, 2018, 11:19 PM
    Let's not give up so quickly on Snap!

    Guy, Stuart, and David pioneered a truly innovative and user-friendly interface not seen before that allows instructors to create aesthetically pleasing courses while being intuitive, easy to navigate, and extremely functional!

    The Moodlerooms team that has taken over has also been fantastic about sharing their work with the Open Source community and the have been active in developing and sharing their work on Github (looks like Snap 3.4 was available on Github several months ago, and development is actively going on Snap 3.5).

    Ultimately, businesses do need to generate profits to pay their employees, stakeholders, feed their families, etc., but what makes Moodle and the Open Source community unique is the higher purpose and motivation of creating an innovative, dynamic learning platform to empower students and further education and training across the world from traditional classrooms to training emergency medical staff!

    Thank you again to the Snap development team, and please let us know what we can do to support and encourage the project!
  • Fri, Aug 3, 2018, 11:36 PM

    Your ideas to enhance Snap sound exciting--if you get a chance, please share your code on Github and maybe other people can help debug / contribute!!

    Wanted to also report I just figured out how to deliver large courses (e.g. has over 200+ activities and resources) via Snap as a proof-of-concept:

    1. Create a "Dashboard / Portal" course--this is an overview / parent course that links out to child courses that are your subtopics.

    2. Create child courses that are your topics. Use the course metalink as your enrollment method to automatically and quickly enroll students into the child courses from the parent course. There is also the fantastic Synchronize Groups plugin ( that would allow you to sync up your groups if needed to the child courses.

    3. Use the fantastic Subcourse plugin ( that allows you to link the child courses gradebook to the parent course. I tested it, and I was able to pass grade percentages (e.g. 87%) as well as total points (e.g. 247 points) from the subcourses to the parent course.

    4. How to keep the student view from getting "messy" now that you have all of these child courses: Snap has a GREAT feature in that it hides hidden courses in a submenu on the Personal Dashboard. They will only show up in your main menu on the Personal Dashboard if you favorite a course by clicking on the star.

    So elegant solution is to simply make the child courses hidden, and then modify student permissions so they can view hidden courses! (Alternatively, you could create a new role, "Student -View Hidden courses" and then only assign it to students you want).

    When students login, they will only see your parent "Dashboard / Portal" course, which will then link out to your child courses via the Subcourse plugin activity (or you could create a Label with a visual anchor and then manually link to your courses), with the Subcourse plugin elegantly reporting back all grades to the master "Dashboard / Portal" course!!!!

    I know this sounds like a lot of work at first, but actually I think it will ultimately save time since now instead of trying to load, edit, backup a gigantic large course with 200+ activities, you have a way to break your content into manageable chunks!

    Hope this makes sense and let me know if you have any questions! I am excited to try this next semester to rebuild my courses, and give myself more "room" to expand / organize my content for students!
  • Open LMS Logo
    Tue, Aug 7, 2018, 1:30 AM
    Hi everyone,

    Our team is working hardly to maintain all our plugins and make our moodle distribution better. For sure we will continue with our periodicall releases to the community, but for this time it will take us little more time to do it as we wait for our new cool name (wait for it!!!!), in the middle please feel peaceful to download the last version from our github.
  • Tue, Aug 7, 2018, 8:37 AM
    Thanks Moodlerooms Development.
    I am sure it would be one hell of a cool name!!!!!
  • Wed, Aug 8, 2018, 11:38 PM
    @Joseph and @Moodlerooms - Ok, thanks for the comments, I just updated to 3.4 and all seems good (would be good to know why it's not been added here yet though). I'm inclined to wait and see how things go before jumping ship - no other theme really meets our UX needs in the way Snap does.
Please login to post comments