How to add alt text to all Shopify products at once
Four ways to add alt text to every Shopify product image: one by one, by CSV import, from suggested alt text or with an app, plus rules for writing it well.
The fastest way to add alt text to every product in Shopify is a CSV round trip: export your products, fill in the Image alt text column in a spreadsheet, and import the file back with the option to overwrite products that share the same handle. It beats opening each product one at a time, but the writing still needs a person, because alt text only helps when it says what a shopper needs to know about that photo. This guide compares the four ways to do it at scale and gives you a spreadsheet workflow that keeps the quality up.
Where does alt text live in Shopify?
Alt text is the short description a screen reader announces in place of an image, and what a browser shows when an image fails to load. Shopify stores it in a few places, and each one is edited separately:
- Product media. Each product image has its own alt text, set from the product’s page in the admin. Shopify accepts up to 512 characters and recommends 125 or fewer.
- Theme images such as banners, slideshow slides and image-with-text sections. You add their alt text in the theme editor: Online Store › Themes › Customize › select the section › on the image, click Edit › enter the alt text › Save.
- Files. Images under Content › Files have an alt text field too. Shopify describes it as “a brief description of the image or video for people with visual impairment or low-bandwidth connections.”
- Collection images and blog post images carry their own alt text, set where you upload them.
Product media is where the volume is, and one alt text serves every page the image appears on. Checked against Dawn 16, Shopify’s open-source theme, the product card prints the featured image’s alt text wherever the card appears: collection pages, search results, featured collections. Write it once and it works everywhere.
Why does every product photo need alt text?
WCAG 2.2 asks for a text alternative for every image that carries information (1.1.1 Non-text Content, Level A). On a store, product photos are the information: the color, the fit, the texture, what’s in the box. A shopper using a screen reader hears “image” or a file name instead, and has no way to tell the sage shirt from the olive one.
What are the four ways to add alt text at scale?
One product at a time
The built-in route, and fine for a small catalog or for the handful of products that bring in most of your sales:
- In your Shopify admin, go to Products and click the product.
- Click a media item to open its preview.
- Click Add alt text, enter your description, and click Save alt text.
- Close the preview and repeat for the next image.
You see the image while you write, which is the best way to get it right. The cost is time: every image is a separate save.
Export, edit and import a CSV
Shopify’s product CSV has an Image alt text column, one row per image. The round trip:
- Go to Products › Export. Export all products, or filter to one collection first and export only those, so you can test on a small batch.
- Open the file in a spreadsheet. Each image row has a handle, a Product image URL, an Image position and an Image alt text cell.
- Fill in the empty alt text cells (the next section shows a quick way to draft them). Change nothing else.
- Save as CSV. Go to Products › Import, choose the file, and tick the option to overwrite any current products that have the same handle.
- Spot-check a few products in the admin and on the storefront.
Read the help center’s warnings before you do this with your whole catalog, because an import can undo work as easily as it adds it:
- The only columns you must keep when updating products are URL handle and Title, and the handle is what matches a row to the existing product. Don’t edit handles.
- “If a non-required column in the import CSV file is blank, then the matching value in the product list is overwritten as blank.” Work from a fresh export and leave every other column as it came.
- Keep the image URLs exactly as exported. If you deleted products or images after exporting and import the old file, the import fails. Images exported from your own store are already on your site, so Shopify doesn’t download them again.
- A product can have up to 250 images.
- Alt text is capped at 512 characters, with 125 or fewer as the recommended length.
Suggested alt text in the media editor
Shopify’s media editor can suggest alt text for images that don’t have any, and accepting a suggestion saves it to the file. It’s a useful starting point when you’re staring at a blank field, and a poor finished product: a suggestion can see a shirt on a hanger, but it doesn’t know the shirt is the product, that the color is called Sage, or that this is the back view your shoppers asked for. Read every suggestion and rewrite it with the details that matter before you accept it.
An app that writes alt text
Apps on the Shopify App Store can write alt text to your product media and files through Shopify’s Admin API. That’s the only way to do thousands of images without a spreadsheet, and it’s where quality control matters most. Before you install one, ask:
- Does it show every suggestion for review before it writes anything, and let you edit it?
- Does it keep the previous value, so a change can be undone?
- Does it skip images that already have alt text you wrote?
- Does it describe the photo, or paste the product title and keywords into every image?
- Does it name the variant on variant images, and give a different description to each angle?
For honesty’s sake: our own app, CodeInspire Accessibility Tool, finds the images on your home, product, collection and cart pages that have no alt text and tells you where to add it. It doesn’t write alt text, and it has no AI. Writing it is the part this guide is about.
For Shopify stores
Find and fix accessibility issues on your store
CodeInspire Accessibility Tool adds an accessibility widget for your shoppers, audits your pages against WCAG, and gives you step-by-step fixes for your Shopify admin, theme editor or theme code.
How do you draft hundreds of alt texts in a spreadsheet?
The spreadsheet is where the CSV method earns its keep. The trick is to draft from data you already have, then spend your human time editing rather than typing.
-
Find the gaps. Filter the sheet to rows where the image URL is filled and the alt text is empty. That’s your to-do list, and it’s often shorter than you feared.
-
Draft from the product. The product title, the option values (for example the color) and the image position are all in the export. A formula in a helper column joins them into a first draft. If the title is in column B, the color in column C and your own note about the view in column D, something like this works in Google Sheets or Excel:
=TRIM(B2 & " in " & C2 & ", " & D2)For a product called “Linen shirt” in “Sage” with the note “front view”, that gives “Linen shirt in Sage, front view”. Copy the helper column’s values into the Image alt text cells.
-
Edit by hand. Open the product’s images alongside the sheet and fix what the formula can’t know: which photo is the back, the close-up of the buttons, the shirt worn tucked in. A formula draft that you never edit is just the product title repeated on every photo, and a screen reader user hears the same sentence five times.
-
Delete the helper column before you save the CSV.
While you edit, keep to the rules that make product alt text useful:
- Say what it is, its color or finish, and what the photo shows: the angle, a detail, a model wearing it, the size next to a hand.
- Don’t start with “image of” or “photo of”; a screen reader already announces it as an image.
- Variant images name the variant: “Linen shirt in Olive, back view”, not “Linen shirt”.
- If an image contains text (a sale badge, a size chart), put that text in the alt text, or better, put it on the page as real text.
- A purely decorative image gets an empty alt attribute. Product photos almost never qualify.
- No keyword lists. “linen shirt mens shirt summer shirt” tells a blind shopper nothing.
Before: linen-shirt-sage-2.jpg
Before: Linen shirt
After: Linen shirt in Sage, back view, with a box pleat below the yoke
Our guide on how to write alt text covers the harder cases: logos, charts, lifestyle photos and images that are links.
What can’t a tool or a spreadsheet do?
- Judge quality. A checker can tell you an image has alt text. It can’t tell whether “product” or “IMG_4471” is a description. Only a person who knows why the photo is there can.
- Spot duplicates. Nothing stops you from giving the same sentence to every image of a product, and no automated check complains. Sort the sheet by alt text and look for repeats.
- Decide what’s decorative. That’s a judgment about meaning, not about pixels.
- Keep it short for you. The 125-character guidance is a guide, not a rule, but a description that runs to a paragraph is hard to listen to. Lead with what matters.
- Rescue facts that only live in a photo. If the only way to learn the fabric weight is a graphic in the gallery, write it into the product description as well.
One more reason to get the product data right: Shopify’s agentic storefronts send your products to AI shopping channels through Shopify Catalog, using “their title, description, options, images, price, availability, and other key attributes.” Complete, accurate product information helps there too. That’s a side benefit, not a promise of traffic.
What should you do next?
- Export your products and filter for images with empty alt text, so you know the size of the job.
- Fix the products that matter most by hand, then run the CSV workflow on the rest.
- Check your other image sources: theme sections in the theme editor, and Content › Files.
- Paste a product page’s HTML into the free HTML accessibility checker to catch images with no alt attribute at all, then run the website accessibility checker on your home page, a collection and a product to see what else it finds.
Related guides
- How to write alt text
- Shopify store accessibility checklist
- Dawn theme accessibility: common issues and how to fix them
Frequently asked questions
Can I bulk edit alt text in Shopify?
Yes, with a CSV import. Export your products, fill in the Image alt text column in a spreadsheet, then import the file with the option to overwrite products that have the same handle. Shopify's bulk editor works on product properties such as price and SKU; the CSV is the built-in route for alt text at scale.
How long should Shopify alt text be?
Shopify accepts up to 512 characters for product media alt text and recommends 125 or fewer. Most product photos need one short sentence: what the product is, its color or finish, and the angle or detail the photo shows.
Does Shopify write alt text for me?
Shopify's media editor can suggest alt text for images that don't have any, and accepting a suggestion saves it to the file. Treat a suggestion as a draft: it can't know which details matter to your shoppers, so read it and rewrite it before you accept it.
Do decorative product images need alt text?
No. An image that adds nothing a shopper needs, such as a background texture, should have an empty alt attribute so screen readers skip it. Product photos are almost never decorative: each one shows something a shopper might want to know, so each one needs a description.
Should I put keywords in alt text?
No. Alt text exists for people who can't see the image, and a list of keywords is useless to them. Describe what the photo shows. A good description naturally includes the product name and the details shoppers care about, without stuffing.
Sources
- Understanding Success Criterion 1.1.1: Non-text Content
- Shopify Help Center: Adding alt text to product media
- Shopify Help Center: Using CSV files to import and export products
- Shopify Help Center: Uploading and managing files
- Shopify Help Center: Adding alt text to theme images
- Shopify Help Center: Bulk editing products
- Shopify Help Center: Products in agentic storefronts
- Shopify: Dawn theme source code (GitHub)
- Shopify: Accessibility best practices for themes