Themes: Snap

Maintained by Picture of Moodlerooms Development Moodlerooms Development, Picture of Guy Thomas Guy Thomas, Picture of David Scotson David Scotson, Picture of Stuart Lamour Stuart Lamour
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.
910 sites
114 fans


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 Moodlerooms. Moodlerooms 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. Moodlerooms are proud to be an official Moodle Partner.


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


Picture of Moodlerooms Development
Moodlerooms Development (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Guy Thomas
    Wed, 31 Jan 2018, 5:38 PM
    @Kieran Briggs. You shouldn't have to do a manual compile, it's done via PHP when you purge caches (same way Boost does it). Also, if you change any Snap settings that affect SCSS it will auto purge caches.
  • This is me.  Deal with it!
    Wed, 31 Jan 2018, 5:48 PM
    Thanks for the info Guy. So I can change the scss file all i need to do it purge cache in moodle and it will update the css thats right?
  • Picture of Guy Thomas
    Wed, 31 Jan 2018, 6:39 PM
    @Kieran Briggs - yes you should be able to just change the SCSS file then purge caches and the CSS will be updated.
  • Picture of Isabella Chiari
    Thu, 15 Feb 2018, 10:27 PM
    I tried to use it on Moodle 3.3.4 (Build: 20180115) and it does not load the css. It's such a pity. The theme is so beautiful.. If anyone solved the problem please reply.
  • Picture of Joseph Liaw
    Tue, 27 Feb 2018, 12:24 PM
    Hi Guy, David, and Stuart:

    Just tested out your latest Snap 3.3 on Moodle 3.3.4+ (Build: 20180223) and it is FANTASTIC! Like the enhanced animations, home page carousel, usability enhancements, etc.

    2 quick requests for future updates / releases to make Snap the best UX hands-down:

    1. In the older Snap 3.2, teachers could reduce the number of topics for sections that they wanted completely hidden from students--it looks like this was removed in Snap 3.3 so that teachers can only hide the section. Is there a way you can add that functionality back? The reason why is we have instructors that want to be able to keep some of their course content completely invisible until they are ready to "reveal" it to students, and it also helps reduce page load times for everyone, especially with some courses with several hundred resources available since Snap allows instructors to build content rich courses that are both functional and aesthetically pleasing.

    2. New Oauth2 Single Sign On in Moodle 3.3: is there a way to enable Snap 3.3 to show a "Login with Google" button on the Home page, or on the Login panel? Currently the image links appears broken on the login panel, but it would be even nicer to just have the "Login with Google" button.

    With the new Google Drive converter, students can easily submit assignments via their Google Drive accounts, and it would automatically convert to PDF for instructors to easily annotate / grade in the Assignment module without the hassle of configuring unoconv and messing with complicated server settings--a win-win for everyone!

    Thank you again for sharing your fantastic work with the Moodle community!


  • Picture of Knut Makowski
    Fri, 2 Mar 2018, 5:24 PM
    @Guy, David, and Stuart and ALL Others of course: we are using SNAP on per course basis but would like to apply it to the whole page. However configuring everything on a full, not vanilla system so it looks REALLY nice and leverages it's full potential takes some time and ideally intimate knowledge of the theme and it's capabilities. I have tried through moodlerooms sales to get some consulting service but it seems it is not offered. Any pointer who we could ask to help with this?
  • Picture of Luciano Cano
    Sat, 3 Mar 2018, 6:53 AM
    good afternoon, I installed the theme snap version 3.3 but I get the following problem in the moodle 3.4.1

    Warning: Declaration of theme_snap\calendar\event\strategies\activity_retrieval_strategy::get_raw_events_legacy_implementation($users, $groups, $courses, $whereconditions, $whereparams, $ordersql, $offset, $limitnum, $ignorehidden) should be compatible with core_calendar\local\event\strategies\raw_event_retrieval_strategy::get_raw_events_legacy_implementation($users, $groups, $courses, $categories, $whereconditions, $whereparams, $ordersql, $offset, $limitnum, $ignorehidden) in /opt/lampp/htdocs/euded2018/theme/snap/classes/calendar/event/strategies/activity_retrieval_strategy.php on line 266

    Fatal error: Declaration of theme_snap\calendar\event\data_access\event_vault::get_events($timestartfrom = NULL, $timestartto = NULL, $timesortfrom = NULL, $timesortto = NULL, ?core_calendar\local\event\entities\event_interface $timestartafterevent = NULL, ?core_calendar\local\event\entities\event_interface $timesortafterevent = NULL, $limitnum = 20, $type = NULL, ?array $usersfilter = NULL, ?array $groupsfilter = NULL, ?array $coursesfilter = NULL, $withduration = true, $ignorehidden = true, ?callable $filter = NULL) must be compatible with core_calendar\local\event\data_access\event_vault::get_events($timestartfrom = NULL, $timestartto = NULL, $timesortfrom = NULL, $timesortto = NULL, ?core_calendar\local\event\entities\event_interface $timestartafterevent = NULL, ?core_calendar\local\event\entities\event_interface $timesortafterevent = NULL, $limitnum = 20, $type = NULL, ?array $usersfilter = NULL, ?array $groupsfilter = NULL, ?array $coursesfilter = NULL, ?array $categoriesfilter = NULL, $withduration = true, $ignoreh in /opt/lampp/htdocs/euded2018/theme/snap/classes/calendar/event/data_access/event_vault.php on line 278

    I leave the section of weeks off, how can I solve it, some idea. regards
  • Picture of Guy Thomas
    Sun, 4 Mar 2018, 2:15 AM
    @Luciano Cano. There isn't an official release for 3.4 yet. In the meantime I invite you try this branch
  • Picture of Алексей В
    Sun, 4 Mar 2018, 8:57 PM
    After creating any test activities in my course, all buttons start being unavalable. I can't even open profile page, while i'm still in this course. Need help! Activities like "FeedBack", "Test" are too important, so I can't create a learning system without any of them. Plugin version 3.3.1, Moodle version 3.4.1
  • Picture of Charles Eghobamien
    Mon, 5 Mar 2018, 11:20 AM
    @Guy Thomas, thanks for the amazing work you do on the snap theme. Guy, is there a ZIP file I could use to install the unofficial 3.4? I am not technical and GIT Hub seems a bit confusing to me. The last time i downloaded snap using the clone button, I could not load the file as moodle detected it was an older version.
  • Picture of Charles Eghobamien
    Mon, 5 Mar 2018, 11:51 AM
    @Guy Thomas, I was able to download snap 3.4 (unofficial) and have since updated my moodle instance. Thanks Guy!!
  • Picture of Guy Thomas
    Mon, 5 Mar 2018, 6:17 PM
    @Charles, you are welcome. Pleased to know it worked for you.
  • Picture of Guy Thomas
    Mon, 5 Mar 2018, 6:19 PM
    @Алексей В - Plugin version 3.3.1 won't work with Moodle 3.4.1 Please consider downloading my forked branch which does work with 3.4
  • Picture of Luciano Cano
    Wed, 14 Mar 2018, 1:35 AM
    thanks for your support Guy Thomas
  • Picture of Sam Nepple
    Wed, 14 Mar 2018, 7:17 AM
    @Guy Thomas
    Thank you for your work on the fork for 3.4. I am using your form and have OAuth enabled and on my login page I am getting an error message "Notice: Trying to get property of non-object in /public_html/theme/snap/classes/renderables/login_alternative_methods.php on line 55".
1 2 3 4 5 6 7 8 9
Please login to post comments