Yikfy

Shopify Alt Text: How to Add It (and in Bulk)

Shopify accepts 512 characters of alt text and recommends 125. How to add it, how to do it in bulk, and what Google actually uses it for.

Alt text is a short description of what an image shows. Shopify's field accepts 512 characters and Shopify's own guidance is 125 or fewer.

It does two jobs, in this order: it is what a screen reader reads aloud instead of the image, and it is one of the things Google uses to work out what an image is of. Most advice covers the second and skips the first, which is how you end up with alt text written for a crawler that tells a blind customer nothing.

Shopify alt text at a glance

Where you edit it Limit
Product and variant images Product page, click the image, Add alt text 512 chars, 125 recommended
Collection image Collection page, the image, Add alt text 512 chars
Logo, slideshow, banners Online Store then Themes then Customize, on the section itself Varies by theme
Blog post and page images The rich text editor's image dialogue 512 chars
Every product image at once CSV import, Image alt text column 512 chars per row

The one that catches people: theme images are not product media. Your logo and homepage slideshow live in the theme editor, and no amount of work on your product images will give them alt text.

How to add alt text in Shopify, on a single product

  1. Products, then open the product.
  2. Click the image in the Media section to open the preview.
  3. Click Add alt text.
  4. Type the description and click Save alt text.
  5. Close the preview with the X.

Shopify documents this, plus the mobile app version, under adding alt text to product media. In the mobile app the button is called Information rather than Add alt text, which is worth knowing before you go looking for a button that is not there.

How long should Shopify alt text be?

Two numbers, and they disagree in the same way Shopify's meta description limits do.

Characters
Shopify's field accepts 512
Shopify recommends 125 or fewer

Write to the 125. The 512 is a storage limit, not an invitation: a screen reader reads the whole thing out with no way to skim it, so a 400-character alt attribute is a worse experience than a short one. If a product genuinely needs 400 characters of explanation, that belongs in the description where everyone can read it.

Does alt text help SEO?

Yes, but not in the place most people expect, and it is worth being precise because this is where the bad advice lives.

Alt text is not a meaningful ranking factor for your product page in ordinary web search. What it does is tell Google what the image itself depicts, which is how you appear in Google Images, and for physical products that is a real traffic source most Shopify stores never think about. Somebody who searches for a picture of a boot and clicks through arrives on your product page with intent.

Google's image SEO documentation asks for descriptive alt text in the context of the page, and is blunt about the failure mode:

Avoid filling alt attributes with keywords (also known as keyword stuffing) as it results in a negative user experience and may cause your site to be seen as spam.

So alt text is not a keyword slot. It is a description that happens to contain the words a person would use, because those are the accurate words.

There is also the part that is not an SEO question at all. Alt text is the mechanism that makes images usable for people using screen readers, and accessibility requirements for commercial websites are getting firmer rather than looser. That is reason enough on its own.

Good and bad alt text, side by side

Bad Why Better
(empty) The most common state in most catalogues Brown leather chelsea boot, side view
boot True, useless Brown leather chelsea boot with elastic side panel
boots shoes footwear mens leather boots buy boots Keyword stuffing, exactly what Google names Men's brown leather chelsea boot
IMG_4021 The filename leaked into the field Chelsea boot sole, showing tread pattern
Image of a brown leather boot "Image of" is wasted; a screen reader already says it is an image Brown leather chelsea boot
Chelsea Boot, Brown, Size 9, 189 GBP, Free Delivery Price and delivery go stale and are not in the picture Brown leather chelsea boot, three-quarter view
Our bestselling boot, handmade in Northampton since 1886 Marketing copy, not a description Brown leather chelsea boot on white background
chelsea-boot-brown-leather Hyphens are for filenames, not for sentences read aloud Brown leather chelsea boot

Two rules produce most of these on their own. Describe what is in the frame, and if a product has several images, describe what makes each one different: the side view, the sole, the boot being worn. Six images with identical alt text tell a screen reader user that there are six images and nothing about any of them.

Be realistic about that second rule, though, because it is the one that does not survive a catalogue. Per-image alt text is the ideal and it is also one hand-written field per image, forever, with no way to automate the part that makes it good. So there are two useful targets rather than one:

  • The ideal: each image described by what it shows. Worth doing for your best sellers, the products that carry the most traffic, and anything where the images differ meaningfully.
  • The floor: one accurate string per product, applied to all of its images, in practice the product title. It does not distinguish the views, and it is still accurate, still not keyword stuffing, and still infinitely better than the empty field it replaces.

Aim for the ideal where it pays and the floor everywhere else. A catalogue at the floor is in good shape; a catalogue at the ideal for forty products and empty for the other three hundred and sixty is not.

