Search the page source
View the page source and search for cdn.shopify.com/extensions. Apps built on theme app extensions load their files from that path, and the file names usually say what the app does.
Then look for scripts loaded from other domains. Review, email, chat and subscription apps typically load a script from their own domain, and the domain names the vendor.
Use the Network tab
Open developer tools, select Network, filter by JS and reload. Almost everything not served from the store's own domain or Shopify's CDN was added by an app, a pixel or a tag manager — and the same list shows what each one weighs.
- Filter: JS, then sort by domain
- Look for: vendor domains and app file names
- Note: size and timing per script
App embeds and app blocks
Since Online Store 2.0, apps add themselves to a theme as app blocks inside sections or as app embeds that load on every page. On your own store, App embeds in the theme editor shows them; switching one off and measuring again is the cleanest way to see what an app costs in speed.
What you cannot see from outside
Plenty of apps never touch the storefront: inventory and accounting tools, Shopify Flow automations, apps that only listen to order webhooks, and discount or delivery logic running as Shopify Functions. No detector sees those, ours included — a short list of detected apps does not mean a short app bill.
Leftovers from uninstalled apps
Removing an app removes its app blocks and embeds, but code an app or a developer pasted into theme files stays behind. On older stores, scripts for apps uninstalled years ago often still load on every page. If the detector finds an app you no longer pay for, delete that code first.