How to add alt text in Shopify
Shopify stores have more images than most sites: product galleries, variant photos, collection banners, theme sections, blog images. Shopify gives you several ways to add alt text. This guide covers the official methods, the bulk route, and the theme check most guides skip.
Why it’s worth the effort: alt text is what screen reader users hear in place of your product photos, and Shopify itself says including it “can boost your website’s SEO” (Shopify Help). On length, Shopify’s guidance is “brief and descriptive. The maximum length is 512 characters, but 125 or less is recommended” (same source).
Method 1: product media (one image at a time)
Shopify’s documented steps (Shopify Help: Adding alt text to media):
- From your Shopify admin, go to Products.
- Click the product you want to edit.
- On the product details page, click a product media item to open Preview media.
- Click Add alt text.
- Enter your alt text and click Save alt text.
Repeat for each image. Each gallery image should describe what that photo shows (front, back, detail, in use), not repeat the main image’s alt. See alt text for product images for templates.
About Shopify’s AI suggestions
Shopify’s media editor “might suggest alt text for images where alt text isn’t already filled in”, and “accepting suggested alt text in the media editor saves the alt text to the file” (Shopify Help). These suggestions are AI-generated, and you can “accept, edit, or replace” them (Shopify Help: image editor). They’re a useful starting point. Review each one before accepting, because a suggestion based only on the picture may miss what matters for the product (material, the detail the shot is meant to show).
Method 2: Content › Files (images used anywhere)
Images you upload for theme sections, banners, collection images and other storefront content live in Content › Files. From there you can:
- Filter by alt text using the Alt text menu, to see which files are missing it (Shopify Help: Uploading and managing files).
- Click a file’s thumbnail and use Add alt text.
Shopify notes that “edits that you make on the Files page apply to all places the file is used in your store” (same source). That’s convenient, with one catch: if the same image appears in two places with different purposes (say, decorative in one, a linked banner in another), one alt can’t be right for both. In that case, use separate files or handle the alt in the theme.
You can also add or edit alt text in the media editor wherever you see the edit icon on media, including media in the online store editor and in Content › Files (Shopify Help: image editor).
Method 3: bulk update with the product CSV
For hundreds of product images, the product CSV is Shopify’s native bulk route. The CSV has an Image alt text column, which Shopify describes as alt text that “describes the image and the product that it represents”, with a maximum of 512 characters and an optimal length of 125 or fewer (Shopify Help: Using CSV files).
A safe workflow:
- Back up. Export all products as CSV and keep an untouched copy.
- Export again for editing.
- In your spreadsheet, find the image rows: Product image URL, Image position and Image alt text.
- Fill in Image alt text for each image row. Don’t edit the image URL. It’s how Shopify matches the row to the image.
- Test on a few products first. Import a small CSV with “overwrite” enabled, then check those products in the admin and on the storefront.
- Import the rest in batches.
Two cautions people learn the hard way:
- Don’t re-sort the sheet in a way that separates image rows from their product. Keep each product’s rows together.
- Formulas are fine for drafts, but paste values before import, and make sure the text describes the photo, not only the product data. A Shopify Community thread on 1,000+ variants warns that templates can create alt text that’s “technically unique per variant while still being generic”, and that sizes like “Medium” usually aren’t visible in a photo (Shopify Community, Aug 2026).
Third-party apps and the Shopify Admin API are other bulk options. Whatever you use, review before publishing.
The theme check most guides skip
Adding alt text in the admin only helps if your theme outputs it. Most modern themes use Shopify’s image_tag filter, which outputs the image’s alt text. In Shopify’s own documentation, a product image renders with alt="Health potion", and a file with no alt set renders with alt="" (Shopify Liquid: image_tag).
That second behaviour matters: an image with no alt text in the admin may render as alt="", which tells screen readers to skip it. Many checkers treat alt="" as fine (“decorative”), so a product photo with a blank field can pass a superficial scan while being invisible to a blind shopper. A good audit flags empty alt on images that look informative, such as product photos.
What to check in your theme (or ask your developer to check):
- Product, collection and section templates output the image’s own alt, for example
{{ image | image_url: width: 800 | image_tag }}, rather than a hard-codedalt=""or the product title on every image. - If you want a fallback when alt is blank, set it deliberately (for example the product title for the main product image) and keep working through the blanks. A fallback is better than nothing, but it’s no substitute for per-image alt.
- Linked images (collection tiles, product cards) don’t announce the product name twice. If the card has a visible product title link, the thumbnail can be
alt="". - Custom sections added by apps or developers follow the same rules.
Collections, blogs and pages
- Collection images and other storefront images are files. Fill in alt text via Content › Files or the media editor, then check the collection page to confirm it renders. Several r/shopify threads (for example “Collection Images Alt Text Showing Up as Blank”, June 2024) describe themes not outputting it.
- Blog and page images inserted into rich text: check the rendered post. If alt is missing there, edit the image in the editor or fix it at the file level.
What to write (quick reminders)
- Product type, colour/material, and what this photo shows: “Linen shirt in sand, close-up of the coconut-shell buttons”.
- Banners with text: put the text in the alt (“Autumn sale: 20% off knitwear”), or better, use real text in the section.
- Size charts as images: provide an HTML table as well.
- No keyword lists. Google warns keyword stuffing “may cause your site to be seen as spam” (Google Search Central).
A note on the European Accessibility Act
If you sell to consumers in the EU and aren’t a microenterprise, the EAA’s e-commerce requirements may apply to you from 28 June 2025. Microenterprises providing services are exempt (fewer than 10 people and turnover or balance sheet of €2 million or less) (Directive (EU) 2019/882, Art. 3(23) and Art. 4(5)). Alt text is one requirement among many, and checkout accessibility matters at least as much. See our EAA and images guide. This isn’t legal advice.
How Altpass helps Shopify stores
Altpass crawls your storefront the way a visitor sees it, so it catches what your theme actually outputs, including product photos rendered with alt="". It drafts alt text using the page context (product title, nearest heading, nearby text), and you approve each one. Then you export a CSV to apply to your product data. If you need a fix live before you can do the import, the fix script can apply approved alt text in the browser as a temporary stopgap.
Check a product page now
Run the free Altpass checker on your best-selling product page. If your theme is turning blank alt fields into alt="", you’ll see it in seconds.
Check your own page
Paste a URL into the free checker to see every image with missing or weak alt text — no sign-up.