TL;DR - For the vast majority of Shopify stores, Liquid theme development on Online Store 2.0 is the correct choice: faster to launch, cheaper to maintain, compatible with the app ecosystem, and editable by your marketing team. The real decision is not "Liquid or Hydrogen" - it's Liquid or headless first, and Hydrogen, framework, and hosting second. Going headless (with Hydrogen tooling or otherwise) earns its keep only when you hit a specific ceiling: content architecture Liquid can't express, a front-end team that ships React, or interactive product experiences a templating language can't support. It doesn't automatically make your store faster, and it never lets you control the one surface that matters most: checkout. This is the Shopify theme development decision framework for where that line actually sits.
Ask ten agencies whether you should build your Shopify store in Liquid or go headless with Hydrogen, and you'll get ten answers shaped by what that agency likes to build. The React shop pushes Hydrogen. The theme shop pushes Liquid. Neither answer starts from your store.
This article does. The Liquid-versus-Hydrogen decision is not a taste question - it's an architecture question with a fairly sharp line, and most stores sit clearly on one side of it. The problem is that the line gets drawn by the wrong people, using the wrong criteria, at the wrong stage. Let's draw it properly.
This article is for:
- Founders and store owners deciding how to build or rebuild a Shopify storefront
- Teams being sold a headless rebuild and unsure whether they actually need one
- Developers scoping a Shopify project who want a defensible reason to pick one path over the other
This article is NOT for:
- A Liquid or React tutorial - this is about the decision, not the syntax
- Merchants who just need a paid theme installed and lightly customised; you're firmly in Liquid territory and this is settled
- Shopify Plus enterprises with an in-house platform team already running headless; your constraints are different and you know them
What "Liquid" actually means in 2026
The first mistake is arguing about 2015 Liquid. The Liquid people dismiss as "just a templating language" is not the platform you'd actually build on today.
Liquid is Shopify's server-side templating language - Shopify renders your HTML on its own infrastructure and returns it to the browser. That much hasn't changed. What changed is everything around it. Online Store 2.0, released in 2021, rebuilt the theme architecture:
- JSON templates and sections everywhere. Every page - not just the homepage - is composed of sections that can be added, removed, and reordered in the theme editor. Content structure is no longer hard-coded into templates.
- Metafields and metaobjects. Structured, custom content (size charts, ingredient lists, spec tables, custom content types) lives in Shopify natively and renders in Liquid. A lot of what used to require a headless build to model cleanly now has a first-class home in the admin.
- App blocks. Apps integrate into themes as drag-and-drop blocks, no code injection required. This is the quiet backbone of the app ecosystem, and it's a bigger deal than it sounds - we'll come back to why.
- Dawn, Shopify's reference theme, is the OS 2.0 baseline: lean, accessible, server-rendered, and the starting point for most serious custom theme work.
So when we say "Liquid theme development," we mean building on this stack: Dawn or a bespoke OS 2.0 theme, structured content in metafields and metaobjects, functionality through app blocks and custom Liquid sections, JavaScript layered on top where you need interactivity. It's a mature, capable platform - not a compromise.
What Hydrogen actually is (and why the "vs" is misleading)
Hydrogen is Shopify's toolkit for building headless storefronts. "Headless" means you decouple the front-end from Shopify's rendering: instead of Shopify serving your HTML, you build a custom front-end that pulls data from Shopify through the Storefront API (GraphQL) and renders it yourself. That much is stable. What Hydrogen is, precisely, has been moving.
- The established stable stack is an opinionated headless setup built on React Router (its earlier Remix foundation folded back into React Router), designed to pair closely with Shopify's APIs and commonly deployed on Oxygen - Shopify's edge hosting, available at no extra cost on eligible paid plans. It can also be hosted elsewhere. It's wired to the Storefront API for products, collections, cart, and customer data.
- In June 2026, Shopify announced a developer preview of a rebuilt Hydrogen that is framework-agnostic and runtime-agnostic - a toolkit of commerce primitives you can use inside Next.js, React Router, SvelteKit, Astro or Nuxt, hosted on Oxygen, Vercel, Cloudflare Workers, Node, or Deno. For production decisions today, the React Router-based stable stack remains the recommended path; the framework-agnostic version is still a developer preview, not yet the default production recommendation.
That second bullet matters because it breaks the framing the article's own title trades on. Under Shopify's new direction, Hydrogen and Next.js are no longer necessarily competing choices - you can use Hydrogen's tooling inside a Next.js storefront. "Liquid vs Hydrogen" is how people search for this decision, but it's shorthand for the decision that actually determines your cost, timeline, and maintenance burden:
Liquid or headless first. Hydrogen, framework, and hosting second.
So think in two architectural doors, not three:
- Liquid on Online Store 2.0 - Shopify renders your storefront. One door.
- Headless - you render the storefront yourself from the Storefront API. Inside this door, Hydrogen tooling, React Router, Next.js, Oxygen, and Vercel are implementation choices, not separate strategies.
Most "should we use Hydrogen?" conversations are really "should we go headless at all?" - and the honest answer for most stores is no. Get that decision right first. Which Hydrogen stack, which framework, and which host only matter once you've decided headless is warranted at all.
Where the line actually sits
The line isn't about store size or revenue. We've built lean Liquid themes for eight-figure brands and seen pre-revenue startups burn their runway on a headless rebuild they didn't need. The line is about whether you hit one of a small number of specific ceilings.
Consider going headless when at least two of these are genuinely true:
1. Your content architecture outgrows what Liquid can express. You're marrying commerce with a serious editorial operation - a Sanity or Contentful CMS, complex nested content, content that's reused across a web app and the storefront. When the store is 40% content platform and 60% shop, Liquid's page model starts to strain and a React front-end with a dedicated CMS earns its cost.
2. You have a front-end team that already ships React. If you're maintaining a design system in React across a web app, a customer portal, and marketing pages, forcing that team into Liquid fragments your codebase and slows everyone down. Component reuse across surfaces is a real, quantifiable velocity gain - and it's one of the few reasons that survives scrutiny.
3. The product experience is genuinely app-like. Real-time configurators, 3D product views, complex multi-step builders, interfaces that behave more like software than a catalogue. Liquid plus a pile of JavaScript can fake a lot of this, but past a threshold you're fighting the platform, and a React front-end is the honest tool.
4. You need rendering and routing control Liquid doesn't give you. Bespoke URL structures, edge personalisation, integrating multiple non-Shopify data sources into a single page render. These are real needs - they're just rarer than the people selling headless would have you believe.
Stay on Liquid when your store is - like most stores - fundamentally a catalogue with a checkout:
- Standard product, collection, cart, and content pages
- Marketing-led merchandising your team needs to edit without a developer
- A reliance on the Shopify app ecosystem for reviews, email, loyalty, upsells, and subscriptions
- A launch timeline measured in weeks, not quarters
- A team without a dedicated front-end engineering function
If you read that second list and recognised your store, you have your answer, and the rest of this article is here to keep you from being talked out of it.
What going headless quietly costs you
The pitch for headless is control and performance. Both are real. What rarely makes it into the pitch is the bill - and it's mostly paid in places that don't show up in a demo.
Your app ecosystem partially breaks. This is the big one, and it's underappreciated. A large share of Shopify apps integrate through theme app extensions and app blocks - the OS 2.0 mechanism that lets a merchant install a reviews widget or an upsell app with no code. Go headless and that mechanism is gone. Every app that relied on injecting itself into your theme now needs a Storefront-API-based re-implementation, a headless-specific SDK, or a custom build. Reviews, loyalty widgets, upsell popups, cookie banners, personalisation tools - you're now re-integrating each one by hand, and some vendors simply don't support headless at all. Teams discover this app-by-app, mid-build, when a stakeholder asks where the reviews went.
You lose the theme editor - and your marketers feel it first. On Liquid, your marketing team rearranges sections, swaps hero images, and launches a campaign page in the theme editor without a deploy. Headless takes that away unless you rebuild it - typically by integrating a separate CMS and wiring every editable surface to it. That's not free; it's a second system to build, host, and maintain, and until it exists, every content change is a developer ticket.
You now own the hosting, build pipeline, and previews. On Liquid, marketers change section content, merchandising, imagery, and page composition through the theme editor without a code deployment - and theme code changes still follow a normal development-theme, preview, and publish workflow on Shopify-managed infrastructure. Headless means you own a build-and-deploy pipeline, preview environments, and the operational responsibility that comes with them. Oxygen softens this for the Hydrogen path specifically, but the maintenance surface is unambiguously larger than a theme's.
You own SEO correctness you used to get for free. Shopify's Liquid rendering handles server-side HTML, canonical tags, and structured data patterns that search engines expect. Headless done wrong - client-side rendering, broken canonicals, hydration mismatches - is an SEO liability. Done right it's fine, but "done right" is now your responsibility, not the platform's.
None of this makes headless wrong. It makes headless a decision with a real total cost of ownership that the "control and performance" framing conveniently omits. If you're weighing a custom build more broadly, the same expectation-gap dynamics we covered in what founders actually get from custom Shopify development apply directly here.
The checkout reality nobody mentions
Here's the fact that reframes the entire "control" argument: you do not control checkout, headless or not.
Shopify's checkout is hosted by Shopify. Whether your storefront is a Liquid theme or a fully headless React app, when a customer clicks "Checkout," they are directed to Shopify-hosted checkout. (You can put it on a branded subdomain like checkout.yourstore.com, but it's still Shopify's checkout, not yours.) You cannot replace Shopify Checkout with a React recreation while keeping Shopify's native checkout flow. Customisation happens through Shopify's extension surfaces - Checkout UI extensions, Shopify Functions, and the branding APIs - and those extensions work through Shopify-defined components and APIs, not direct access to the checkout DOM. Access varies by surface and plan, with the most extensive in-checkout capabilities generally requiring Shopify Plus.
So the headless promise of "total control over the customer experience" stops at the single most conversion-critical surface in the funnel. Going headless buys you control over the storefront - the browsing, the product pages, the cart - and then everyone lands in the same Shopify checkout regardless. For a lot of stores, that realisation alone collapses the case for headless: if checkout is fixed either way, the marginal control you're buying is over the part of the journey Liquid already handles well.
(If your payment architecture is the actual reason you're considering a rebuild - subscriptions, marketplace payouts, B2B invoicing - that's a different decision, and it's the one we work through in Stripe and Shopify Payments: when to use each. It rarely requires headless.)
Performance: headless is not automatically faster
The most common reason teams give for going headless is speed. It's also the most misunderstood.
Headless can be faster, because you control the rendering pipeline and can strip the theme bloat that accumulates from a dozen apps injecting scripts. But "can be" is doing enormous work in that sentence. A carelessly built Next.js storefront - oversized JavaScript bundles, waterfall data fetching, unoptimised images, heavy client-side hydration - is comfortably slower than a lean, well-built Dawn theme. We've measured both.
The honest version: most Shopify performance problems are not caused by Liquid. They're caused by app script bloat, unoptimised images, and render-blocking third-party tags - all of which you can fix on a Liquid theme without rebuilding anything. If your store fails Core Web Vitals today (target LCP under 2.5s, INP at 200ms or less, CLS under 0.1), the first move is an audit of what's loading, not a headless migration. Rebuild in Hydrogen for the right reason and you can hit excellent numbers; rebuild for speed alone and you may spend six figures to end up marginally faster than a theme you could have tuned in a week.
Cost and timeline reality
The two paths are not close on cost or time, and the gap is itself a decision input.
| Dimension | Liquid theme (OS 2.0) | Headless |
|---|---|---|
| Illustrative agency build range | $2,000 - $30,000+ | $20,000 - $80,000+ |
| Timeline | 3 - 6 weeks | 3 - 6 months |
| Team needed | 1 - 2 Liquid/JS developers | React team + infra/ops capability |
| Marketer autonomy | High (theme editor) | Low until a CMS is built |
| App compatibility | Broad native theme-app compatibility | Varies; headless support or custom integration required |
| Ongoing maintenance | Low | Higher (own the pipeline) |
Those ranges are illustrative, not quotes - market and complexity move them. The point isn't the exact figure - it's the shape. In the proposals we review, comparable headless builds are frequently several times the initial commitment of a theme-led implementation, often in the 5-10x range, and take several times longer - typically a 4-6x jump on timeline. That multiplier needs to buy you something concrete from the "go headless" list above. If you can't name which ceiling you're clearing, you're paying the multiplier for a feeling.
How to actually decide
Here's the rubric we use when a client asks. Score honestly.
You should build in Liquid (Online Store 2.0) if:
- Your store is fundamentally a catalogue with content pages and a standard checkout
- Your team needs to edit merchandising and content without a developer
- You depend on Shopify apps for core functionality
- You want to launch in weeks and keep maintenance low
- You do not have a dedicated front-end engineering team
You should consider going headless if you can check at least two of these:
- You're running a serious content operation that needs a real CMS alongside commerce
- You have a React team maintaining a design system across multiple surfaces
- Your product experience is genuinely interactive/app-like, not just a rich catalogue
- You need rendering, routing, or personalisation control Liquid can't provide
- You've already optimised a Liquid build and provably hit its ceiling - not assumed you would
One check is not enough. A single item on the headless list is usually solvable inside Liquid for a fraction of the cost. Two or more, genuinely true, and the multiplier starts to make sense. And if you do go headless, the Hydrogen-tooling, framework, and hosting choices come second - decided on team familiarity and how tightly you want to live inside Shopify's ecosystem, not first, as if they were the whole question.
The anti-thesis worth stating plainly: we have talked more clients out of Hydrogen than into it, and the ones we moved onto a well-built Liquid theme have not, so far, come back wishing they'd gone headless. The stores that genuinely needed headless knew why before they called us. If you're not sure you need it, that uncertainty is itself the answer.
Getting the decision right before you build
The Liquid-versus-Hydrogen choice is cheap to make correctly and expensive to make wrong. Made wrong toward headless, you overspend by a multiple and inherit a maintenance burden you didn't need. Made wrong toward Liquid - far rarer - you eventually hit a ceiling and rebuild, but you'll have shipped and earned revenue in the meantime. The asymmetry favours starting on Liquid unless you can name the specific ceiling that forces the other path.
If you're scoping a Shopify build or a rebuild and want a senior team to pressure-test which path your store actually needs - before you commit the budget - see how BrainFeed approaches Shopify development.
FAQ
What is the difference between Liquid and Hydrogen in Shopify?
Liquid is Shopify's server-side templating language - Shopify renders your storefront's HTML and serves it. Hydrogen is Shopify's toolkit for building a headless storefront, where you render the front-end yourself using data from the Storefront API and deploy on Oxygen or another supported hosting platform. Its established stable stack is built on React Router, and as of a June 2026 developer preview Hydrogen is moving to a framework-agnostic toolkit you can also use inside Next.js and other frameworks. The real trade isn't "Liquid vs Hydrogen" - it's Liquid's managed rendering and app ecosystem versus the front-end control of going headless, at a significantly higher cost in time, money, and maintenance.
Do I need Hydrogen for my Shopify store?
Most stores don't. Going headless (with Hydrogen or otherwise) is justified when you have a serious content operation needing a separate CMS, a React team maintaining a design system across multiple surfaces, a genuinely app-like product experience, or rendering control that Liquid can't provide. If your store is a catalogue with content pages and a standard checkout - which describes the majority - Online Store 2.0 Liquid development is faster, cheaper, and easier to maintain.
Is headless Shopify faster than a Liquid theme?
Not automatically. Headless can be faster because you control the rendering pipeline, but a poorly built headless storefront is slower than a lean Liquid theme. Most Shopify speed problems come from app script bloat, unoptimised images, and third-party tags - all fixable on Liquid without a rebuild. Audit what's loading before assuming a headless migration is the performance fix.
Does going headless let me customise Shopify checkout?
No. Checkout is Shopify-hosted regardless of whether your storefront is Liquid or headless (you can brand it on your own subdomain, but it's still Shopify Checkout). Customisation happens through Shopify's extension surfaces - Checkout UI extensions, Shopify Functions, and branding APIs - which work through Shopify-defined components rather than direct DOM access; access varies by surface and plan, with the most extensive in-checkout capabilities generally requiring Shopify Plus. Going headless gives you control over browsing and product pages, but every customer still completes purchase in Shopify Checkout.
Can I build a headless Shopify store without Hydrogen?
Yes. Headless just means decoupling the front-end and pulling data from Shopify's Storefront API - you can do that with Next.js, Nuxt, SvelteKit, Astro, or others, hosted anywhere. Hydrogen is Shopify's own headless toolkit, optimised for Oxygen hosting and tight ecosystem integration - and with its June 2026 framework-agnostic direction, you can increasingly use Hydrogen's commerce primitives inside those other frameworks too. Decide whether you need headless at all first; the toolkit, framework, and hosting choices only matter after that.




