Free Shopify tool

Shopify Discount Link Generator

Turn one discount code into a shareable /discount/ link, a multi-variant cart permalink, and a scannable QR code. The formatting happens in your browser.

No account, install, or email gate. The tool runs in your browser; the domain, code, and variant IDs stay in this page’s URL and are not sent to a StoreKitly server unless you share the link.

Batch links from CSV

Back to single link

One row builds one shareable link and one cart permalink. Use the same store domain as the form above; each row carries its own code, variant, and redirect.

Required header: code, variant_id. Optional: quantity (default 1), redirect.

Uses the store domain from the form above.

Paste the header and rows. Quoted fields, commas inside quotes, and Windows line endings are supported.Paste the header and rows. Quoted fields, commas inside quotes, and Windows line endings are supported.

No valid rows yet.

The template contains the header row only. The export includes valid rows only. Invalid rows stay in this page and are never uploaded.

How Shopify discount links work

A Shopify discount link puts one code into a URL. The document formats below follow Shopify Help’s pages for managing discounts, discount codes, and cart permalinks (checked 2026-11-03). Formatting a URL is the part this tool can do; applying the discount is Shopify checkout’s job.

Shareable /discount/CODE link vs. cart permalink

LinkWhat it doesUse it when
/discount/CODEOpens the store and attaches one active code to the customer’s next cart or an active cart. The optional ?redirect= changes the landing page.You are sharing an offer and want the customer to browse before checkout.
/cart/ID:QTY,...?discount=CODEPre-fills a cart with the listed variants and quantities, then attaches one code. Shopify documents comma-separated pairs for multiple variants.You need a specific product lineup, bundle, or creator kit in the cart.

Shopify’s discount-link page and cart-permalink page solve different jobs. A shareable discount link is the offer URL; a cart permalink is a pre-built cart. Do not treat a cart permalink as a second discount. It is a different way to start the same checkout.

What ?redirect= changes

Shopify documents the redirect form as /discount/code?redirect=/new-path. For example:

https://your-store.myshopify.com/discount/SPRING10?redirect=/collections/spring

Only the landing page changes. The redirect is not a second discount, it does not bypass an eligibility rule, and it does not change which customers or markets can use the code. This tool URL-encodes the path, so spaces and non-ASCII characters survive the query string. It rejects a full URL, a protocol-relative path, and malformed paths instead of putting them into a link.

One code per shareable link

Shopify says a shareable link or QR code can have only a single discount applied to it. If a campaign needs two offers, build two codes and two links. A code from a shareable link still follows your combination settings, and the per-order limit of five product or order codes plus one shipping code still counts it.

Why a link still fails at checkout

A URL can be correctly formatted and still not produce a discount. Check these in order:

  • Status and dates: the code must be active. Deactivated or expired codes fail.
  • Eligibility: minimum order value, product or collection scope, excluded products, customer segments, and markets can all keep the cart out.
  • Combinations: another discount may already be on the cart. The shareable-link code follows your combination settings.
  • Usage limits: a total-use cap or one-use-per-customer limit can be spent, including by an unfinished checkout.
  • Code ownership: if a third-party app created the code, Shopify admin cannot produce a shareable link or QR code for it. Use that app’s documentation.

Test with two carts: one that should pass and one that should fail. Then read the message at checkout. Checkout is the source of truth. This page does not claim a link will apply a discount; it only formats the URL.

QR codes for creators, retail, and print

The QR code contains the selected link exactly as shown. It is useful on packaging inserts, receipts, retail displays, creator cards, and short videos where a typed URL is awkward. Generate the QR code after the domain, code, and redirect are final, scan it once with a phone, and confirm the landing page. A printed QR code cannot be edited; replacing the code means printing a new one.

Bulk CSV for affiliates and creator programs

One CSV row produces one shareable link and one cart permalink for that row’s code and variant. The header is code,variant_id,quantity,redirect. Quantity defaults to 1 when blank; redirect is optional. Use the campaign label to identify the drop in your own export and download names. It is not added to the link.

The export includes only valid rows, so a broken row never reaches a creator by accident. Quoted CSV fields, commas inside quotes, and Windows line endings are supported. If you hand out many unique codes, read Shopify unique discount codes before you build the batch; code limits and distribution rules matter more than the file format.

Where to find a variant ID

Open the product in Shopify admin, go to the variant, and copy the long number from the variant URL. It is the numeric ID that belongs after /cart/. This tool rejects letters, decimals, and duplicate rows so a malformed cart URL is not generated silently.

Sources

Questions about discount links

Does a /discount/CODE link apply the code automatically?

Yes, when the code is active and the cart qualifies. It attaches one discount code to the customer’s next cart or an active cart; checkout still checks the code’s eligibility rules.

Shopify Help — Managing and editing your discounts

What does ?redirect= change?

Only the page the customer lands on after the link opens. Shopify documents the form /discount/code?redirect=/new-path; it does not add a second discount or change who can use the code.

Shopify Help — Managing and editing your discounts

Can one link apply more than one code?

No. Shopify says a shareable link or QR code can have only a single discount applied to it. Build a separate link for each code.

Shopify Help — Managing and editing your discounts

Why does the code still fail at checkout?

The discount may be inactive or expired, the cart may not meet minimums or product scope, the customer or market may be ineligible, combination rules may block it, usage limits may be spent, or a third-party app may have created the code. Formatting the URL cannot settle those.

Shopify Help — Discount codes

How do I add more than one variant to a cart permalink?

Put each variant_id:quantity pair after /cart/ and separate pairs with commas, for example /cart/123:1,456:2. Add ?discount=CODE to attach one code.

Shopify Help — Cart permalinks

Can redirect be a full URL?

Shopify documents a store path such as /collections/fresh-finds. This tool rejects absolute and protocol-relative URLs so it cannot create an open redirect; use a path that starts with a single /.

Shopify Help — Managing and editing your discounts

Is this an official Shopify tool?

No. StoreKitly built this formatter and is not affiliated with Shopify. It does not confirm discount eligibility; checkout is the source of truth.

Does the QR code or CSV leave my browser?

No. The QR image is drawn on a local canvas, and the CSV is built and downloaded in the page. There is no QR API call or upload.