Skip to main content

Theme store requirements

Use the following lists of requirements when creating your theme.

Themes and presets published on the Shopify Theme Store must meet all requirements. If your submission misses any requirement, then it will be rejected and you'll need to make corrections before resubmitting.

Test your theme thoroughly before submitting to ensure it meets functionality and quality standards. Poorly tested themes will be rejected without further review, and repeated issues may lead to suspension or permanent rejection.

Learn about the theme review process and how to submit your theme to the Shopify Theme Store.


Anchor to 1. Theme Store exclusivity1. Theme Store exclusivity

Themes on the Theme Store must be exclusive to the Theme Store and can't contain external marketing material, so merchants can continue to benefit from the highest quality themes and the newest features.

All themes must meet the following exclusivity requirements:


Anchor to 2. Uniqueness from other themes2. Uniqueness from other themes

Your theme must be substantively different from other themes that are already listed on the Shopify Theme Store (including your own). You must make meaningful changes and innovations to the design and functionality of the theme. Below are some cues that we look for:

  • Your codebase must have meaningful differences when contrasted with code from other themes.

  • The identity of your theme preset submission should be unique.

  • Your theme presets should have a clear industry focus.

  • Your theme presets should have an inventive art direction that distinguishes it from other themes.

  • Your theme presets should have a cohesive look and feel across all templates (for example, the index page, product and collection pages, blogs, search, and the cart).

  • Your theme should offer unique customization options or functionality that distinguish it from other themes.

  • A merchant shouldn't be able to buy your preset then customize it to appear almost identical to a different preset on the Shopify Theme Store.


Anchor to 3. Theme design and UX3. Theme design and UX

At Shopify, our Theme Store is a canvas for creativity, innovation, and merchant expression. With over 200 themes available, we’re looking for unique, original submissions that push design boundaries, offer standout visual quality, and deliver delightful, engaging user experiences. Themes for Shopify should be visually distinctive, professionally crafted, and empower merchants to tell their brand's story clearly and expressively. We value themes that not only meet merchants' functional business needs, but also actively inspire merchants and their customers, elevating online shopping experiences through thoughtful layouts, bold visuals, purposeful creativity, and intuitive, high-quality usability.

Learn more about design best practices.

The UX & Design criteria below set clear, objective expectations for the exceptional quality required on the Shopify Theme Store. Themes must meet every checkpoint listed below to be accepted. If your theme fails any of these requirements, you must address the issue before acceptance.

Anchor to Visual design and art directionVisual design and art direction

Anchor to Customer shopping experienceCustomer shopping experience

Anchor to Demo store experienceDemo store experience


Feature-rich themes support the varied needs of merchants, and enable each merchant to use a theme in a way that fits their business.

All themes must support the following features:

Learn more about migrating a theme to OS 2.0.

Learn more about discounts.

Accelerated checkout buttons must be supported on the following pages:

  • Product page
  • Cart page

The branded dynamic and accelerator checkout button colors must not be modified.

Learn more about accelerated checkout.

Learn more about gift cards.

Learn more about social media images.

Learn more about selling in multiple currencies.

Learn more about selling in multiple languages.

Learn more about setting up drop down menus.

Learn more about newsletter signups.

Learn more about pickup availability.

Learn more about related product recommendations.

Learn more about complementary product recommendations.

Selling plans must be supported on the following pages:

  • Cart page
  • Customer page

Learn more about subscriptions.

Learn more about Shop Pay Installments.

Unit pricing must be supported on the following pages:

  • Collection page
  • Product page
  • Cart page
  • Customer page

Learn more about how merchants can add unit prices to products in the European Union (EU) and in Switzerland.

Learn more about adding images to product variants.

The branded Follow on Shop button colors must not be modified.

Learn more about Follow on Shop.


Anchor to 5. Templates, sections, and blocks5. Templates, sections, and blocks

Merchants can use sections and blocks to arrange page templates, which provides more flexibility in their store's content, and allows them to control the look and feel of their online store without needing to edit code.

Anchor to Template support requirementsTemplate support requirements

Themes must support the following templates and their formats:

Anchor to Section support requirementsSection support requirements

Anchor to Block and app block support requirementsBlock and app block support requirements

Learn more about best practices for sections and blocks.

