Alt Text

How to Add Alt Text in Shopify: All 6 Methods (And Which to Use When)

Shopify gives you six ways to add alt text to images: the product media editor, the product CSV, theme code, a bulk export-import app, the Admin API, and an AI alt text app. Five of them work and one is a trap. Here is the exact admin path for each, verified against Shopify's help docs, and the catalog size where the right method changes.


Key takeaways

  • Product images: Products, open the product, click the image, Add alt text, Save alt text. Max 512 characters, 125 or fewer recommended.
  • Theme, Files and blog images have their own paths: Edit on the image in the theme editor, Content then Files for uploaded files, double-click the image in the rich text editor for blog posts and pages.
  • Bulk: the product CSV has an Image Alt Text column (re-import with Overwrite products with matching handles), or an AI alt text app writes and publishes them in one pass.
  • The trap: theme code that prints the product title as alt text. It breaks on theme updates, duplicates across images and fails accessibility checks.

Most "how to add alt text in Shopify" guides give you one method, the admin click-by-click, and stop. That is fine for a 20-product catalog. It is a productivity problem at 200 products and a mistake at 2,000.

There are six ways to add alt text in Shopify. They produce the same SEO and accessibility result; Google and screen readers do not care how the text got there. What differs is the time, the failure modes, and the catalog size where each method stops being the right answer.

This guide gives the exact admin path for each method, checked against Shopify's help documentation in October 2026, and an honest read on when to use it. Shortest path: find your situation in the decision tree and jump to that section.

Quick Decision Tree

Five seconds of self-categorisation saves you reading the wrong section:

Your situation Right method Time estimate
Adding alt text to 1-10 images todayMethod 1: Shopify Admin10 minutes
Theme banners, logo, Files, blog imagesMethod 1: theme editor, Files, rich text editorMinutes per image
Setting up alt text during a new product importMethod 2: Product CSVBundled with the import
50-200 images, comfortable with spreadsheetsMethod 4: Matrixify export/import1-2 hours
200-5,000 images, want it done in an afternoonMethod 6: AI alt text app30-90 minutes
Custom integration, PIM sync, multi-storeMethod 5: Admin GraphQL APIDeveloper time

Why Method 3 (theme code) isn't on this list

Dozens of tutorials suggest editing your theme's Liquid to print alt text dynamically. Don't. The section below explains why; it is the trap every Shopify SEO consultant has had to undo at least once.

Before any of this, know what you are writing. Shopify's limit is 512 characters with 125 or fewer recommended; the alt text character limit guide explains why 125 is the working ceiling, and how alt text affects image search rankings explains what you get for the effort.

Method 1: Add Alt Text in the Shopify Admin (Manual)

The native way. Free, every plan, no setup. The right answer when the catalog is small or you are fixing a handful of images. Product images, theme images, uploaded files and blog images each have their own screen, so here are all four.

Product images

From Shopify's product media documentation:

  1. From your Shopify admin, go to Products and click the product
  2. In the Media section, click the image to open the Preview media page
  3. Click Add alt text
  4. Type the description: 8-15 words, product plus variant plus view (see alt text examples for the pattern)
  5. Click Save alt text, then the X to close the preview
  6. Repeat for every image, including variant images, which each have their own field

Shopify states "the maximum length is 512 characters, but 125 or less is recommended". In the Shopify mobile app the path is Products, tap the product, tap the image, tap Information, enter the alt text and save.

Images chosen in the theme editor are not product media, so the field is in the editor. Per Shopify's theme alt text documentation: from your Shopify admin go to Online Store, click Edit theme on the theme, in the sidebar click the section with the image, click Edit on the image, enter the alt text in the dialog and click Save, then Save the theme. The logo and favicon fields under theme settings work the same way.

Uploaded files (Content, then Files)

Anything uploaded through the image picker lives in Content > Files. Shopify's Files documentation says to click a file's thumbnail to open it, then add "a brief description of the image or video" in the alt text field. Edits on the Files page "apply to all places the file is used in your store", and the search bar has an Alt text filter that shows which files still have none.

