Open-source project
Shopify/dawn avatar
Shopify/dawn

Shopify Dawn: the reference theme you fork, not the theme you install

Shopify's first source available reference theme, with Online Store 2.0 features and performance built-in.

3,091 stars4,492 forksLiquidNOASSERTION

At a glance

What is it?
Dawn is Shopify's source available reference theme, built on Online Store 2.0 and a HTML-first, JavaScript-only-as-needed approach. It is a starting point for theme developers, not a finished storefront.
Who is it for?
Adopt Dawn if you are a theme developer who wants a server-rendered Liquid base and intends to fork it, keep an upstream remote, and run shopify theme check on your own changes. Do not adopt it if you want a finished storefront you configure once, or if you are submitting to the Theme Store without making the theme substantively different from Dawn, since the store requirements rule that out.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 50 days ago.
What is it written in?
Mainly Liquid, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What problem Dawn solves, and who it is actually for

Dawn exists to give Shopify theme developers a working base instead of a blank slate. The README describes it as Shopify's first source available theme, with performance and Online Store 2.0 features built in, and says it acts as a reference for building Shopify themes. That framing matters. A reference theme is documentation you can run: sections, snippets, templates, locales and config are all present in the repository, so you can read how a Shopify theme is expected to be structured rather than infer it.

The intended audience is narrow. The README recommends using Dawn as a starting point for theme development, and points to Shopify.dev for the getting started path. If you are a merchant looking for a theme to install and configure, Dawn is not aimed at you in this repository. The README states plainly that the stable version of Dawn is available in the theme store, and that the main branch may include code for features not yet released. Those are two different artifacts with two different audiences.

There is a second constraint on who can use it commercially as-is. The README says that if you are building a theme for the Shopify Theme Store you can use Dawn as a starting point, but the theme you submit needs to be substantively different from Dawn so that it provides added value for merchants. Dawn is a floor, not a product.

HTML-first and server-rendered: the mechanism behind Dawn

The architecture is stated as a set of principles rather than a diagram. Dawn is server-rendered: HTML is rendered by Shopify servers using Liquid, and the README says business logic and platform primitives such as translations and money formatting do not belong on the client. Async and on-demand rendering of parts of the page is allowed, but the README says it is done sparingly as a progressive enhancement. So the data flow is Liquid on the server producing markup, with JavaScript layered on top rather than driving the page.

The repository layout reflects that. Liquid lives in layout/, sections/, snippets/ and templates/, with assets/, config/ and locales/ alongside them. A theme-check configuration sits at the top level as .theme-check.yml, and there is a release-notes.md file tracking what changed between versions.

The second principle is progressive enhancement without polyfills. The README says themes run on the evergreen web and that Dawn supports older browsers through progressive enhancement rather than polyfills. In practice that means modern CSS and browser APIs are used directly, and older engines get a functional but plainer page. The third principle is functional, not pixel-perfect: semantic markup and clever design are preferred over making every engine render identically. That is a real design stance and it has costs, which the limitations section below covers.

Cloning Dawn and running your first theme check

The README does not give a clone command, but it does describe the workflow for building on Dawn while keeping the ability to pull in later changes. The mechanism is a second git remote named upstream pointing at the Shopify repository.

Start by verifying which remotes your theme folder already has. The README shows this command and says you should see both an origin and an upstream in the output:

sh
# in your local theme folder
git remote -v

If upstream is missing, add it. The README gives this exact URL:

sh
git remote add upstream https://github.com/Shopify/dawn.git

From then on, pulling Dawn changes into your fork is a fetch followed by a pull of main:

sh
git fetch upstream
git pull upstream main

The README does not document how to resolve the conflicts that will appear once you have edited files Dawn also changes. Expect them, particularly in sections/ and snippets/, which are the files a fork touches most.

For local development, the README points at Shopify CLI rather than listing commands itself, and describes it as bundling commands for creating, publishing and deleting themes on a store as well as launching a development server. It links a quick start guide on shopify.dev for the actual syntax. What the README does show directly is linting. Theme Check is recommended for validating Shopify themes, and the terminal invocation is:

bash
shopify theme check

Dawn also lists the Theme Check VS Code extension in .vscode/extensions.json, so opening the repository in VS Code prompts you to install it.

What Dawn deliberately does not do

The README states the design rule directly: functionality and design default to no until they meet a requirement, and themes should not support each and every feature in Shopify. That is the source of most of the friction reported by people who expect a configurable theme. Features that other themes ship as settings are simply absent, and adding them is your work, not a toggle.

The progressive enhancement stance has a second consequence. Because Dawn does not ship polyfills, an older browser gets the functional version of the page, not the designed one. If your storefront's audience skews toward older devices, or if a client expects layout parity across engines, the pixel-perfect principle is working against you. The README is upfront that the web does not require each page to be rendered pixel-perfect by each browser engine. That is a defensible position and also a constraint you inherit.