Note

Do not include the config/markets.json file with your theme when submitting.


Anchor to 6. Lighthouse performance and accessibility6. Lighthouse performance and accessibility

Performance and accessibility are important factors for merchants when they choose a theme for their online store. Optimizing your theme for performance and accessibility is key to the success of the merchants that you support, and the experience of their customers.

Anchor to Lighthouse performance and accessibility requirementsLighthouse performance and accessibility requirements

When verifying performance and accessibility scores, sections must contain actual images and content. The sections can't be empty.

Anchor to Testing the performance of your themeTesting the performance of your theme

You can quickly test the performance of your theme before you submit it to the Shopify Theme Store by running performance tests against a benchmark shop. If you want to test your theme before you submit it, then refer to these performance best practices.

Anchor to Testing the accessibility of your themeTesting the accessibility of your theme

You can quickly test the accessibility of your theme before you submit it to the Shopify Theme Store by running accessibility tests against a benchmark shop. If you want to test your theme before you submit it, then refer to these accessibility best practices.


Including well-designed page types in your theme enables merchants to build all of the elements they need to run their online store.

Anchor to Layout page requirementsLayout page requirements

<html ... lang="{{ request.locale.iso_code }}">

Anchor to Product page requirementsProduct page requirements

  • product.title (not truncated)
  • variant.price
  • variant.unit_price
  • variant's compare-at price
  • product.description
  • option names and option values
  • Variants that are split up into separate options for users to select.
  • The ability to select a quantity.
  • An Add to cart button (often disabled or replaced when an unavailable variant combination, or sold-out variant, is selected).
  • A callback function to update the price, compare-at-price, and sold-out messages for the currently selected variant.
  • The first available variant loads on a page.
  • Product recommendations
  • Rich product media
  • Accelerated checkout buttons (must be enabled by default)
  • Pickup availability
  • Shop Pay Installments

The following attributes of the form object must be used:

  • form.email
  • form.name
  • form.message

The following attribute of the gift_card object must be used:

  • send_on
  • swatch.image
  • swatch.color

Anchor to Collection page requirementsCollection page requirements

  • collection.title (not truncated)
  • collection.description
  • collection.image
  • product.title (not truncated and links to product.url)
  • product.price
  • product.images
  • variant.unit_price
  • At least one piece of media for a product

Anchor to Collection List page requirementsCollection List page requirements

  • collection.title (not truncated)

Anchor to Cart page requirementsCart page requirements

  • title
  • unit_price
  • image
  • final_price
  • quantity
  • options_with_values
  • Cart notes
  • Selling plans
  • Automatic discount codes
  • Accelerated checkout buttons

  • page.title
  • page.content

Anchor to Blog page requirementsBlog page requirements

  • article.title (not truncated, links to article.url)
  • article.image
  • article.excerpt_or_content not article.content

Anchor to Article page requirementsArticle page requirements

  • article.title (not truncated)
  • article.comments
  • article.published_at (but not article.created_at)

Anchor to Search page requirementsSearch page requirements

Anchor to 404 page requirements404 page requirements

Anchor to Gift Card page requirementsGift Card page requirements

Anchor to Customer page requirementsCustomer page requirements

  • line_item.unit_price
  • Selling plans
  • Unit pricing

Anchor to Password page requirementsPassword page requirements


Anchor to 8. Consistency and functionality8. Consistency and functionality

Building a theme that functions properly and consistently ensures that merchants can rely on the quality of your theme.

All themes must meet the following functional requirements:


Anchor to 9. Browser compatibility9. Browser compatibility

Ensure that your theme lets merchants access the same information and experience across different browsers.

Anchor to Desktop browser requirementsDesktop browser requirements

A theme's layout, browsing experience, and purchasing actions must support the following desktop browsers and releases:

Anchor to Mobile browser requirementsMobile browser requirements

A theme's layout must meet the following mobile browser layout requirements:

A theme's layout, browsing experience, and purchasing actions must support the following mobile browsers and releases:

Anchor to Webviews and other application requirementsWebviews and other application requirements

Themes must support browsing and purchasing actions when rendered in webviews for the following applications:


All themes must meet the following requirements, so their assets are delivered by the Shopify platform in an optimal manner.