When you open a product image or a file this way, the media editor "might suggest alt text for images that don't already have it". Click Accept to keep it or edit it first. Treat the suggestion as a draft: it describes what it sees, not your product name, colourway or SKU.

Blog posts and pages

Inline images in blog posts and pages use the rich text editor, and the media editor cannot touch them. Per the rich text editor documentation: double-click the image to open the Edit image dialog, add or edit the alt text, and click Edit image to save.

When to use this method

  • Under 10-15 images to add or update
  • A one-off fix on a specific high-traffic page or banner
  • You want full per-image control with no automation

When NOT to use this method

  • More than 50 images. Say each takes a minute including finding the product: 50 images is most of an hour of clicking, and descriptions get inconsistent by image 30.
  • You have variant images, because each one is a separate entry.
  • You manage multiple stores.

Method 2: Product Import CSV

Shopify's product import accepts a CSV with an Image Alt Text column. If you are already importing products from a supplier feed, a dropshipping app or a previous platform, this is the path of least resistance. Shopify's CSV documentation describes the column as alt text that "describes the image and the product that it represents", with the same 512 maximum and 125 recommended.

Step-by-step

  1. From your Shopify admin, go to Products and click Import
  2. Download the sample CSV template, or Export your current products to get the real headers
  3. Fill the Image Alt Text column on every image row; the CSV uses one row per image, with Image Position setting the order
  4. Upload the completed CSV
  5. For existing products, tick Overwrite products with matching handles, otherwise rows that match an existing handle are ignored
  6. Run the import; Shopify applies the alt text to each image

The catch

The overwrite option replaces the whole product record from your file, not just the alt text. If your export is a day old and someone changed a price or inventory since, the import puts the old values back. Export immediately before you edit, change only the alt text column, and import straight after. For ongoing edits to a live catalog, Method 4 is safer because it updates only the columns you include.

When to use this method

  • Launching a new store with products arriving as a CSV anyway
  • Migrating from another platform and re-importing the catalog
  • Adding a large batch of new products from a supplier feed

Method 3: Theme Code Injection (The Trap)

Older tutorials suggest editing product-template.liquid or a media snippet to print alt text dynamically, usually with Liquid like:

{{ image | image_url: width: 1200 | image_tag: alt: product.title }}

It works once. Then it breaks. Three reasons it is a trap:

Three failure modes

  • Theme updates wipe it. When you move to a new theme version, custom Liquid edits do not carry over. The alt text disappears overnight and you notice when image impressions drop a month later.
  • It is not real alt text. The product title does not describe the image. Three photos of one product get identical alt text, so Google sees three equivalent images and the image-SEO purpose is defeated.
  • No accessibility benefit. WCAG's Success Criterion 1.1.1 Non-text Content asks for a text alternative that serves the equivalent purpose of the specific image. A repeated product title does not, and it fails any audit that checks for duplicate alt text.

If you've already done this

Roll it back. Open the snippet where the injection lives, restore the default image.alt output, and use a real method to populate alt text. The longer it stays, the more pages carry low-quality alt text and the more cleanup you do later.

Honest note: there is one narrow legitimate use. Dawn and other current themes output {{ image.alt | escape }} and fall back to an empty string, so an image with no alt text still gets a valid attribute. That is a fallback, not a strategy. If your theme prints product titles as alt text, it is the wrong method.

Method 4: Matrixify / Bulk Export-Import

Matrixify (formerly Excelify) is the usual bulk-edit tool for Shopify catalogs. It exports your products including image alt text, lets you edit in Excel or Google Sheets, and re-imports with updates limited to the columns you include, so untouched fields stay as they are. Other export-import apps work the same way; the point is the partial update.

