Getting started | Staying up to date with Horizon changes | Developer tools | Contributing | License
Horizon is the flagship of a new generation of first party Shopify themes. It incorporates the latest Liquid Storefronts features, including theme blocks.
- Web-native in its purest form: Themes run on the evergreen web. We leverage the latest web browsers to their fullest, while maintaining support for the older ones through progressive enhancement—not polyfills.
- Lean, fast, and reliable: Functionality and design defaults to “no” until it meets this requirement. Code ships on quality. Themes must be built with purpose. They shouldn’t support each and every feature in Shopify.
- Server-rendered: HTML must be rendered by Shopify servers using Liquid. Business logic and platform primitives such as translations and money formatting don’t belong on the client. Async and on-demand rendering of parts of the page is OK, but we do it sparingly as a progressive enhancement.
- Functional, not pixel-perfect: The Web doesn’t require each page to be rendered pixel-perfect by each browser engine. Using semantic markup, progressive enhancement, and clever design, we ensure that themes remain functional regardless of the browser.
We recommend using the Skeleton Theme as a starting point for a theme development project. Learn more on Shopify.dev.
To create a new theme project based on Horizon:
git clone https://github.com/Shopify/horizon.gitInstall the Shopify CLI to connect your local project to a Shopify store. Learn about the theme developer tools available, and the suggested developer tools below.
Please note that the main branch may include code for features not yet released. You may encounter Liquid API properties that are not publicly documented, but will be when the feature is officially rolled out.
If you're building a theme for the Shopify Theme Store, then do not use Horizon as a starting point. Themes based on, derived from, or incorporating Horizon are not eligible for submission to to the Shopify Theme Store. Use the Skeleton Theme instead.
Say you're building a new theme off Horizon but you still want to be able to pull in the latest changes, you can add a remote upstream pointing to this Horizon repository.
- Navigate to your local theme folder.
- Verify the list of remotes and validate that you have both an
originandupstream:
git remote -v- If you don't see an
upstream, you can add one that points to Shopify's Horizon repository:
git remote add upstream https://github.com/Shopify/horizon.git- Pull in the latest Horizon changes into your repository:
git fetch upstream
git pull upstream mainThere are a number of really useful tools that the Shopify Themes team uses during development. Horizon is already set up to work with these tools.
Shopify CLI helps you build Shopify themes faster and is used to automate and enhance your local development workflow. It comes bundled with a suite of commands for developing Shopify themes—everything from working with themes on a Shopify store (e.g. creating, publishing, deleting themes) or launching a development server for local theme development.
You can follow this quick start guide for theme developers to get started.
We recommend using Theme Check as a way to validate and lint your Shopify themes.
We've added Theme Check to Horizon's list of VS Code extensions so if you're using Visual Studio Code as your code editor of choice, you'll be prompted to install the Theme Check VS Code extension upon opening VS Code after you've forked and cloned Horizon.
You can also run it from a terminal with the following Shopify CLI command:
shopify theme checkYou can follow the theme check documentation for more details.
Horizon runs Theme Check on every commit via Shopify/theme-check-action.
We are not accepting contributions to Horizon at this time.
Copyright (c) 2025-present Shopify Inc. See LICENSE for further details.