Anchor to 11. Search engine optimization (SEO)11. Search engine optimization (SEO)

Effective SEO helps you build better relationships with your audience, improve the merchant experience, and drive more people to your theme.

All themes must meet the following SEO requirements:

Learn more about SEO best practices.


Accessibility for your theme is essential to providing an inclusive experience for both merchants and customers. An accessible theme is designed so that it can be used by everyone, including people with vision impairment.

All themes must meet the following accessibility requirements:

Learn more about accessibility best practices.


Social media links help merchant grow their followers.

All themes must meet the following requirements for social media:


It's important to organize and name things in a way that won't confuse merchants who are building a store with your theme. Using clear, simple names and a simple setting structure for elements such as sections and presets makes your theme easier to use and navigate.

Anchor to Theme editor event requirementsTheme editor event requirements

Anchor to Text style requirementsText style requirements

Use thisDon't use this

Logo position on large screens

  • Middle left
  • Top left
  • Top center

Logo position on large screens

  • Position 1
  • Position 2
  • Position 3

Theme sections

  • Collage
  • Image banner
  • Image with text

Theme sections

  • Image 1
  • Image 2
  • Image 3
  • Use "Horizontal position" or "Vertical position" instead of "X position" or "Y position".
  • Use "Button label" instead of "CTA label".
Use thisDon't use this
canceledcancelled
catalogcatalogue
center, centeredcentre, centred
colorcolour
customizecustomise
dialogdialogue
graygrey
organizeorganise
Use thisDon't use this
Use a custom logoUse a custom logo?
Technical specificationFormatExample
Image size[numeral] x [numeral]px (required/recommended)64 x 64px required
Image size with format[numeral] x [numeral]px [.format] (required/recommended)1200 x 300px .jpg recommended
Word / character count[numeral] words (max)32 words max
Text formatUse basic HTML to format text

Anchor to Terminology requirementsTerminology requirements

Use thisDon’t use this
home pagehomepage
top barmeta-nav, search bar
bottom barbelow footer, legal
slideshowslider
checkout
(when naming settings)
check out
headingtitle
subheadingsub-heading
body textmain text
signupsign-up, sign up
faviconshortcut icon, website icon
sidebarside bar
button labelbutton name
social media
(when naming sections or settings)
social, social sharing
social media iconssocial media buttons
navigation
(to refer to all navigational elements)
menus, menu
main menu
(to refer to primary navigational element)
navigation, menu
secondary menu
(to refer to secondary navigational element)
navigation, menu
footer menu
(to refer to a menu located in the footer)
navigation, menu
cart type
(with "drawer", "page", and/or "modal" options)
Ajax, Ajaxify, Ajax cart
.pngPNG, png, .PNG
use
(for actionable options that include a next step, such as uploading a file)
show, enable
show
(for options that allow the merchant to show or hide a basic element)
use, enable
enable
(for options related to apps or plugins, or something that will significantly modify the theme layout)
use, show

Anchor to Section name guidelinesSection name guidelines

Each section in a theme needs a name. Section names appear in the section picker and in the sidebar listing the sections in a template.

Section example

Section names should relate to the section's function, for example Header, Product list, Slideshow, or Image gallery.

Refer to Shopify's theme terminology list to make sure that you name sections using the right Shopify terms.

Anchor to Suggested section namesSuggested section names

  • Header
  • Featured products
  • Featured collections
  • Slideshow
  • Image gallery
  • Logo list
  • Newsletter
  • Map
  • Blog posts
  • Testimonials
  • Footer

Anchor to Section preset guidelinesSection preset guidelines

Section presets are predefined configurations of sections that merchants start with when adding content.

Section preset example

Preset names should relate to the type of content in the preset, for example Image and text, Map, Columns, or Blog articles.

Refer to Shopify's theme terminology list to make sure that you name presets using the right Shopify terms.

Anchor to Content placeholdersContent placeholders

If your preset features images, videos, or icons, then you should display placeholder content so that the merchant can get a better idea of how the content looks before they add their own media.

In your presets, use the following content placeholders:

Type of contentPlaceholder
Images that aren't products or collections
Adjacent images without margins
Image icon
Lists of logosLogo icon
Slideshows
Images with overlaid text
Full-width images
Lifestyle image
VideosDefault YouTube video ID

