Theme development
Dawn vs Horizon: which Shopify theme should you build on in 2026?
A developer's decision guide to Dawn vs Horizon in 2026. The real architectural differences (theme blocks, nested blocks, web components), what each is good at, and a clear recommendation on which one to fork and learn.
Bas Lefeber
Founder, learnshopify.dev · June 19, 2026 · 7 min read
If you are starting a new Shopify theme project in 2026, the first real decision is which reference theme to build on. For years the answer was easy: fork Dawn, Shopify's free flagship and the original Online Store 2.0 reference theme. Then Shopify shipped Horizon, a new-generation theme built on theme blocks, and the question reopened. This post is the developer's version of that decision: not the marketing pitch, but what actually changes in the code you write and maintain.
TL;DR
For a new store or a new build in 2026, start on Horizon. Its theme-block architecture is where Shopify is investing, it is the foundation for the AI store-builder, and it is the skill worth having. Stay on Dawn when you are maintaining an existing Dawn store (migration is a rebuild, not a switch) or when you want the simplest, most-documented codebase to learn the fundamentals on. Dawn is still maintained, so this is not a "Dawn is dead" call: it is a "build new things on Horizon" call.
What each theme actually is
Dawn is Shopify's original Online Store 2.0 reference theme. It introduced JSON templates, sections everywhere, and the section-and-block model that every OS 2.0 theme has used since. It is lightweight, heavily documented, and the codebase most tutorials, agencies, and Stack Overflow answers assume. If you have read a Shopify theme before, you have read Dawn.
Horizon is Shopify's newer reference theme, announced in May 2025 as part of the Summer Editions and built on theme blocks. It ships as a family of related themes and is the foundation Shopify is building its AI store-generation features on. Architecturally it is still Online Store 2.0 (JSON templates, sections, Liquid), but it leans on two newer capabilities that Dawn barely touches: reusable, nestable theme blocks and a storefront built largely from web components.
Note
Multiple agency write-ups report that Horizon is now the default theme assigned to newly created stores, with Dawn still offered as an option. Shopify's own developer docs do not state this in those words, so treat "the default" as widely-reported rather than an official quote. What is not in doubt: Horizon is the theme Shopify is actively investing in and the one its AI store-builder generates.
The architectural difference that matters: theme blocks
The headline difference is not visual, it is structural. In Dawn, blocks are defined inside the section that uses them. A block belongs to one section, lives in that section's schema, and cannot be reused elsewhere. The page is a flat stack: section, then a shallow layer of blocks inside it.
Horizon uses theme blocks: blocks defined as their own Liquid files in the /blocks folder, reusable across any section, and nestable inside one another. A section opts in by adding "@theme" to its schema and rendering children with {% content_for 'blocks' %}. That is the official, documented model, not a Horizon-only trick. The practical result is that a hero can contain a group, which contains a heading, text, and buttons, each an independent, reorderable block the merchant configures in the editor.
{% content_for 'blocks' %} {% schema %}{ "name": "Custom section", "blocks": [{ "type": "@theme" }], "presets": [{ "name": "Custom section" }]}{% endschema %}- Dawn block: scoped to one section, declared inline in that section's schema, not reusable.
- Horizon theme block: its own file in
/blocks, reusable across sections, and able to contain other blocks. - Reported nesting depth in Horizon is several levels deep (commonly cited as up to eight) versus Dawn's effectively single layer. Shopify's docs confirm nesting exists but do not publish a fixed maximum, so treat the exact number as secondary-source detail.
If theme blocks, sections, and the editor model are new to you, the sections and blocks explainer walks through the primitives before you have to choose a theme to apply them to.
Web components on the storefront
Dawn's interactive behaviour is a set of custom elements and JavaScript files loaded fairly globally. Horizon pushes harder on web components: the variant picker, media gallery, cart drawer, and predictive search are largely self-contained custom elements with their own scoped markup and behaviour. For a developer this is mostly good news. Custom code lives inside a block file with its own schema, its scoped {% stylesheet %}, and its isolated {% javascript %}, instead of being threaded through shared global assets. Components are easier to reason about in isolation and harder to break by accident.
The trade-off is a steeper learning curve. There is more indirection, the data attributes a stock component expects are a contract you have to honour, and the patterns are newer, so there is less Stack Overflow lore to lean on. You will read the Horizon source more often than you read tutorials.
Performance
Both themes start from a strong baseline. Dawn was built to be fast and minimal, and a clean Dawn store scores well out of the box. Horizon's component model can help performance by scoping CSS and JS to the blocks that actually render, rather than shipping one large bundle, but the win is not automatic. A heavily customised Horizon store with many nested blocks and apps can be slower than a lean Dawn store.
Tip
Do not pick a theme on a performance promise. The single biggest lever on a real store's Core Web Vitals is what you and the merchant add on top: apps, third-party scripts, oversized images, and render-blocking embeds. Measure the actual store with PageSpeed Insights or the theme inspector, not the empty demo.
When to pick which
Pick Horizon when
- You are building a new store or a fresh theme in 2026 and want to be on the platform's current direction.
- The merchant will edit the site themselves and you want deep, reusable, nestable blocks they can rearrange without you.
- You expect to use, or compete with, Shopify's AI store-builder, which generates Horizon.
- You are investing in skills: theme blocks and the component model are what new Shopify theme work increasingly assumes.
Stay on Dawn when
- You already run a customised Dawn store. Moving to Horizon is a manual rebuild, not a one-click update. The block models are different enough that settings do not translate cleanly, and several agencies estimate tens of hours for a moderately customised store. Migrate on purpose, not by default.
- You want the simplest, best-documented codebase to learn theme fundamentals on before adding the extra concepts Horizon introduces.
- You need a pattern that is widely covered by existing tutorials and community answers today.
The 2026 verdict
Build new on Horizon. It is where Shopify is investing, it is the basis of the AI store-builder, and the theme-block model is the skill that compounds: reusable blocks, nested structure, scoped components. That is the architecture new Shopify theme work is converging on, and learning it now is the durable bet.
This is not a eulogy for Dawn. Dawn is still maintained, still a fine starting point, and still the cleanest place to learn the fundamentals that both themes share: templates, sections, the object model, Liquid filters. The honest framing is sequencing, not loyalty. Learn the fundamentals (Dawn is great for that), then build production work on Horizon. For the wider context of where Shopify took the platform this year, the Spring 2026 Edition for developers recap covers the rest of the picture, and the color scheme setting post shows one editor pattern both themes share.
Learn this properly · free lesson
The shape of a theme: where everything lives
The fastest way to decide between Dawn and Horizon is to understand theme architecture firsthand. Learn it in the browser, free: map out where templates, sections, blocks, and snippets live, against a real theme, with a reviewer checking your work.
Try this lesson — freeWrapping up
Dawn and Horizon are both Online Store 2.0, both free, both Shopify reference themes. The split that matters is the block model: Dawn's flat, section-scoped blocks versus Horizon's reusable, nestable theme blocks plus a web-component storefront. New build, learn and ship on Horizon. Existing Dawn store, stay until a migration is worth the rebuild. Either way, the fundamentals underneath, templates, sections, and the object model, are the same skills, and they are the ones worth getting right first.
Frequently asked questions
Is Horizon replacing Dawn in 2026?
Horizon is Shopify's newer flagship reference theme and the one Shopify is actively investing in, including as the basis for its AI store-builder. Multiple agency reports say it is now assigned to new stores by default, with Dawn still offered as an option. Dawn is still maintained, so Horizon is the recommended starting point for new builds rather than a forced replacement.
What is the main difference between Dawn and Horizon for developers?
The block model. In Dawn, blocks are defined inside a single section and cannot be reused. In Horizon, theme blocks are standalone Liquid files in the /blocks folder that are reusable across sections and can be nested inside one another, with sections opting in via "@theme" and {% content_for 'blocks' %}. Horizon also leans more heavily on web components for storefront behaviour.
Can I migrate a Dawn store to Horizon?
Not with one click. The block architectures are different enough that settings and customizations do not translate cleanly, so a migration is effectively a manual rebuild. Agencies report tens of hours for a moderately customized store. Treat it as a planned project, not a routine theme update.
Should I learn Dawn or Horizon first?
Learn the fundamentals both themes share first: templates, sections, the Liquid object model, and filters. Dawn is the cleanest, best-documented codebase for that. Then build production work on Horizon, where the theme-block and component model is the architecture new Shopify theme work increasingly assumes.
On the launch list
Get updates on the platform.
Same waitlist as the homepage. New posts plus a heads-up when v1 launches. No drip, no spam.
About the author
Bas Lefeber, Founder, learnshopify.dev
Bas builds learnshopify.dev, where developers learn production-grade Shopify theme development against a live storefront. He writes about Liquid, theme architecture, and the parts of the job that still matter now that AI writes the code.
Keep going in the curriculum
