Skip to content
An abstract background image

Product taxonomy explorer

Browse, search, copy, and share Shopify taxonomy data without waiting on a massive payload.

The Product Taxonomy Explorer is a static, framework-free browser tool for Shopify product taxonomy — categories, attributes, attribute values, and return reasons. We built it for the Shopify community as something you can leave open all day: map products, check handles, copy IDs, and share category links with a teammate.

No account required. Light and dark mode. All 31 locales from Shopify’s current stable taxonomy release.

Shopify’s published taxonomy explorer is genuinely useful — and genuinely heavy.

When we looked at the latest release (2026-05), a single category URL pulled down about 59.9 MB of HTML. The page pre-renders huge category, attribute, mapping, and return-reason panels into the DOM, stores relationship data in attributes, and toggles visibility across cached node lists. Search runs through external browser-side tooling. The page even yields work back to the main thread — a tell that the browser is struggling with its own size.

If you work with taxonomy data often, you have probably felt this:

  1. Slow first loads on constrained networks or busy machines
  2. Sluggish search and column navigation once the tab is open
  3. Memory pressure and occasional tab crashes
  4. Hard-to-read loading state — is it still fetching or stuck?
  5. Massive page weight for a simple question: “What is the category ID for snowboards?”

The upstream JSON is large on its own — roughly 94.8 MB for English taxonomy.json and 80.0 MB for categories.json. The default explorer does not shrink that problem; it renders much of the tree into HTML up front.

We wanted a lookup tool that feels like a tool, not a stress test.

We did not set out to clone Shopify’s UI with extra polish. We set out to make taxonomy work feel calm.

  1. Compact, app-ready data — normalized at build time into flat records, stable IDs, deduplicated relationships, and content-hashed JSON shards sized for how the UI loads
  2. Render only what is visible — category columns for the current path, one detail panel, bounded search results, attribute rows only after you expand them
  3. Load detail on demand — attribute metadata and value lists fetch in small chunks when you need them
  4. Search without a duplicate index — the browser derives ~23,600 searchable rows from categories, compact attribute summaries, and return reasons already in memory
  5. Static delivery — HTML, CSS, JavaScript, and generated data on Cloudflare Workers Static Assets; cacheable files bypass Worker execution
  6. Full locale support — all 31 Shopify-generated locales for the pinned release, with complete UI copy in each enabled language

You still get category lookup, attribute inspection, return reasons, localized labels, shareable URLs, and copy controls — without the weight that made the default experience drag.

The biggest win is restraint.

Shopify’s published explorerProduct Taxonomy Explorer
First visit~60 MB HTML with hidden DOM for the full taxonomyShell + ~81–92 KB gzip root-scoped category data (active locale)
RenderingPre-render everything, toggle visibilityBuild only visible columns, details, and opened rows
SearchSeparate search index infrastructureDerived in-browser from loaded locale data
Attribute valuesBundled into initial page weightLazy-loaded per attribute (~52–66 KB gzip max per chunk)
Failure modeOne heavy list can degrade the whole pageA large value list affects one row after you open it

Deploy size and session size are not the same. The full release artifact includes every locale (~450 MB on disk, ~2,993 content-addressed files in production), but a browser only requests the active locale’s roots, one core shard for the selected taxonomy root, one shared detail shard, and later the chunks your interactions need.

Measured on verified build v1.4.2 (source ref v2026-05):

  1. Root-scoped category data: 81–92 KB gzip across locales
  2. First taxonomy render (localhost): ~232 ms Fast 4G / ~824 ms Slow 4G
  3. Selected detail ready: ~803 ms Fast 4G / ~2,835 ms Slow 4G
  4. Production Lighthouse (2026-07-22): 100 Accessibility, 100 Best Practices, 100 SEO; Slow 4G LCP ~2.2 s (4× CPU throttling), CLS 0.00

Warm navigation after bootstrap is effectively instant. Copy confirmation lives in the footer, not a toast. Timings in the footer and Debug panel show clearly when data is loading versus when something is stuck.

  1. Search by category name, category ID, attribute handle, or return reason — / or Cmd/Ctrl+K to focus
  2. Browse with predictable column navigation when hierarchy matters
  3. Share URLs that preserve category selection and locale
  1. Breadcrumb, short category ID, full Shopify taxonomy GID, assigned attributes, and return reasons in one panel
  2. Copy buttons for IDs, handles, and breadcrumbs — confirmation in the footer
  3. Collapsible attribute rows; long value lists preview first, then Show all without another network round trip
  1. Language selector for every enabled Shopify locale — taxonomy labels from Shopify’s data, UI chrome from our catalogs (strict key parity across 31 locales)
  2. Light and dark mode, persisted in the browser
  3. WCAG A/AA checks in automated release gates for both themes, plus keyboard focus coverage for search
Categories14,606
Attributes8,553
Attribute values74,813
Return reasons470
Locales31
Derived search rows23,629
Shared detail deduplication saved129.29 MB

Search intentionally excludes full attribute value text from the default index. Indexing all values would grow search from 23,629 rows to 98,442 and increase memory and ranking cost — a deliberate tradeoff until value-level lookup is worth an opt-in path.

Deliberately boring architecture:

  1. No frontend framework unless a measured failure mode proves we need one
  2. Deterministic data pipeline — pin a Shopify release tag to an immutable commit, verify source hashes, publish compact payloads manifest-last, validate every browser asset before release
  3. One verified artifact per release — full SHA-256 identity through preview, production, and rollback
  4. Automatic production deploy on runtime pushes to main after the full gate passes; docs-only changes do not deploy
  5. 57 browser smoke tests and 5 accessibility tests — deep links, all locales, lazy payloads, copy workflows, layouts down to 320px

Performance here is doing less work, later, on data shaped for the job — not wrapping a giant page in a framework or running app logic on every request.

Built by Company XYZ. Not affiliated with Shopify beyond using Shopify’s open product-taxonomy data on the same terms as the upstream explorer.

We map categories, check attributes, and copy IDs into internal tools every week — this is the explorer we wanted on hand.

If you care about performance and accessibility in storefront work, you might also like Align, our Shopify theme built with the same priorities.

Open product taxonomy explorer

Example deep link: Snowboards (sg-4-17-2-17)

Taxonomy source data: Shopify/product-taxonomy on GitHub


Shopify’s explorer ships the warehouse — you wait for the whole building to load, then hide the floors you are not visiting.

Product Taxonomy Explorer keeps the warehouse organized and brings forward the shelf you are actually using — responsive across 14,000+ categories and 31 languages.