Navigating Shopify’s New UI Extension Bundle Size Exception Process

Shopify now caps UI extension bundles at 64 KB (128 KB for full‑page account extensions) and offers a formal exception request. Learn who’s affected, how to optimize, and the exact steps to submit a bundle size exception before the October 2026 deadline.

Navigating Shopify’s New UI Extension Bundle Size Exception Process
8 sections

Shopify’s latest developer update tightens bundle size limits for UI extensions, setting a hard ceiling of 64 KB compressed JavaScript per extension (128 KB for full‑page customer‑account extensions) for API version 2025-10 and later. While the limit encourages leaner, faster extensions, Shopify also introduces a formal exception‑request process for cases where size can’t be reduced without sacrificing essential functionality. This post breaks down exactly what changed, who needs to act, and the step‑by‑step workflow to request an exception before the October 1, 2026 cut‑off.

What’s Changing?

Effective October 1, 2026, every UI extension built with API version 2025-10 or newer must ship a compressed JavaScript bundle that does not exceed 64 KB. The only exception is a full‑page customer‑account extension, which may reach up to 128 KB. If an extension’s bundle remains oversized after you’ve applied best‑practice optimizations, you can now submit a “bundle size exception” through a dedicated form. Shopify will review the submitted minified bundle and its esbuild metafile, and may grant a limit increase only when the remaining size is truly unavoidable.

Who Is Affected?

The rule targets two audiences:

• Developers – anyone building or maintaining UI extensions (checkout, product, cart, etc.) using the new API versions. If your code exceeds the limits, you’ll need to either shrink it or request an exception.

• Merchants – indirectly impacted because a non‑compliant extension will fail to deploy, potentially breaking custom storefront experiences. Merchants should coordinate with their development partners to ensure compliance before the deadline.

Why Shopify Enforced the Limit

Smaller bundles load faster, reduce latency, and improve the overall shopper experience—especially on mobile networks. The limit also simplifies performance auditing for Shopify’s own infrastructure. By giving developers a clear threshold, Shopify can guarantee a baseline speed across all stores.

Optimizing Your Bundle Before Requesting an Exception

Shopify expects you to exhaust all standard optimization techniques before filing an exception. Common steps include:

  • Tree‑shake unused code – Use ES modules and ensure your bundler (esbuild, webpack, etc.) drops dead code.
  • Remove duplicate dependencies – Consolidate shared libraries across extensions into a single shared bundle or a server‑side module.
  • Leverage Shopify’s native localization APIs – Do not bundle translation JSON files; instead, call the i18n APIs provided by the platform.
  • Compress assets – Use gzip or brotli during the build step, and verify the final size with gzip -c or brotli -c.
  • Minify aggressively – Run shopify app build with the --minify flag (default in recent CLI versions).
  • If after these steps you still exceed the threshold, you’re ready to submit an exception.

    How to Submit a Bundle Size Exception

    Shopify provides a simple web form. The required artifacts are:

  • The minified bundle (extension.js or similar)
  • The esbuild metafile (meta.json) that details every imported module and its size
  • A short justification explaining why the size cannot be reduced further
  • Below is a typical CLI workflow that produces the two files needed for the request:

    bash

    # Build the extension in production mode

    shopify app build --extensions=ui_extension_name --minify

    # The command emits two files in the ./dist folder:

    # ui_extension_name.js (the minified bundle)

    # ui_extension_name.meta.json (esbuild metafile)

    # Verify compressed size (gzip)

    gzip -c ./dist/ui_extension_name.js | wc -c

    Once you have the files, go to the “Bundle Size Exception” form (linked in the changelog), upload the two artifacts, and fill out the justification field. Shopify’s review team will evaluate the bundle’s contents, checking for prohibited patterns such as heavy third‑party libraries, duplicate code, or bundled translations. If the review passes, they’ll raise your limit for that specific extension.

    Key Dates to Remember

  • October 1, 2026 – All UI extensions must be on API version 2026-01 or later and respect the new size caps.
  • Now – Begin optimization and, if needed, submit an exception. Requests submitted after the deadline will be rejected.
  • Action Checklist for Developers

  • Upgrade every UI extension to API version 2026-01 (or later) in shopify.extension.toml or manifest.json.
  • Run a full build and measure compressed bundle size.
  • Apply the optimization techniques listed above until you’re under the limit.
  • If you’re still over, generate the minified bundle and esbuild metafile, then submit the exception form with a clear justification.
  • Communicate the status to the merchant so they know whether the extension will stay live after the deadline.
  • Conclusion & Next Steps

    Shopify’s bundle‑size policy is a win‑win: faster storefronts for shoppers and a clearer performance baseline for developers. By proactively optimizing your UI extensions and, if necessary, using the exception workflow, you can keep your custom experiences alive past the October 2026 cut‑off. Need help auditing your bundles or drafting a solid exception request? Reach out to our Shopify development team or drop a comment below—let’s make sure your store stays lightning‑fast and fully functional.

    Tags
    Sources

    Related Articles

    CurrentEntryChange Now Returns the Previous Page – What Developers Need to Know

    CurrentEntryChange Now Returns the Previous Page – What Developers Need to Know

    Starting with API version 2027-01, the Navigation API’s currententrychange event now reports the page a customer left instead of the page they navigated to. Learn how this breaking change impacts full‑page account extensions and how to update your code before the upgrade.

    October 31, 20263 min
    UI Extensions Can Now Host Unlimited Locale Files—No More 256 KB Ceiling

    UI Extensions Can Now Host Unlimited Locale Files—No More 256 KB Ceiling

    Shopify has removed the 256 KB combined size limit for UI extension locale files, letting developers add more languages without trimming translations. Learn what changed, who it affects, and how to expand your extensions instantly.

    October 30, 20264 min
    Trusted Vault Origin Signal Empowers Credit Card Payments in Shopify Payments Apps

    Trusted Vault Origin Signal Empowers Credit Card Payments in Shopify Payments Apps

    Shopify’s new trusted_vault_origin flag gives payment app developers a reliable way to handle missing CVV for vaulted cards. Learn what changed, who’s affected, and how to update your integration today.

    October 30, 20265 min
    Gift Card line_item_id Becomes Read‑Only in API 2027‑01 – What Developers Need to Know

    Gift Card line_item_id Becomes Read‑Only in API 2027‑01 – What Developers Need to Know

    Shopify’s REST Admin API 2027‑01 makes the Gift Card line_item_id field read‑only. Learn who is impacted, why it matters, and the exact steps to update your app before the upgrade.

    October 30, 20263 min