Step-by-step

  1. Install Matrixify from the Shopify App Store
  2. Shopify admin, Apps, Matrixify, Export
  3. Select Products and include the image columns, which carry Image Alt Text
  4. Download the export (Excel or CSV)
  5. Fill the Image Alt Text cell for every row where it is empty
  6. Save the file with only the ID, handle and image columns you changed
  7. Matrixify, Import, upload the edited file, run the import

When this method shines

  • You are comfortable in spreadsheets and prefer offline editing
  • 50-1,000 images where you want full control over wording
  • You want an off-Shopify record of all alt text; the export becomes your audit trail

When this method falls apart

  • Writing the alt text is still manual. The bottleneck moves from clicking to typing.
  • For 500+ images you are still looking at hours of typing in a sheet.
  • No image preview while writing: you work from filenames and product titles, which is harder than seeing the picture.

Method 5: Shopify Admin API

If you are building a custom integration, syncing alt text from a PIM, or managing several stores programmatically, the Admin GraphQL API lets you set the alt field on any media item. Shopify marks the REST Admin API as legacy and states that listing, creating, updating and deleting product images "is deprecated as of REST API 2025-01" in its Product Image REST reference, so new work belongs in GraphQL.

The mutation

Use fileUpdate, which Shopify describes as the way to "update accessibility descriptions for images and other media". Each item takes the media ID and the new alt text:

mutation { fileUpdate(files: [{ id: "gid://shopify/MediaImage/1072273831", alt: "Brown bifold leather wallet open, six card slots" }]) { files { id alt } userErrors { field message } } }

The older productUpdateMedia mutation still works but is marked deprecated in favour of fileUpdate. Get the media IDs from the product query's media connection.

When this method is the right call

  • Shopify is integrated with a PIM (Akeneo, Plytix, inRiver) and alt text is canonical there
  • You run 5+ Shopify stores and want one integration to keep alt text consistent
  • Your workflow cannot be handled by an off-the-shelf app

When this method is overkill

For a single store under 5,000 images, building an integration solves a problem an app already solved. Say a developer costs $50-$200 an hour: a day of their time versus an app at $29.99/month is the wrong trade for one store. Method 6 wins on cost and speed.

Method 6: AI Alt Text Generator App

The catalog-scaling answer. Install once, generate across the catalog, review in bulk, publish. Quick disclosure: we make MetaGenius AI, which was built for exactly this, alongside other AI SEO apps on the Shopify App Store.

Step-by-step (using MetaGenius AI as the example)

  1. Install MetaGenius AI from the Shopify App Store (free plan, 50 credits a month)
  2. Open the app in your Shopify admin
  3. Go to Image Alt Text (available on every plan)
  4. Select the scope: all products, a collection, or a single product
  5. Optional: set custom AI instructions for your brand voice ("always include material if visible", "use 'crafted' instead of 'made'")
  6. Click Generate
  7. Review the generated alt text in the preview
  8. Approve, regenerate or edit individual entries before publishing
  9. Click Save to Shopify; the alt text is written through the Admin API in seconds

What this method costs

Alt text costs 1 credit per image. The Free plan's 50 credits cover a first batch; Starter at $9.99/month gives 250 credits and bulk generation; Pro at $29.99/month gives 1,000 credits, enough for most 200-300 product stores with 3-5 images each. For comparison, say a freelance copywriter charges $1 per alt text: the same 1,000 images cost about $1,000. The arithmetic is not subtle.

Where AI alt text generation falls apart

We covered this in our analysis of AI meta tag generators; the short version is that AI alt text without product-data grounding produces generic output (a forest-green hat described as "dark green cap"). Tools that combine vision AI with your product data produce specific output. Test the free plan before paying: output quality is the only thing that matters.

Bulk alt text. Preview before save. Grounded in your product data.

MetaGenius AI's Pro plan covers up to 1,000 alt texts a month with vision AI plus your real product data. Custom brand voice rules, 15 languages, and a preview before anything is saved. Free plan available, so test the output before committing.

Install Free on Shopify →
Free plan · 50 AI credits/month · 15 languages

After You Add Alt Text

