Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


The ultimate Shopify theme framework, built by Shopify.

Subscribe to updates I use Timber

Statistics on Timber

Number of watchers on Github 890
Number of open issues 50
Average time to close an issue 8 days
Main language Liquid
Average time to merge a PR 3 days
Open pull requests 17+
Closed pull requests 7+
Last commit about 2 years ago
Repo Created over 6 years ago
Repo Last Updated 2 months ago
Size 2.86 MB
Organization / Authorshopify
Latest Releasev2.2.2
Page Updated
Do you use Timber? Leave a review!
View open issues (50)
View Timber activity
View on github
Book a Mock Interview With Me (Silicon Valley Engineering Leader, 100s of interviews conducted)
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating Timber for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Deprecation warning

The Timber theme is no longer being maintained by Shopify. Developers are encouraged to check out Slate - a theme scaffolding and command line tool built for developing Shopify themes.

You can continue to use Timber; however, this repo will not be kept up-to-date with changes in Shopify theme development.

Shopify Timber

Timber is a theme framework for Shopify that helps you get your store up and running quickly. It provides all required theme templates, a starter set of liquid tags, and some basic styles and modules for you to extend on.

Styling and customization is left up to you. Some base styles and helpers are included, but there is no need to remove any code before you start. Simply download and get designing.

Designing a store for a client? Earn revenue through our Partner program.

Ways to Get Started

  • Download the latest release
  • Clone the repo git clone https://github.com/Shopify/Timber.git
  • Or install with Bower bower install timber

Demo Stores

  • Demo Store: A store setup with some products, blog posts, and customer accounts
  • Empty Store: A fresh store, just what you should expect when you install on your new store

For a set of demo products to use during development, download this CSV file and import it on our products page.

Basic structure

    Javascript, CSS, and theme images
    optional alternate layouts
    custom code snippets
    tests and helpers
          required templates if customer accounts are enabled
    if using the theme gem (see link under Additional Resources)

i18n testing

Tests make sure there are no missing or extra i18n strings or invalid html in your locale liquid files.

All PRs must pass the tests before being merged. Check the test status when you open a new PR on GitHub, or locally with the following.

  • bundle install to install all the dependecies
  • rspec spec to run all the tests

Additional resources


Timber is released under the MIT License.

Timber open issues Ask a question     (View All Issues)
  • almost 4 years Link to themekit points to the gem and not to the new themekit.
  • almost 4 years Gaining back Top Cart Drawer functionality?
  • almost 4 years Option selection included in product.liquid is being overwritten
  • almost 4 years Icon font linking to a specific build, error 404 in documentation - can't display payment icons
  • about 4 years Chrome 53: select labels cut off at the bottom
  • about 4 years Cart and Change.js - Ajax cart treats inventory different to normal cart
  • about 4 years Documentation uses old Shopify icon
  • about 4 years admin_bar_iframe
  • about 4 years Youtube videos don’t work in Chrome (Timber Theme)
  • about 4 years drawer open() changes page position
  • about 4 years Load ajax cart on page load not on click of open cart drawer
  • about 4 years Sticky header and mobile drawers not cooperating.
  • about 4 years Request: Add snapchat icon
  • about 4 years Mixture of social-meta tag image sizes.
  • over 4 years "Disabled" attribute on variant <select> options don't seem to carry over from master <select>
  • over 4 years Drawer cart becomes inoperable after 422 error
  • over 4 years Quantity Error Not Displayed in Sidebar Cart
  • over 4 years Product image switch doesn't update "alt" attribute
  • over 4 years Adherence to theme requirements
  • over 4 years Timber.JS - 'Prevent touchstart' on Nav causing accessibility issues
  • over 4 years Ongoing Timber Issues that Everyone Will Occur
  • almost 5 years Add styled & responsive password.liquid view
  • almost 5 years Issue with js-drawer-close
  • about 5 years Massive JS error if both navigation and cart drawers opened at same time.
  • over 5 years Better documentation for timber.js
  • over 5 years collection-views.liquid cannot use alternate collection templates
  • almost 6 years password.liquid template
  • about 6 years Product pricing spreads in collection views
  • about 6 years issue with --show responsive visibility
  • over 6 years any plan to add @media print or other print visibility helper classes?
Timber open pull requests (View All Pulls)
  • Fix max callstack size exceeded
  • Add the password__page lang to the en.default.json
  • Add events to notify of drawer opening / closing
  • Product a11y fix
  • Disable cart drawer when setting is page
  • [DO NOT MERGE] Replace id with key
  • Fix for issue #525
  • [Timber] update a11y headings and remove stripe icon whitelist
  • Enhance 404 Page
  • changing line item ids to use keys
  • [Timber] update a11y prices
  • Add StorefrontExpressButtons.initialize in cartCallback
  • Fixed a nav menu draw open, then closed horizontal scroll bug
  • Adds products taken from Timber demo store
  • Disable ajax request caching to enable ajaxCart in IE (#599)
  • Nth of type
  • prevent locale caching
Timber questions on Stackoverflow (View All Questions)
  • Twig (Timber) + Wordpress - showing categories of a post
  • Displaying SELECT field on custom post type archive page using TIMBER
  • Multiple post pagination on same page with Timber
  • Using Timber to refactor complicated Wordpress template
  • Timber/Twig define Block
  • Multiple Header Styles In Timber/Twig
  • Get ACF from relationship field with Timber
  • Change Wordpress Timber Template locations
  • Android AppWidget Timber not logging
  • How do I write the wordpress function "is_front_page()" in twig Timber code?
  • Render with timber (twig) directly from string
  • How to find timber in a truck using MATLAB?
  • Can´t see the actual crash in Fabric using Timber and a custom Reporting Tree
  • How can I create a different layout between cart.liquid and ajax-cart-template.liquid using Timber framework for Shopify
  • Wordpress Timber, displaying content from child of child pages and displaying content from a specific page
  • Wordpress Timber (TWIGG) - How do I apply a template to a bunch of pages if parent is the same
  • Creating a Widget area in my Wordpress Timber Theme
  • How do I make a simple count loop in Wordpress Timber(Twigg)?
Timber list of languages used
Timber latest release notes
v2.2.2 v2.2.2
  • #583 - Fix structured data price rounding issue
  • #577 - Show errors in customer address forms
  • #586 - Update jQuery to latest 1.x stable version
v2.2.1 v2.2.1
  • #547 Fix page content jumping when drawer opens
  • #549 Remove Laser, Switch, Solo payment method icons (removed from Shopify)
  • #561 Cart quantity and submit button a11y updates
  • #563 Support StorefrontExpressButtons.initialize in cartCallback
v2.2.0 v2.2.0
  • #522 Add cart discounts
  • #534 Fix mobile user account link style/markup
  • #538 Updated icon set (with better sizing/alignment). New Google+, Instagram, and payment method icons
  • #540 Proper schema.org-compliant pricing information
  • #530 Fix ajax cart request error when removing last item in cart
  • #481 Add events to ajax cart events (docs)
Other projects in Liquid
Powered by Autocode - Instant Webhooks, Scripts and APIs
Autocode logo wordmark