How to Add Alt Text to Shopify Product Images: 4 Methods (Manual + Bulk + AI)

Author avatarVijaygopal Balasa
Updated September 24, 2026
11 min read

To add alt text to a Shopify product image: in your Shopify admin, open Products, choose the product, click the image under Media, click Add alt text (or Edit alt text), type a short description of what the image shows, and click Save. For many products at once, use the Products CSV export and import (Method 2 below).

Alt text is what a screen reader announces in place of the image, so a missing one leaves a blind shopper not knowing what they are buying. This guide covers four ways to add it, what good alt text says, and how to check your theme actually outputs it.

Why alt text matters — three layers

1. Accessibility (the original purpose)

Screen readers — JAWS, NVDA, VoiceOver, TalkBack — convert on-screen content to synthesized speech for blind and low-vision users. When a screen reader encounters <img> without an alt attribute, it announces "image" or reads the filename. When it encounters <img alt="">, it skips silently. When it encounters <img alt="Navy linen wide-leg trousers">, it announces the description as if it were the visual content.

For ecommerce specifically, missing alt text on product photos is functionally a denial of access — the screen-reader user cannot tell what they are buying.

Missing text alternatives are machine-testable in many cases and may appear in accessibility complaints or evaluations. An automated result is a technical finding, not a legal conclusion; it also cannot judge whether existing alt text conveys equivalent meaning.

The DOJ's 2024 web rule applies to state and local governments under ADA Title II; it does not create a technical standard for private ecommerce under Title III. Robles v. Domino's Pizza addressed a website and app alleged to impede access to a physical restaurant's goods and services in the Ninth Circuit, so it should not be generalized into a nationwide rule for every online store. EU and member-state obligations also depend on scope, implementation, exemptions, and the service offered. Use WCAG as a technical baseline and obtain qualified advice for legal applicability.

3. SEO + AI shopping discovery

Google Image Search uses alt text alongside the surrounding HTML, file name, and structured-data Product schema to understand what an image depicts. Alt text is one signal search systems can read; it is not a guaranteed path into any AI shopping result, and Shopify syndicates product data to agentic-commerce surfaces from your structured catalog rather than from rendered page markup.

Descriptive alt text can improve the information available to customers and search systems, but it does not by itself establish accessibility conformance or guarantee discovery.

What "good alt text" looks like

The W3C's alt-text decision tree breaks images into four categories:

  • Functional: describes the function, not the visual. A magnifying-glass icon button → alt="Open search", not alt="magnifying glass".
  • Informative product photo: describes the product. → alt="Navy linen wide-leg trousers, model wearing size M".
  • Decorative: adds no information beyond visual flourish. → alt="" (empty, intentional). Screen readers skip silently.
  • Complex: charts, infographics, sizing guides need a longer description in adjacent text plus a short alt.

For Shopify product images specifically:

  • Include the product name + a visually-distinguishing detail.
  • Avoid filler ("image of...", "photo of...") — screen readers already announce that it is an image.
  • Avoid stuffing keywords for SEO — Google penalizes this and screen-reader users get a worse experience.
  • Match length to purpose and complexity; concise text is useful, but there is no universal word-count rule.

Method 1 — Per-image, in the Shopify admin

Best for: small catalogs, one-off image updates, the merchant editing manually.

  1. Log in to Shopify admin.
  2. Open Products → click the product → scroll to Media.
  3. Click the image. The image preview opens.
  4. Click Edit alt text (button under the image).
  5. Type the alt text. Save.

Shopify stores alt-text metadata for product media, but a custom theme or app must still render the value correctly. Inspect the published HTML. For programmatic updates, use Shopify's current Admin GraphQL documentation and supported media mutations rather than relying on a mutation name copied from an older article.

Method 2 — Bulk via Shopify Products CSV

Best for: catalogs of 50+ products, one-time backfill, no app installs.

  1. Shopify admin → Products → Export. Choose "All products" + "Plain CSV file for Excel, Numbers, etc."
  2. Open the CSV. The column you want is Image Alt Text (column AC in the standard export, may shift in future Shopify schema changes).
  3. Edit the alt-text column. Tip: use a spreadsheet formula like ="Navy "&B2&", model wearing size M" to template alt text from the existing product title column.
  4. Save the CSV.
  5. Shopify admin → Products → Import. Choose the edited CSV and check "Overwrite any current products that have the same handle".
  6. Shopify processes the import; alt text updates on every image with a matching Image Position and Handle.

