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

    Why the Removal of automaticDiscounts Impacts Your Shopify Apps (and How to Fix It)
    Platform Updates

    Why the Removal of automaticDiscounts Impacts Your Shopify Apps (and How to Fix It)

    Shopify’s 2027-01 API version drops the automaticDiscounts query, breaking apps that read automatic discounts. Learn what changed, who’s affected, and step‑by‑step migration to discountNodes so your app stays functional.

    September 18, 20264 min
    Unlocking Market Hierarchies: New GraphQL Admin API Fields for 2026-10
    Platform Updates

    Unlocking Market Hierarchies: New GraphQL Admin API Fields for 2026-10

    Shopify’s 2026-10 API now lets apps query parent‑child market relationships directly. Learn what changed, who it affects, and how to integrate the new marketRelationships query with actionable code examples.

    September 17, 20264 min
    Mark Unreceived Stock with the New CANCELED Receive Action in Shopify’s Inventory Shipments API
    Platform Updates

    Mark Unreceived Stock with the New CANCELED Receive Action in Shopify’s Inventory Shipments API

    Shopify’s 2026-10 API adds a CANCELED receive action for inventory shipments, letting apps record units that will never arrive. Learn what changed, who it affects, and how to implement the new fields, enum, and webhook updates.

    September 17, 20264 min
    POS UI Extensions Lose session.currentSession.staffMemberId – What Developers Need to Update for 2026‑10
    Platform Updates

    POS UI Extensions Lose session.currentSession.staffMemberId – What Developers Need to Update for 2026‑10

    The static session.currentSession.staffMemberId field is removed in API version 2026‑10. Learn how to switch to the new session.staffMember signal, update your code, and keep POS extensions running smoothly.

    September 17, 20263 min