You have added alt text. Now what?

1. Check the result on the live page

Run the page through the free alt text checker: it lists every image on the page with its alt text and flags the empty ones, which catches theme images and inline blog images you forgot. Then confirm your Shopify sitemap is submitted in Google Search Console; Shopify's product sitemap lists the primary image of every product, so Google will pick up the new alt text on its next crawl.

2. Watch the Image search tab in GSC

Google Search Console, Performance, set Search type to Image. This is the report to check 30, 60 and 90 days from now. Compare impressions and average position against the month before you started; images with high impressions and a low position are the ones to rewrite next.

3. Enable auto-generation for new products

The compounding win: turn on automatic alt text so every new product gets it on creation. MetaGenius AI's Autopilot does this on the Pro plan. Without it, you repeat this project every quarter as the catalog grows.

4. Pair this with meta tag fixes

Stores that are missing alt text usually have the same gaps in titles and meta descriptions. The bulk edit meta tags guide covers the parallel workflow, and the bulk alt text guide goes deeper on the CSV and app routes for very large catalogs. Most stores benefit from running both projects in the same week.

Frequently asked questions

How do I add alt text in Shopify without an app?
Use the product media editor (Products, open the product, click the image, Add alt text) for a handful of images, the product CSV's Image Alt Text column for new or re-imported products, or a bulk export-import tool such as Matrixify for an existing catalog. All three are app-free or use a generic data tool. Past a few hundred images, an AI alt text app is faster, but it is never required.
Where exactly is the alt text field in Shopify Admin?
From your Shopify admin go to Products, click the product, then click a media item in the Media section to open the Preview media page. Click Add alt text, type the description and click Save alt text. Shopify accepts up to 512 characters and recommends 125 or fewer. Each image, including variant images, has its own field.
Can I bulk add alt text to Shopify images?
Yes, three ways: export products to CSV, fill the Image Alt Text column and re-import with Overwrite products with matching handles selected; use an export-import app such as Matrixify to edit the same field in a spreadsheet; or install an AI alt text app that reads each image and product and writes the text for you. For hundreds of images the app route is the only one that does not take a day of typing.
Does Shopify add alt text automatically?
Not by default. The alt text field is empty until you fill it. Shopify's media editor may suggest AI-generated alt text for an image that has none, and you can click Accept to save it, but that is one image at a time and the suggestions do not know your product data. Some themes print the product title as a fallback, which is the trap method in this guide.
How long should it take to add alt text to a 200-product Shopify store?
Say the store has 3 to 5 images per product, so 600 to 1,000 images. In the admin at roughly a minute per image, including finding the product, that is 10 to 16 hours. In a CSV or Matrixify sheet you type faster but still write every line, so plan half a day. An AI alt text app generates the whole set in minutes and leaves you an hour or two of review.
Does adding alt text affect my Shopify page speed?
No. Alt text is a few bytes of text per image, far below anything that changes load time, even across a large catalog. Page speed on Shopify is driven by image file size, the number of apps injecting scripts, and theme code. Compress and right-size images as a separate job from writing alt text.
Can I add alt text to images in Shopify blog posts and pages?
Yes. Blog posts and pages use the rich text editor: insert the image, then double-click it to open the Edit image dialog, add or edit the alt text, and click Edit image to save. The media editor cannot edit images already placed in the rich text editor, so this dialog is the only route for inline blog images.
What about alt text on collection page banner images?
Collection and section banners are theme images, so the field lives in the theme editor. From Online Store click Edit theme, select the section with the image, click Edit on the image, enter the alt text and save. If the banner was chosen from Files, editing its alt text under Content then Files updates it everywhere that file is used.

Method 6, in under 30 seconds.

MetaGenius AI handles bulk alt text generation across products, collections, blogs and pages, with vision AI grounded in your real product data. Free plan available, no credit card required.

Install Free on the Shopify App Store →
  • Free plan
  • 50 AI credits/month
  • 15 languages
  • No credit card