Themes: Snap

Maintained by Picture of Open LMS DevelopmentOpen 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.
1714 sites
197 fans
Current versions available: 10


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.


This plugin is contributed by the Blackboard. Blackboard 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


Picture of Open LMS Development
Open LMS Development (Lead maintainer)
Picture of Guillermo Alvarez
Guillermo Alvarez
Please login to view contributors details and/or to contact them

Comments RSS


  • Picture of Joseph Liaw
    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!
  • Picture of Joseph Liaw
    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!
  • Picture of Open LMS Development
    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.
  • Picture of Charles Osa
    Tue, Aug 7, 2018, 8:37 AM
    Thanks Moodlerooms Development.
    I am sure it would be one hell of a cool name!!!!!
  • Picture of Paul Vincent
    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.
  • Picture of Giovanni Borda
    Fri, Aug 24, 2018, 12:15 PM
    Me gusta mucho el tema, me gustaría poder apoyar el tema de el release para la versión 3.4 y 3.5, ¿como uno puede apoyar?
  • Picture of Inga Ivan
    Tue, Sep 4, 2018, 9:31 PM
    Hi everyone and the Blackboard team,

    Thank you for the news!

    When do you approximately expect the new release of the SNAP (new name coming) theme for Moodle 3.5 to be available for the users for downloading?

    Your reply would be much appreciated so we can continue planning our Moodle update. Thank you!

  • Picture of Open LMS Development
    Thu, Oct 4, 2018, 8:52 PM
    Hi Inga,
    the next version of SNAP will be available here on January 10th but if you want you can get it one week before from our repository.
  • Picture of Ronisha Sanders
    Fri, Oct 26, 2018, 5:44 AM
    I keep trying to upload this plugin but it keeps giving me the file too large error.
  • Picture of Open LMS Development
    Fri, Oct 26, 2018, 8:50 AM
    Hi Ronisha, I suggest to follow this to increase your upload parameters
  • Picture of Pat Sej
    Fri, Nov 16, 2018, 6:52 PM
    Hey everyone!
    I've upgraded to 3.4 and notice that the title in the Page module does not appear anymore.
    Editing it, I can see under Appearance the following message:
    "Snap's design language prevents changes to "Appearance" settings."

    I've see that it has been introduced in Snap's code by INT-13166
    What does it mean and how can I put the title back?

    Thanks in advance! wink
  • Picture of Open LMS Development
    Thu, Nov 22, 2018, 11:32 PM
    Hi Pat,

    That change was made to keep consistency and behavior of Snap (mainly a design reason).
    I don't think there is a easy way to put it back, unless you want to modify the code which we don't recommend.

    Thanks for reaching out.
  • Picture of Pat Sej
    Fri, Nov 23, 2018, 1:21 AM
    Thanks for the answer.
    I notice I've forgotten to precise that my concern is when the Page module is displayed in full page and not within the Section.
    In full page mode, It's not consistent. LTI and H5P for instance display the title.

    I've been asked to put back the title. Could you please tell me where in the Snap code I can find that?

    Thanks wink
  • Picture of Pat Sej
    Tue, Nov 27, 2018, 4:03 PM
    Hello dear community,
    Would somebody have an idea of how to fix that?
    Thanks for any good tip wink
  • Picture of Pat Sej
    Fri, Nov 30, 2018, 8:01 AM
    As I didn't have any feedback, I've fixed it myself by rolling back Snap's fix INT-13166.
    For those interested, you just need to edit snap.js and comment from line 781 to 797:
    /*.then(function (html) {
    // Disable checkboxes.
    // Colors for disabling the divs.
    var cbxprintheading = $('[id="id_printheading"]');
    cbxprintheading.attr('disabled', true);
    var selectNode = $('[id="id_error_printheading"]');
    Don't forget to run grunt to generate snap.min.js and purge the cache.
Please login to post comments