The third limitation is the one that catches people who treat the repository as the product. The README warns that the main branch may include code for features not yet released, and that the stable version is available in the theme store. If you fork main and ship it to a live store, you are running unreleased code. There is no rollback procedure in the README for a theme you have already published, and the upgrade path it documents is a git pull, which is a merge, not a version pin.

Finally, Dawn is not a Theme Store submission in itself. The README links the uniqueness requirement and says the submitted theme needs to be substantively different from Dawn. Submitting a lightly recoloured Dawn is not a path to becoming a theme partner.

Dawn compared with Horizon, and what the comparison actually changes

The related search data shows people comparing Dawn with Horizon, another Shopify theme. The README describes only Dawn, so the honest difference to draw is structural rather than feature-by-feature. Dawn is presented as a reference implementation: source available, with the repository laid out so you can read the conventions, and with a documented way to pull upstream changes into your own fork. The README's own framing is that you use it as a starting point. A theme you install from the Theme Store, by contrast, is consumed as a finished artifact and customised through the editor.

That distinction determines which one you want. If your job is to produce a custom storefront with its own sections and Liquid logic, Dawn gives you the conventions and the linting setup to do it, at the cost of owning the merge. If your job is to launch a store this month with a theme you configure, the repository is the wrong entry point; the README itself points at the theme store for the stable version.

Shopify CLI is the other comparison worth naming, though it is a tool rather than a rival theme. Dawn is set up to work with it, and it is what you use to create, publish and delete themes on a store and to run a local development server. Dawn supplies the code; the CLI supplies the workflow around it.

Maintenance, upgrades and the licence question

The repository is not archived, and the last push was on 2026-08-10. Releases are tagged: v16.0.0 on 2026-08-10, v15.5.0 on 2026-06-19, and v15.4.1 on 2025-12-04. The gap between v15.4.1 and v15.5.0 is roughly six months, which tells you the cadence is not monthly. If your fork tracks main, you are absorbing changes on that rhythm plus whatever lands between releases.

The upgrade cost is the merge. The README's documented flow is git fetch upstream followed by git pull upstream main, and it does not describe a rebase strategy, a patch series, or any way to isolate your changes from Dawn's. Every file you edit that Dawn also edits becomes a conflict you resolve by hand. Keeping customisations in separate files, and overriding section behaviour rather than rewriting it, is the only mitigation the repository structure offers, and the README does not state that as guidance.

The licence is the open question. The repository metadata reports NOASSERTION, and the README says only that the copyright is Shopify Inc. and that details are in LICENSE.md. It does not summarise the terms, so the terms are in that file and nowhere else. Read LICENSE.md before you build a commercial theme on this base, and if the terms are unclear to you, that is a question for a lawyer rather than for a README. Nothing here should be read as legal advice.

Editorial conclusion

Adopt Dawn if you are a theme developer who wants a server-rendered Liquid base and intends to fork it, keep an upstream remote, and run shopify theme check on your own changes. Do not adopt it if you want a finished storefront you configure once, or if you are submitting to the Theme Store without making the theme substantively different from Dawn, since the store requirements rule that out. Before you commit, verify the licence terms in LICENSE.md, confirm which Dawn version the Theme Store currently serves as stable, and check whether the main branch code you are reading is for a feature that has not been released yet.

Frequently asked questions

Is Shopify Dawn a 2.0 theme?

Yes. The README describes Dawn as Shopify's first source available theme with performance, flexibility and Online Store 2.0 features built in, and links Shopify's own explanation of Online Store 2.0.

What are the differences between the Shopify themes Horizon and Dawn?

The README covers Dawn only, so it cannot describe Horizon. What it does establish is Dawn's own position: a source available reference theme that the README recommends as a starting point for theme development, with the stable version available in the theme store.

How do I use the Dawn theme on Shopify?

The README recommends using Dawn as a starting point for theme development and points to Shopify.dev for the getting started path, and it notes that the stable version of Dawn is available in the theme store. Local development is done through Shopify CLI, which the README says bundles commands for creating, publishing and deleting themes on a store and for launching a development server, with a quick start guide linked on shopify.dev.

What is the recommended banner size for Shopify Dawn?

The README does not specify a banner size or any image dimensions. It states only that themes should be functional rather than pixel-perfect, so image sizing is not addressed in the documentation.

What is the most used Shopify theme?

The README does not make any claim about which Shopify theme is most used, and it gives no usage figures. It describes Dawn as Shopify's first source available reference theme with Online Store 2.0 features built in.

Official sources

  1. Issues
  2. README
  3. Releases
  4. Shopify/dawn on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/shopify-dawn.svg)](https://hysenlabs.com/projects/shopify-dawn)