RevealTheme logo

Detection Guide · 2026

How to Detect Shopify Theme on Any Website

Shopify powers 10% of all ecommerce. Every Shopify store leaves predictable signatures in its HTML — here's how our detector finds the active theme.

Fastest way: use our free detector

Paste any URL and get the Shopify theme, plugins, and stack in 2 seconds.

Open the Shopify Detector →

What our detector looks for

cdn.shopify.com asset URLs

Every Shopify store loads CSS, JS, and images from cdn.shopify.com. The URL path contains the theme ID and shop name.

Where: HTML <link> and <script> tags

Shopify.theme JavaScript object

Shopify exposes window.Shopify.theme = { id, name, role } in the storefront's JavaScript. This is the most direct theme identification.

Where: Inline <script> in <body>

theme.liquid hints

Shopify themes use Liquid templating. Comments and class names from theme.liquid leak the theme handle (e.g. 'dawn', 'debut', 'brooklyn').

Where: HTML class names and comments

X-ShopId and X-Shopify-Stage headers

Shopify's edge adds these response headers on every request. X-ShopId uniquely identifies the store.

Where: HTTP response headers

myshopify.com canonical or links

Even custom-domain stores include myshopify.com URLs in admin links, checkout endpoints, or fallback assets.

Where: HTML <link rel='canonical'> or asset URLs

Manual inspection checklist

If the detector returns inconclusive results, walk through these manual checks in your browser's developer tools (right-click → Inspect):

  1. 1

    View page source. Search for 'cdn.shopify.com' — present on every Shopify store.

  2. 2

    In DevTools Console, type window.Shopify.theme. If Shopify, this returns the theme object directly.

  3. 3

    Visit /admin or /cart — both return Shopify-specific responses.

  4. 4

    Check the checkout URL — Shopify stores use /checkouts/ paths even on custom domains.

  5. 5

    Look for the theme handle in class names (e.g. 'template-product', 'shopify-section').

Why identify a site's stack?

Three legitimate reasons: competitive research (which tools is the leader in your space using?), lead qualification (does this prospect's site qualify for your service?), and migration planning (you need to know the current stack before quoting a redesign).

All of the above are public-record activities — every signal we check is visible in the page's HTML or HTTP response, the same data anyone with View Source can see. We just parse it faster and present it cleanly.

What detection can't tell you

Detection identifies what's running. It can't tell you why a site chose that stack, how much they spend on it, who their developer is, or what their roadmap is. For those, talk to a human.

It also can't see through aggressive caching, headless setups, or themes built from scratch without the framework's default markers. We flag low-confidence detections so you know when to dig deeper.