Font picker fields can be used to capture a font selection for various theme elements, such as the base heading font.

Font pickers must have the following settings:

Learn more about setting fonts.


Selecting the right foreground and background colors enhances the effectiveness of your theme.

Learn more about color system best practices.


Anchor to 17. Responsive images17. Responsive images

Responsive images are important to the user experience. With the shift to smaller devices, developers face new challenges to ensure that images load quickly, regardless of screen size.

All themes must meet the following image requirements:


Anchor to 18. Naming themes and theme presets18. Naming themes and theme presets

Choose clear and unique names for your theme and presets when submitting to the Theme Store. Good names help merchants quickly identify and understand your theme.

Anchor to Theme and preset naming requirementsTheme and preset naming requirements

Anchor to Theme and preset name guidelinesTheme and preset name guidelines

Use the following guidelines to help you choose the right name for your theme and presets:

  • Summarize, or allude to, the purpose of the theme preset.
  • Give the merchant an idea of what to expect when using the theme preset, the core ideas behind the preset, and the preset's target demographic.
  • Use a noun for the name. Nouns are more suitable for creating product names that stick, have identity, and create a lasting impression. A noun can better define the focus of the theme, and offer a better understanding of the shopping experience being offered.
  • Use a name that's easy to spell and pronounce. This will help merchants with recall and search.
  • Work across different dialects. Since some words and phrases can have different meanings in different regions, you should consult with an idiom dictionary.
  • Use a name that's different from theme names on different platforms.

Anchor to Increasing clarity and discoverabilityIncreasing clarity and discoverability

For clarity and discoverability, consider the following guidelines when naming your theme and preset:

  • Don't use trendy names. Trends fade, and theme names should transcend trends.
  • Don't use unusual spellings. Not only are unusual spellings more difficult to remember, but they’re also more susceptible to autocorrect errors, and they limit discoverability by merchants.
  • Don't use lengthy names. Even if you’re trying to be descriptive, creating a long name can hurt a merchant’s ability to remember what your theme is called.
  • Don't use the same name as a theme on a different platform.
  • Don't use the same name as an existing theme and preset name.

Anchor to Adding presets to your theme zip submissionAdding presets to your theme zip submission

If you have more than one preset, you need to include a unique set of templates showcasing each preset. The contents of these templates should be similar to the demo store it is associated with.

Preset templates need to be included in a /listings folder in your theme zip. See the following example of a theme with two presets:

Shopify theme preset file structure

.
├── assets
├── blocks
├── config
├── layout
├── locales
├── listings
├── preset-name-one
└── templates
└── *.json
└── sections (optional)
└── *.json
└── another-preset-name
└── templates
└── *.json
└── sections (optional)
└── *.json
├── sections
├── snippets
└── templates

Note If you only have one preset, you do not need to include the /listings folder.

You can optionally include preset-specific section groups under a /sections folder under your preset listing folders. To learn more about how theme zips should be structured, refer to the themes architecture documentation.

For a more detailed example of how to structure presets in your theme zip, refer to this best practices page.


Anchor to 19. Theme versions and release notes19. Theme versions and release notes

Theme versions help merchants easily identify which theme they have, so that they can determine which features are available, or if there are more recent versions to update to.

When you submit your theme to the Shopify Theme Store, either for the first time or for an update, the theme needs to have a version number and release notes that highlight the main features of the version.


Setting up a demo store is a great way to showcase your theme's features and functionality, and to provide merchants with real-world examples of how they can use your theme. A demo store that's beautifully designed and functions flawlessly lets merchants explore and interact with your theme, and helps them understand if your theme is right for them.

To build your demo store, you can use a Shopify development store free of charge.

Development stores with developer previews enabled can't be transferred. Don't enable any developer previews when creating demo stores.

Anchor to Demo store requirementsDemo store requirements

  • Don't use embedded text or buttons in images, except for the text on physical products, infographics, badges, or instagram images.
  • Don't use animated gif images in places where they can be mistaken for theme functionality.
  • Don't use apps. In some cases, special consideration applies to free product review apps and free translation apps. If you're showcasing multi-language options using translation apps, then all content must be translated.

Anchor to Demo store recommendationsDemo store recommendations