For a large catalog, confirm current Shopify limits and behavior, test a small reversible batch, preserve identifiers, and verify both admin metadata and published output before scaling the import.

Method 3 — Bulk via Matrixify (third-party app)

Best for: catalogs that need capabilities beyond the current native workflow, after reviewing the app's present fields, permissions, pricing, and rollback behavior.

Matrixify is one third-party option. Verify its current documentation, supported media and locale fields, import matching rules, pricing, and trial availability before using it. Run a small reversible test and review generated or templated descriptions rather than assuming its workflow matches Shopify's native import.

Method 4 — Reviewed AI-assisted candidates (AccessComply)

Best for: eligible supported content paths where a merchant can review description candidates before an approved write.

AccessComply can report eligible automated image findings on public pages and states it reaches. When a supported Shopify content path and current plan entitlement apply, it may generate a description candidate for merchant review, apply an approved change, record the affected value where supported, and run a post-change check. It does not guarantee that every image was reached, that generated text is accurate, or that a technical record proves legal compliance. Decorative intent, functional purpose, complex images, localization, and app-owned output still require human or vendor review.

The Liquid template — what your theme should be doing

A product-image template commonly passes through reviewed media alt text. Inspect the installed theme and adapt the following illustrative pattern:

{% assign image = product.featured_image %}
<img
  src="{{ image | image_url: width: 800 }}"
  alt="{{ image.alt | escape | default: product.title }}"
  width="{{ image.width }}"
  height="{{ image.height }}"
  loading="lazy"
  decoding="async">

The key line is alt="{{ image.alt | escape | default: product.title }}". This:

  1. Reads the alt text from the image record.
  2. Escapes any HTML to prevent XSS.
  3. Shows a product-title fallback as a candidate only; it still needs review and may duplicate nearby text or fail to describe the image.

If a meaningful image is rendered with an empty or missing alternative, stored admin text alone does not solve the customer barrier. AccessComply may report the reached-page finding and, when the first-party source is safely mapped, propose a merchant-approved change through a supported theme path. App-owned markup and ambiguous image purpose require manual or vendor review.

Common alt-text mistakes on Shopify

  • Filename as alt text: alt="IMG_4567.JPG" — happens when the theme falls back to the file name. Always set explicit alt text.
  • Keyword stuffing: alt="navy trousers buy navy trousers cheap navy trousers Shopify" — it is unhelpful for screen-reader users and should not replace an equivalent description.
  • Repeating the product title verbatim: technically valid but adds no information for screen-reader users beyond what the surrounding HTML already provides. Add a visually-distinguishing detail.
  • alt="image" or alt="photo": zero information — equivalent to no alt text from the screen-reader user's perspective.
  • Different alt text on every variant of the same product: typically wrong unless the variants visually differ. Use the product-level alt text and let variants inherit unless visually different.
  • Decorative-image alt text: spacer GIFs, ornamental flourishes, and brand-mark icons next to a labeled link should use alt="", not a description. Screen readers skip silently.

Quick checklist

  • Every product's featured image has alt text describing the product.
  • Variant-specific images that look different from the master have variant-specific alt text.
  • Decorative images (background flourishes, spacer GIFs, ornamental icons) use alt="".
  • Functional images (icon-only buttons) use aria-label on the button + aria-hidden="true" on the inner SVG.
  • Theme <img> tags read image.alt not hardcoded strings.
  • The accessibility statement on /pages/accessibility-statement documents the alt-text remediation effort.

Verify your work — free scan

Run a free public AccessComply scan to sample eligible automated image findings across public, discoverable pages and states it reaches, subject to crawler safety and time limits. It does not guarantee every image or state was reached. Check the pricing page for current scan, remediation, and AI-assisted entitlements, then manually review descriptions and the published storefront.

Further reading

Find the storefront issues holding back growth

Scan SEO, speed, accessibility and AI shopping readiness by page. Review supported fixes before they run, keep saved originals, and verify the live result afterward.

Free checkers: Shopify accessibility checker · Website accessibility checker · Products not showing in ChatGPT

Vijaygopal Balasa, Founder, AccessComply
Written by

Vijaygopal Balasa

Founder, AccessComply

Founder of AccessComply. Builds tools that find and fix supported Shopify accessibility issues in theme code—not through overlays. Focused on practical WCAG 2.2 AA improvements for merchants.

Keep improving after this fix.

Get concise, practical updates on Shopify SEO, speed, accessibility, and safer storefront changes. No daily noise; unsubscribe anytime.

More on Accessibility

All Accessibility posts →