Themes: 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.
1905 sites
208 fans
Current versions available: 11


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


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

Comments RSS


  • Picture of Guy Thomas
    Fri, Apr 6, 2018, 2:16 AM
    @Pat I seem to recall Stuart (ux specialist) saying big courses were bad for the user experience so breaking them up by module would make sense. As for iframe embedded content I recommend you instead use the oembed filter which has a lazy load option.
  • Picture of Guy Thomas
    Fri, Apr 6, 2018, 2:18 AM
    @Charles I know that the guys who have made recent commits are capable and talented developers. That's as much as I know.
  • Picture of Ioana Gatzka
    Mon, Apr 9, 2018, 10:29 PM
    @Guy Thomas I am wondering why in the personal menu now the courses are sorted depending on the course end date. Why not start date? That would be more intuitive, since the end date is not necessarily activated per default.
    At our university, the relevant date is the start date and courses are open for several semesters. Maybe this could be a good setting to integrate in the personal menu, so that the site admin can choose accordingly to the school demands.
  • Picture of RA Park
    Mon, Apr 16, 2018, 12:30 PM
    Hello! I enabled Google OAuth login. Afterward, I've been encountering this error:
    "Notice: Trying to get property of non-object in /public_html/theme/snap/classes/renderables/login_alternative_methods.php on line 55".
    How can this be solved? Thanks.
  • Picture of Guy Thomas
    Mon, Apr 16, 2018, 4:50 PM
    @RA Park. It looks like the master branch on the original Moodlerooms repo has fixed the Moodle 34 issues, so you could consider checking that out - Or you could do a pull against my MOODLE_34_FIXES branch which now also includes a fix for the oauth login error.
  • Picture of Joseph Liaw
    Thu, Apr 19, 2018, 11:12 AM
    As a huge fan of Snap, I hope the new team can keep up the same spirit of "support and love" @Charles pointed out that makes the magic happen!!

    +1 to Guy's to use the latest commits on Github--the updates on Snap 3.2 and 3.3 both have fixed some formatting bugs (e.g. Help pop-ups show up without getting truncated, Oauth login button shows up cleanly, etc.)....and it is cool to see how actively developed the Snap team is working.....wish I had done this earlier!

    Was wondering if there was a way to make the newer versions of Snap (3.3 and 3.4) behave like 3.2 in terms of being able to reduce the number of course sections--this really helps with larger courses...for example, in Snap 3.2 if you had 10 sections of a course, you could just change the "Number of sections" setting under Course Administration and reveal one at a time as the course progressed to dramatically reduce page load times, especially from the Teacher view which has to load all of the hidden resources / editing tools...or to load sections on demand would be an amazing feature like the OneTopic course format!

    @Pat: Idea for large courses with Snap--per Guy's suggestion, break your course into multiple courses (e.g. Semester 1, Semester 2, or by topic), and then use the fantastic Subcourse plugin to help aggregate grades in a "Master Course" portal--I think you would have to use the metacourse enrollments to help manage the administration of this idea which could work...

    With Snap, it definitely is easier for teachers to build larger courses with the intuitive interface that are more much more robust and feature / resource rich for students, but eventually will run into headaches with page load times and server loads without a way to manage large course sections....

    Guy, Stuart, and David: thank you for your wonderful work on Snap--what you guys built is truly an amazing UX for Moodle, forward thinking, and truly innovative! Our teachers have built some truly fantastic looking and useful courses for their students thanks to you!
  • Picture of Guy Thomas
    Thu, Apr 19, 2018, 5:32 PM
    @Joseph, that's really kind of you, thanks!
  • Picture of Pat Sej
    Thu, Apr 19, 2018, 10:46 PM
    Hey guys,
    I've just noticed that clicking on the page displays an outline (rectangle border) around the clicked area.
    Is it for debug purpose?
    How can I deactivate this behavior?
    Thx wink
  • Picture of Pat Sej
    Thu, Apr 19, 2018, 10:51 PM
    @Joseph, thanks for your good advice ;-D
  • Picture of Stuart Lamour
    Fri, Apr 20, 2018, 1:02 AM
    hi @pat - outlines allow a keyboard only user to navigate a website
  • Picture of Pat Sej
    Mon, Apr 23, 2018, 1:27 PM
    Hi @stuart, thx very much for the information big grin
  • Picture of Pat Sej
    Mon, Apr 23, 2018, 1:45 PM
    Hi everyone!

    I'd like to add navigation buttons to the activities (as it is in the Boost theme).
    Do you know for which reason they have been removed from Snap?

    Are there good documentations for dev people on how the Snap theme works?
    I've setup a debugger to understand where to add my code. But to place the right breakpoints, I still need to have a good overview of the theme architecture.

    Thanks in advance for your help wink
  • Picture of Pat Sej
    Mon, Apr 23, 2018, 5:43 PM
    I also would like to add a progress bar under the main title (in the upper part of the window).
    It would be the same as the course progress bar from the course list.
    Where can I find it in the code ?
  • Picture of Guy Thomas
    Mon, Apr 23, 2018, 6:48 PM
    @Pat - I think what you are after is the method "course_completion_progress" in local.php
  • Picture of Stuart Lamour
    Tue, Apr 24, 2018, 2:32 AM
    @Pat - the moodle forums are a great place to ask these questions.
Please login to post comments