Pages and copy
Shopify theme detector
Enter a store's address to see what Shopify theme it uses: the theme's own name, its version and Theme Store ID, and the apps its page loads. Free, and it says what it cannot see.
The real theme
The schema name, version and Theme Store ID, not just the merchant's label.
Apps it loads
Apps named from their documented script hosts; other hosts listed, not guessed.
Honest limits
Says what no detector can see: headless stores and apps with no storefront code.
Shopify theme detector: what theme is this store using?
Free, no sign-up. Enter a store's address and Convertica's server reads that one page, or paste the page source and it is read in your browser. Below is the result for a made-up store.
Paste the page source instead
Shopify theme
Example Theme
The store's own name for its copy: Example Theme (holiday copy).
Version 4.1.0.
No Theme Store ID in the theme object.
1 recognized app or service and 1 app extension found.
Example result, for the made-up store in the worked example
Shopify theme
- Theme (schema name)
- Example Theme
- Theme version
- 4.1.0
- Name in this store's admin
- Example Theme (holiday copy)
- Theme Store ID
- None in the theme object
- Store's myshopify.com address
- example-store.myshopify.com
The store's copy has its own name. The schema name is the one set in the theme's own settings file. No Theme Store ID does not mean a custom theme: Shopify documents its Theme Store ID as set only for Shopify-made themes installed from the Theme Store.
Shopify app code on the page
- Theme app extensions
- 1 extension folder
- App loader scripts
- 2 hosts
As named in the page
- Extension folder: example-reviews
- App loader host: static.klaviyo.com
- App loader host: widgets.example-vendor.net
Extension folders are named by each app's developer, so a name may not match the app's listing. Loader hosts are the scripts Shopify writes into the page for installed apps.
Apps and services recognized
- Recognized
- 1 app or service
Found, with the host and where it appeared
- Klaviyo (static.klaviyo.com; inline script, app loader)
Matched against a list of 27 apps and services, each checked against its vendor's own documentation. Anything else is listed below as an unknown host.
Other script hosts, not recognized
- Hosts
- 1 host
Scripts load from
- widgets.example-vendor.net
These are not in our list, so they are not named. A host is often the vendor's own domain: look it up before you assume what it is.
Platform
- Shopify
- Yes: the Shopify.theme object, a myshopify.com address in Shopify.shop and a powered-by: Shopify response header
- WordPress
- No sign of WordPress in this HTML
Short answer
A Shopify theme detector reads a store's page and names its theme. Convertica's free Shopify theme detector reads the Shopify.theme object the store sends: the theme's schema name and version from its own settings file, any Theme Store ID, and the store's name for its copy. It also lists the apps it recognizes from the page's scripts.
- The schema name is the theme as its developer named it. The plain name is the merchant's own label for their copy, and can be anything.
- A missing Theme Store ID proves little: Shopify documents that ID as set only for Shopify-made themes installed from the Theme Store.
- Apps are named only from a list of 27 hosts checked against each vendor's own documentation. Every other script host is listed, not guessed.
- Apps that load nothing on the storefront, headless storefronts and renamed schemas cannot be seen by any tool that reads the page.
How to find out what Shopify theme a store is using
To find out what Shopify theme a store is using, read the Shopify.theme object in the store's page source. Shopify documents its schema_name and schema_version fields as the theme's name and version from the theme's own settings file. The name field is only the store's label for its copy. The Shopify theme detector reads all of them for you.
-
Enter the store's address
Type the homepage address, or any product page, and press "Detect the theme". The detector fetches that one page as it is sent, before any JavaScript runs.
-
Read the schema name, not just the name
The schema name is the theme. The plain name is whatever the store called its copy, often a date, a campaign, or "Copy of" plus the original name, which is how Shopify names a duplicated theme.
-
Check the Theme Store ID
A number points to a theme installed from the Shopify Theme Store. No number settles nothing: Shopify documents its Theme Store ID as set only for Shopify-made themes, so a Theme Store theme from another developer can show none.
-
Look at the apps separately
Reviews, pop-ups, chat and loyalty programs often come from apps, not the theme. The detector lists the apps it recognizes and every other script host, so you can tell what the theme does from what was added.
To check by hand, open the store, choose View Page Source, and search the page for Shopify.theme. The line looks like the one in the worked example below.
What does the Shopify theme detector read?
The Shopify theme detector reads only what the store sends to every visitor: the HTML of one page, before any JavaScript runs. From it, it takes the fields of the Shopify.theme object, signs that the site is a Shopify store, the app code Shopify places in the page, and the host of every script. Each item is reported as found, never inferred.
| In the page | Example | What it tells you |
|---|---|---|
schema_name | Example Theme | The theme's name from its settings_schema.json file, set by the theme's developer |
schema_version | 4.1.0 | The version from the same file. Compare it with the developer's latest release |
name | Example Theme (holiday copy) | The store's name for its copy of the theme. It can be anything |
theme_store_id | null | A number for a theme installed from the Shopify Theme Store; null otherwise, which on its own proves little |
Shopify.shop | example-store.myshopify.com | The store's permanent myshopify.com address, which proves the store runs on Shopify |
| Theme app extensions | example-reviews | Folders under cdn.shopify.com/extensions/, named by each app's developer |
| App loader list | static.klaviyo.com, widgets.example-vendor.net | Script addresses Shopify writes into the page for installed apps |
| Script hosts | static.klaviyo.com | Named when the host is in our list of 27 apps and services; listed as unknown otherwise |
Worked example: reading a result
The example result at the top of this page comes from a made-up store at https://www.example.com/. Every name and number in it is invented to show how the detector reads a page. This is the part of its source that matters:
<!doctype html>
<html lang="en">
<head>
<title>Example Store</title>
<link rel="stylesheet" href="//www.example.com/cdn/shop/t/12/assets/base.css?v=1">
<script>
var Shopify = Shopify || {};
Shopify.shop = "example-store.myshopify.com";
Shopify.theme = {"name":"Example Theme (holiday copy)","id":140000000001,"schema_name":"Example Theme","schema_version":"4.1.0","theme_store_id":null,"role":"main"};
</script>
<script>
(function () {
function asyncLoad() {
var urls = ["https:\/\/static.klaviyo.com\/onsite\/js\/klaviyo.js?company_id=XXXXXX\u0026shop=example-store.myshopify.com","https:\/\/widgets.example-vendor.net\/loader.js?shop=example-store.myshopify.com"];
}
})();
</script>
<script src="https://cdn.shopify.com/extensions/0190aaaa-bbbb-7ccc-8ddd-eeeeffff0000/example-reviews-21/assets/widget.js" defer></script>
</head>
<body>
<h1>Example Store</h1>
</body>
</html>
The detector names the theme Example Theme, version 4.1.0, from schema_name and schema_version. The store's copy is called "Example Theme (holiday copy)", which is only a label. The Theme Store ID is null, which on its own does not say whether the theme is custom built or bought: the schema name is the lead to follow, for example by searching the Theme Store and the developer's site for it.
It recognizes Klaviyo, because static.klaviyo.com is the script host in Klaviyo's own setup documentation and it appears in the page's app loader list. The second loader script, from widgets.example-vendor.net, is not in the list, so it is shown as an unknown host. The extension folder example-reviews is reported by its folder name only: the name hints at a reviews app, but the detector does not claim which one.
Shopify app detector: which apps can it name?
The Shopify app detector names an app only when one of that app's documented script hosts appears in the page. Each host in the table below was read on the vendor's own documentation on 21 October 2026. A host that is not in the table is listed as unknown rather than matched to an app by guesswork.
| App or service | Script host | Source |
|---|---|---|
| Afterpay (older messaging script) | js.afterpay.com, portal.afterpay.com | Afterpay developer docs |
| Attentive | cdn.attn.tv | Attentive help center |
| Google tag | www.googletagmanager.com | Google tag docs |
| Gorgias chat | config.gorgias.chat | Gorgias docs |
| Hotjar | static.hotjar.com, script.hotjar.com | Hotjar help center |
| HubSpot tracking code | js.hs-scripts.com | HubSpot developer docs |
| Intercom | widget.intercom.io | Intercom developer docs |
| Judge.me | cdn.judge.me | Judge.me help center |
| Klarna on-site messaging | js.klarna.com | Klarna docs |
| Klaviyo | static.klaviyo.com | Klaviyo developer docs |
| Loox | loox.io | Loox support |
| Lucky Orange | tools.luckyorange.com | Lucky Orange developer docs |
| Mailchimp (connected site) | chimpstatic.com | Mailchimp developer docs |
| Meta Pixel | connect.facebook.net | Meta for Developers |
| Microsoft Clarity | www.clarity.ms | Microsoft Clarity blog |
| Okendo (referrals) | d3hw6dc1ow8pp2.cloudfront.net | Okendo help center |
| Omnisend | omnisnippet1.com | Omnisend API docs |
| Pinterest tag | s.pinimg.com, ct.pinterest.com | Pinterest help |
| Postscript | sdk.postscript.io | Postscript help center |
| Rebuy | cdn.rebuyengine.com | Rebuy developer docs |
| Recharge | static.rechargecdn.com | Recharge storefront docs |
| Smile.io | js.smile.io, sdk.smile.io | Smile.io developer docs |
| Stamped | cdn1.stamped.io | Stamped support |
| Tidio | code.tidio.co | Tidio developer docs |
| Trustpilot TrustBox | widget.trustpilot.com | Trustpilot help |
| Yotpo | cdn-widgetsrepository.yotpo.com, staticw2.yotpo.com | Yotpo support docs |
| Zendesk Web Widget | static.zdassets.com | Zendesk developer docs |
A vendor's host missing from the page does not mean its app is absent. Shopify serves the files of theme app extensions from its own CDN, so two more kinds of app code are reported without a name. Theme app extension folders carry a handle chosen by the app's developer, which may or may not match the app's listing. The app loader list holds script addresses that Shopify adds to the page for installed apps; their hosts are shown as found. Search the App Store for a handle or host before you assume what it is.
What this Shopify theme detector cannot see
This Shopify theme detector reads one page's HTML and nothing else. It does not log in, run JavaScript, crawl the store or see the admin. Anything a store keeps out of its page source is out of reach, for this tool and for any other detector that reads the page.
- Apps with no storefront code. Apps that work in the admin, at checkout, in email or on Shopify's servers leave nothing in the HTML. Neither do apps that load only after JavaScript runs, or only on product and cart pages: check a product page too.
- Headless stores. A store whose storefront is built outside Shopify's themes, for example with Hydrogen, has no Shopify.theme object. The detector says the page shows Shopify files but no theme.
- A renamed schema. The schema name comes from the theme's settings_schema.json file, which anyone who edits the theme's code can change. A theme sold or built under one name can be a reworked copy of another.
- Password pages. A store behind its password page sends that page instead of the storefront.
- Its own fetch. It sends a user agent that names Convertica, from Cloudflare's network, so a store that turns unknown fetchers away may block it. Paste the page source instead. It follows up to five redirects, waits 8 seconds per fetch and 20 in all, reads the first 1.5 MB of a page, and allows 10 checks per 10 minutes per IP address.
- How the store performs. The theme and app list say how a store is built, not how many visitors buy. The free CRO audit measures that side.
What to do once you know the theme
Knowing a competitor's theme tells you how their store was built, not why it sells. A theme sets the layout, the sections you can place and the speed you start from. The offer, the product pages, the photos and the checkout set how many visitors buy. Copying a theme copies none of those.
- Treat it as a shortlist entry. If you like a store, the theme is one option to test against your own catalog, not a promise of the same result. Buy a license from the theme's developer.
- Separate the theme from the apps. Much of what makes a store look different, such as reviews, bundles and pop-ups, comes from the apps listed in the result.
- Check what the page sends to crawlers. The crawlability test shows the text, links and structured data in a page before JavaScript, which is what search engines and AI crawlers that do not render receive first.
- Measure your own page. The landing page analyzer scores one landing page, and the Shopify conversion rate optimization guide covers the changes that usually matter more than the theme.
Checking a WordPress or WooCommerce site instead? The WordPress theme detector reads the theme's style.css header and the plugin folders the page loads.
See all free tools and how they fit together.
Shopify theme detector FAQ
What is a Shopify theme detector?
A Shopify theme detector reads a store's public page and reports which theme it runs. Storefronts built on a Shopify theme carry a Shopify.theme object in their HTML, whose schema_name and schema_version Shopify documents as the name and version from the theme's own settings file. A detector reads them without any access to the store.
How do I find out what Shopify theme a store is using?
Enter the store's address in the detector above and read the schema name. To check by hand, open the store, choose View Page Source and search for Shopify.theme: the schema_name field is the theme's own name. The name field is what the merchant called their copy, and they can rename it.
Why does the theme name look made up?
Because the name field holds the store's own name for its copy of the theme, often a date, a campaign or Copy of plus the original, which is how Shopify names a duplicated theme. The schema_name field comes from the theme's settings_schema.json file, set by the theme's developer, so it is the one to read.
What does it mean when there is no Theme Store ID?
On its own, not much. Shopify documents its Theme Store ID as set only for Shopify-made themes installed from the Theme Store, and null for other themes, including Theme Store themes made by other developers. A number points to a Theme Store theme; no number leaves the question open, and the schema name is the better clue.
Is this a Shopify app detector too?
Partly. It names an app or service when one of its documented script hosts appears in the page, from a list of 27 checked against each vendor's own documentation. It also lists the theme app extension folders and app loader hosts it finds, and any other script host, without guessing what they are.
Why can't the detector see every app a store uses?
Many apps load nothing on the storefront. Apps that work in the admin, at checkout, in email or on the server leave no trace in the page's HTML. Apps that load only after JavaScript runs, or only on product or cart pages, are also missed when the homepage is checked. Try a product page as well.
Can it detect a headless Shopify store?
It can say the page shows no Shopify theme. A headless store uses Shopify for products and checkout but builds its storefront with other code, so there is no Shopify.theme object to read. When files load from Shopify's CDN but there is no theme object, the detector says exactly that, rather than guessing.
Is it legal to check another store's theme?
The detector reads only the HTML that the store sends to every visitor, the same page source any browser can show. It does not log in, does not get past a password page and does not read anything private. Whether you may copy a theme or its design is a separate question: buy a license from the theme's developer.
Does the store owner know I checked?
The store sees one ordinary page request from Convertica's server, with a user agent that names this tool, not from your browser. Paste mode sends nothing to the store at all. Neither mode tells the owner who you are.
Is the Shopify theme detector free, and where does my data go?
It is free, with no sign-up. The address you enter is sent to Convertica's server, which fetches the page once and returns the result. The address, the page and the result are not stored. To limit abuse, it allows 10 checks per 10 minutes per IP address. A pasted source is read in your browser and is not sent anywhere.