How to Hide Variants on Shopify in 2026

Shopify finally shipped native variant publishing. Here is what it does, what it still cannot do, and which method to reach for.

For years the answer to "how do I hide a variant on Shopify?" was some version of you cannot, not properly. You could delete the variant and lose its history. You could duplicate the product. You could drop JavaScript into your theme and hope it survived the next theme update.

That changed on 7 May 2026, when Shopify shipped variant-level publishing. You can now unpublish an individual variant from a sales channel or catalog, straight from the admin, without touching the rest of the product.

It does not replace every reason merchants hide variants, though. Unpublishing and hiding solve different problems, and picking the wrong one is how you end up with a product page that is technically correct and commercially useless. This guide covers both.

First, be clear about which problem you have

Merchants say "hide this variant" to mean two genuinely different things.

"This variant should not exist for this audience." A UK plug type that should never show to US buyers. A 48-pack that only makes sense for B2B. A colourway you have discontinued but want to keep for reporting. This is a catalog decision — stable, deliberate, and it does not change hour to hour. Unpublishing is the right tool.

"This variant should not be clickable right now." Size M is sold out today and back next Tuesday. You do not want it gone from your catalog — you want the customer to stop clicking it, discovering it is unavailable, and leaving. This is a merchandising decision driven by live inventory. Hiding is the right tool.

Get this distinction right and the rest of the article is just implementation detail.

Unpublishing variants: the native method

Variant publishing lets you control which variants appear in each sales channel and catalog. The variant stays in your admin with its full history, inventory and order records intact — it simply stops being visible where you unpublished it.

How to unpublish a variant

  1. In your Shopify admin, go to Products and select the product.
  2. In the Variants section, select the variant, or tick several at once.
  3. Open the menu and choose "Manage publishing".
  4. Deselect the sales channels or catalogs where the variant should not appear.
  5. Click Done, then Save.

You can do the same from the individual variant details page, from the bulk editor if you are working across many products, and from Markets → Catalogs when managing catalog-level visibility. The Shopify mobile app supports it too, per variant. Shopify documents the full flow in Publishing and unpublishing product variants.

The rules that catch people out

Both the product and the variant must be published. Publishing a variant to a channel does nothing if the parent product is not published there. Visibility is an AND, not an OR.

Unpublish every variant and the product disappears. If no variant remains published to a channel or catalog, Shopify hides the parent product from that channel entirely until you republish at least one.

You cannot schedule it per variant. Publishing dates apply to whole products, not individual variants. If you need a variant live at 9am on launch day, native publishing will not do it for you.

Custom pricing has a catch. In catalogs with custom pricing, variants not published to that catalog do not receive the price adjustment. Worth checking before assuming your B2B pricing applies everywhere.

What unpublishing is not

Unpublishing is a manual, static control. Nothing about it reacts to your stock levels. A variant you unpublish stays unpublished until a human — or an app calling the API — publishes it again. If you are hoping to unpublish sold-out variants automatically, native publishing on its own will not get you there.

Hiding variants: the storefront method

Hiding works differently. Instead of changing what is in your catalog, it changes what the variant picker renders. The variant still exists and is still published — the shopper just never sees it as an option, or sees it greyed out or struck through.

Because it runs against live inventory, hiding is what you want for anything that changes on its own: sold-out sizes, unavailable combinations, location-specific stock. You have three realistic routes.

1. An app

The path most merchants take, because it handles the conditional logic and survives theme updates. Our own app, Camouflage: Hide Sold Variants, was built for exactly this: hide, disable, strike-through or unpublish variants, with conditions based on inventory, customer tags, or location and country.

Camouflage also covers the gaps in the native feature. It works across sales channels, B2B catalogs and markets, supports scheduled date ranges for temporary hiding (which native variant publishing cannot do), and extends beyond the product page to collection pages, quick views and home pages. It works with Shopify free themes and integrates with custom themes, PageFly and swatch apps.

2. Theme code

Shopify publishes a guide with a JavaScript snippet for hiding sold-out variants. It is free, and it works — with real constraints. It targets vintage free themes like Debut and Brooklyn, and only handles products with a single option. If your products have size and colour, this will not cover you.

If you go this route, duplicate your theme first and paste the snippet at the bottom of theme.js or theme.js.liquid. Then test it, and re-test after every theme update.

3. A theme with it built in

Some paid themes ship with strike-through styling for sold-out and unavailable variants. Note that strike-through is not hiding — the option stays visible and clickable. For some stores that is the better UX anyway, since it signals "we do stock this, just not right now."

We covered the theme-code and app routes in more detail in Shopify: Hide sold out variants.

Which method should you use?

The short version: unpublish what should not exist for an audience, hide what is simply out of stock today.

Unpublishing (native)Hiding (app or theme)
Best forAudience and channel-specific catalogsLive inventory and merchandising
Reacts to stock automaticallyNoYes
ScopeSales channel / catalogStorefront display
SchedulingNot per variantYes, with an app
Keeps variant historyYesYes
Survives theme updatesYesYes with an app; theme code needs re-testing
CostIncludedFree plan available; paid tiers for scale

Plenty of stores end up using both, and that is the correct answer more often than not.

Why this is worth doing at all

A shopper picks a size, waits for the page to update, and finds out it is unavailable. Then they try another. Two or three rounds of that and they leave — not just the product page, but usually the store.

Cleaning up the variant picker removes that dead end. Shoppers only click things they can actually buy, the page reads as smaller and simpler than it is, and the choice they do make goes through. It is one of the cheapest conversion fixes available on a Shopify product page, largely because the problem is invisible from the admin side — everything looks fine until you shop your own store.

Frequently asked questions

Does Shopify hide sold-out variants automatically?

No. Out-of-stock variants remain visible and selectable on the product page by default. Variant publishing lets you unpublish variants manually, but it does not respond to inventory levels on its own. Automatic behaviour needs an app.

What is the difference between unpublishing and hiding a variant?

Unpublishing removes the variant from a sales channel or catalog at the catalog level, and it stays that way until you change it. Hiding leaves the variant published but stops it rendering in the storefront variant picker, usually based on live conditions like stock.

Does unpublishing a variant delete it or lose my data?

No. The variant, its inventory and its order history all stay in your admin. That is the main advantage over the old workaround of deleting variants.

Can I schedule a variant to publish at a specific time?

Not with native variant publishing — publishing dates apply to whole products only. Scheduled date ranges for individual variants need an app.

What happens if I unpublish every variant of a product?

Shopify hides the parent product from that channel or catalog entirely, until you republish at least one variant.

Will hiding variants hurt my SEO?

Not meaningfully. The product page and its URL are unchanged — you are adjusting which options render in the picker. If anything, fewer dead-end interactions tends to help engagement signals.

Can I hide variants only for certain customers?

Yes, with an app. Camouflage supports conditions based on customer tags, location and country, which covers wholesale-only variants and region-specific SKUs.

Getting started

If your problem is catalog structure — market-specific SKUs, B2B-only pack sizes, discontinued colourways — start with native variant publishing. It is built in, it is free, and it is the right layer for the job.

If your problem is inventory that moves, you need something that watches stock and reacts. Camouflage has a free plan, so you can see it working on your own product pages before deciding whether it is worth paying for.

Either way, the thing worth fixing is the same: stop letting customers click on things they cannot buy.

Made in React Bricks