How to detect the theme and apps from any Shopify store

How to detect the theme and apps from any Shopify store
Reading Time

You can detect the theme and apps from any Shopify store without logging into their admin. Shopify does not print that on the storefront. The store still leaks it in the HTML, in CSS classes and in script URLs. Last checked in 2026.

Shopify theme detection is reading those public signals. The theme name usually sits on Shopify.theme or in a theme comment. Apps inject script tags from their own domains. I built a Chrome extension that reads those signals so you do not have to View Source every time. I also used the same method to classify 400+ apps across 47,420 stores.

Long story short: install the extension if you want it in one click. If you want to understand what it is actually looking at, the manual steps are below. Chrome only. It is not an app you install on the store. It only reads the page you already have open.

The Chrome listing is now called Shopify Spy Toolkit (same EZFY detector). About 3,000 users. It matches 1,200+ themes and 500+ apps. Updated May 2026.

How do you detect a Shopify theme from the storefront?

You do not need collaborator access. Open the live storefront, wait until it finishes loading, then either click the extension or open View Source. The theme name is almost always in the page already. Dawn, Prestige, Impulse, Empire, Turbo, Horizon and most Theme Store themes leave a name, an id or a Theme Store id in JavaScript. Fully custom themes with the name stripped are the exception, not the rule.

That is the same signal I used in the 47,000-store study. Theme came from Shopify's window.Shopify object. Apps were harder. Script file names are often garbage like axs.js, so I classified those by hand.

How to use the Chrome extension

Install Shopify Spy Toolkit. Then:

  1. Open any Shopify storefront and wait until the page is fully loaded.
  2. Click the puzzle icon in Chrome, then pin the extension.

    Pin the Shopify App Detector extension in Chrome

  3. Click the extension icon. You get the theme name and the apps it can detect.

    Shopify App Detector popup showing theme and apps

If the popup is empty, the page is still loading, or the site is not Shopify. A lot of "it doesn't work" cases are a Hydrogen / headless storefront, or a password page that has not loaded the real theme yet.

How to detect the theme by hand (no extension)

This is the part I would learn even if you use the extension. It is what the detector is doing.

  1. Open the storefront.
  2. Right click > View page source, or press Ctrl + U (Cmd + Option + U on Mac).
  3. Press Ctrl + F and search for Shopify.theme.

You usually get an object with a name, an id and sometimes a Theme Store id. Dawn and the other free OS 2.0 themes (Sense, Craft, Spotlight, Taste, Refresh) show up as those names. Paid themes like Prestige or Impulse show their Theme Store name, even after the merchant customized colors and sections.

If Shopify.theme is missing, search for myshopify.com, cdn.shopify.com or shopify-section. Those tell you it is Shopify. The exact theme name may be gone if someone stripped it, which is rare.

The pipeline behind the 47k scrape is here if you want the messy version: how I built the Shopify store scraper.

How do you see which apps a Shopify store is using?

Apps do not hide as well as people think. Most of them inject a <script> on every page. The host name is the giveaway. Klaviyo, Judge.me, PageFly, Gorgias, Google Tag Manager, Microsoft Clarity. The file name is often useless. The domain is not.

In View Source, search for <script. Ignore Shopify's own cdn.shopify.com theme files for a minute. Anything else that loads on first paint is usually an app, a pixel or a tag manager. That is also why stores get slow. Each extra app in that 47k set cost about 2 to 3 PageSpeed points. If you are looking this up because a store feels heavy, start with the app list, not a theme swap. I wrote that out here: how to speed up a Shopify store without a speed app.

I classified more than 400 of those script fingerprints by hand for the scrape. There is no public list that maps every axs.js to a nice app name. That is the unglamorous part.

What the detector will miss

It will miss apps that only load after a click (some chat widgets, some popups). It will miss fully custom code with no app footprint. It will miss apps that were uninstalled but left a script tag in theme.liquid, unless that leftover code is still on the page (if it is still on the page, you will see it, and that is useful).

Headless stores (Hydrogen, custom React) often do not expose Shopify.theme the same way. The extension is built for normal Online Store storefronts.

Password-protected stores only leak what the password page loads, which is usually not the real theme.

Is this store even Shopify?

Before you hunt for a theme name, confirm the platform. In View Source, search for cdn.shopify.com. If that CDN is loading the CSS and JS, it is Shopify. You can also search for Shopify.shop. That is the shop's *.myshopify.com handle, even when the public domain is custom.

Headless and Hydrogen stores can still be Shopify on the backend and look like a custom React app on the front. The extension will often fail there. That is not a bug in the detector. The storefront is not sending the usual Online Store objects.

Chrome extension vs View Source

Chrome extension View Source
Speed One click 30 seconds once you know where to look
Theme name Yes, including Theme Store link when it exists Yes, from Shopify.theme
App list Mapped names (500+ fingerprints) Raw script domains. You have to recognize them
Works on Chrome Any browser
Headless / Hydrogen Often empty Often empty too
Best for Checking a store in 5 seconds Learning why a store is slow, or debugging a false miss

I use the extension when I am browsing. I use View Source when I am writing a speed audit, because leftover app code in theme.liquid only shows up as a script tag. The pretty app name is optional. The domain is the proof.

Dawn vs a paid theme, in practice

If the name comes back as Dawn, Sense, Craft, Spotlight, Taste or Refresh, you are on Shopify's free OS 2.0 family. Those share a lot of class names. Detecting Dawn does not mean the store is stock Dawn. Merchants pile apps on top of it the same way they do on Prestige.

If the name is Prestige, Impulse, Empire, Turbo, Horizon, Flex, that is a paid Theme Store theme. In the 47k set, paid official themes sat at a median mobile score of 51. Free themes sat at 60. That gap is mostly apps, not the theme file. Do not buy a new theme just because a competitor's store looks faster. Check their app list first.

Why people look this up

Three reasons I hear all the time:

You like a competitor's layout and want the theme name before you buy it. This tells you the theme. After that, the work is still in your own files. If you are rebuilding a feature, start with something like color swatches on the product page or a sticky add to cart instead of installing the same app stack they have.

You are auditing speed. Theme is rarely the villain. Apps are. Seeing 8 app domains on the homepage is a faster diagnosis than guessing.

You are a developer and you do not want to View Source 40 times a day. That is why I made the extension.

If a store URL is acting weird, send it to me. I can tell you pretty quickly whether it is Shopify, which theme family it is on and whether the app list is the problem.

Back to blog

Leave a comment