What about decorative images?

If an image carries no information, whether a divider, a background texture or a flourish next to a heading that repeats the heading, it should have an empty alt attribute, alt="", not a missing one.

The distinction is not pedantry. An empty alt is an instruction: skip this, it says nothing. A missing alt leaves the screen reader guessing, and some will read the filename out instead, so your customer hears the file name spelled out letter by letter. Empty on purpose is a decision. Absent is an accident.

In practice this applies to theme decoration rather than product media. Every product image is informative by definition, because it is the product.

How to add Shopify alt text in bulk

For a catalogue of any size the answer is CSV, and there is one trap worth knowing first.

The Shopify bulk editor does not expose alt text. You can bulk edit titles, prices, SEO titles and descriptions in that grid, but image alt text is not one of the available columns, so the method people reach for first is not an option here.

That leaves three routes:

  • CSV export and import. The product export includes an Image alt text column, one row per image. Fill it in, re-import with Overwrite products with matching handles ticked. The same cautions apply as for any import: keep the untouched export as your rollback, and never edit the handle column. The four methods and their sharp edges are covered in bulk editing product descriptions.
  • An app. Most Shopify image and SEO apps will write alt text across a catalogue from a template. This is the floor described above, and the thing to check is what goes in the template: the product title on its own is accurate, while the product title plus the shop name plus a keyword is noise a screen reader has to read out on every single image. If the template appends anything that is not in the picture, it is making the field worse than the title alone.
  • The Admin API. fileUpdate sets alt text on media directly, which is the route if you are already scripting against your catalogue.

Budget the CSV route honestly: one row per image means a store with 400 products and three images each is 1,200 rows of writing. That is the real reason most catalogues have no alt text, not that nobody knows the field exists.

Do image file names matter too?

Alt text has a quieter companion. Google's image documentation asks for filenames that are "short, but descriptive", and gives the example that my-new-black-kitten.jpg beats IMG00023.JPG.

Most Shopify catalogues fail this without anyone noticing, because the filename is whatever the camera or the supplier called it. It costs nothing at the point of upload and is tedious to retrofit, which is the same shape of problem as the alt text itself. If you are choosing between the two, alt text first: it is what the screen reader uses, Google leans on it more heavily than the filename, and it is the one you can still change later. The filename cannot be edited on a product image at all, which is the whole argument of Shopify image file names.

A supplier's filename is also a hint about the rest of the file. The same download carries EXIF and IPTC metadata, which can include GPS coordinates, the camera serial number and the photographer's name, and it publishes with the image unless you strip it. That, and whether you were licensed to use the file in the first place, is in where to get product photos.

While you are in the images, the dimensions and file sizes that actually matter are in Shopify image sizes, and the collection image has an alt text field of its own that almost every store leaves empty: it sits on the page covered in collection page SEO. And if the images are not appearing in search at all, the cause is more likely to be an indexing problem than anything to do with the alt attribute.

FAQ

How do I add alt text in Shopify? Open the product, click the image in the Media section, click Add alt text, type the description and save. In the mobile app the button is called Information.

What is the Shopify alt text character limit? 512 characters. Shopify recommends 125 or fewer, and that is the number to write to.

Does alt text help SEO on Shopify? It is how Google understands the image, so it affects whether you appear in Google Images. It is not a meaningful ranking factor for the product page itself in ordinary web search.

Can I bulk edit alt text in Shopify? Not in the native bulk editor, which has no alt text column. Use a CSV import with the Image alt text column, an app, or the Admin API.

Should alt text include keywords? Only the ones that are genuinely descriptive. Google explicitly names keyword stuffing in alt attributes as something that can make a site look like spam.

What alt text should decorative images have? An empty attribute, alt="". That tells a screen reader to skip it. Leaving it off entirely is different, and worse.

Does alt text change the product page for normal visitors? Only when an image fails to load, in which case the alt text is displayed in its place. That is the other reason it should read like a description rather than a keyword list.


Alt text is not hard, it is just long. One field, 125 characters, times every image in the catalogue, which is why the field is empty in most stores rather than wrong.

Yikfy fills it for you as part of publishing, so it is not a second pass you never get round to: every image of a product gets that product's title, with no shop name and no keywords bolted on, and the files land with readable names instead of the string your camera or your supplier gave them.

That is the floor above rather than the ideal, and deliberately so. It is accurate, never empty, never stuffed, and identical across a product's images, so it does not tell anyone which view they have landed on. Six photos of one boot all say the boot's name. The bet is that at four hundred products your real choice is not between the product title and a description of each shot, it is between the product title and an empty field, and you can always write over the top of a field that is already filled. Everything shows up in a review queue before it touches your store.