When designing your demo store, consider the following recommendations to help you showcase the full potential of your theme. The following recommendations aren't mandatory requirements that need to be met for submission.

  • Identify the source of any product images used in the product description.
  • Use the latest version of your theme in your demo store.
  • Incorporate built-in Shopify features to showcase the power and capabilities of your theme.
  • Illustrate the versatility and variability of your theme, by including examples such as a product that's on sale, a sold-out product or variant, a product with multiple variants, and a gift card product.

Anchor to 21. Documentation and contact forms21. Documentation and contact forms

Having clear, detailed, and accessible information about your theme helps merchants feel supported and helps to reduce support issues. Creating organized and effective documentation is important to your overall success as a Theme Partner.

Anchor to Documentation and contact form requirementsDocumentation and contact form requirements

Anchor to Merchant-facing theme documentationMerchant-facing theme documentation

You need to keep your documentation up to date as changes occur within Shopify and you update your theme. As you support merchants using your theme, be sure to identify any gaps in your theme documentation and make updates as necessary.

Your theme documentation should include an FAQ section and any other relevant information that you feel could help address potential support questions that merchants might have.

Anchor to Clear support policyClear support policy

Consider specifying your support policy in your theme documentation. As a Theme Partner, you must support bug fixes and answer any merchant questions regarding your theme. You might want to provide additional services to merchants such as customizations, app-integrations, and help with theme updates, but you can't include these services in the cost of your theme.

Anchor to Clarity on custom two-column MDX tutorialsClarity on custom two-column MDX tutorials

If you offer custom coding tutorials in your documentation, then specify whether the custom tutorials are supported. Also, include a warning to merchants in your tutorials that they should duplicate their theme before editing their code, and include a suggestion that merchants hire a Shopify Partner for help.

Your contact form lets merchants contact you. You should include your contact form in your theme documentation. If you use a modal for your contact form, then make sure that it's mobile friendly and linkable from the Theme Store. Try to avoid fields that ask merchants about budget, phone numbers, project type, or other unnecessary questions. You can have a form outlining your agency work on a separate page, but the contact form that you link to from the Theme Store should comply with the following guidelines.

FieldGuideline
(First and Last) Name Field
Email Address Field
Store URL FieldInclude an example URL for clarity, such as http://www.storename.myshopify.com.
Description of Problem FieldThis should be a text-area field.
File Upload FunctionAllow merchants to highlight their issues with images.
Auto-responder FunctionThe auto-responder is triggered when the contact form is submitted to reduce the amount of merchants contacting Shopify and Theme Partners asking if their support requests have been received.
Theme NameProvide the theme name if you offer multiple themes.
SubjectIf you include this field, then it should auto populate the email subject line.

Anchor to 22. Supporting your theme22. Supporting your theme

As a Theme Partner, you're responsible for supporting merchants who use your theme. Being merchant-focused, providing quality support, and having a collaborative attitude with Shopify is essential for the success of your theme.

Merchant support requests are submitted through your contact form, which you should link to from the Shopify Theme Store and your theme documentation.

Anchor to Merchant support requirementsMerchant support requirements

Anchor to Tips for improving the merchant installation experienceTips for improving the merchant installation experience

  • Make sure your .json files don't include resources specific to your demo store admin (for example, custom metafields or URLs starting with shopify://).
  • For link_list settings in the Header or Footer, always set a default value of main-menu or footer, depending on the location of the setting.
  • When providing default values for resource-based settings (such as products), make sure the referenced resources exist in all stores.
  • For metaobject and metaobject_list settings, only standard definitions can be used as the metaobject_type. Custom or app-owned definitions aren't supported.

Anchor to Estimating the support workloadEstimating the support workload

Being a Theme Partner is a full-time job, and supporting merchants who use your theme is a large part of that. All of our current Theme Partners have dedicated support teams working for them. If you become a Theme Partner, then you’ll need to consider how to balance Theme Partner work with any other jobs that you're currently doing. New Theme Partners typically underestimate the amount of time that they'll need to allocate to support.

To understand how much effort is required to support a theme, Shopify merchants currently generate thousands of support tickets each month for the paid themes in the Shopify Theme Store, and support requests continue to grow as more merchants join the platform.


Was this page helpful?