Accessibility
Alt Text That Works: Examples for Photographers, Bloggers, and Shops
Alt text is the most consequential piece of metadata on your images. Here are concrete examples of good and bad alt text across the situations you'll actually write in.
Alt text is one of those things that everyone knows they should do and almost no one does well. I wrote image-handling guidelines for a regional digital magazine for six years, and the single most common thing I corrected wasn’t missing alt text — it was bad alt text. “image,” “photo,” “placeholder.” Sometimes the filename copy-pasted in. Sometimes just the word “alt.”
This article has examples. Good ones, bad ones, and the thinking that separates them. If you’re writing alt text for a blog, an e-commerce site, or a photo portfolio, the examples below are meant to save you the several months of trial and error it took me to figure out what works.
What alt text is actually for
Two audiences read alt text:
- Screen reader users. Blind and low-vision visitors whose assistive software reads the alt text aloud. For them, your alt text is the content. It’s not a caption or a decoration; it’s the image.
- Search engines. Google and Bing use alt text as a strong signal for what an image is about. Your alt text helps the image rank in Google Images and contributes to the page’s overall topical signals.
There’s a third category sometimes cited — users on slow connections who see the alt text as a placeholder while the image loads — but this is mostly historical in 2026. Fast connections and lazy loading have made it rare.
The two primary audiences sometimes pull in different directions. Keyword-stuffed alt text is bad for screen reader users (“weird and mechanical read aloud”). Artistic-flourish alt text is bad for SEO (“too vague to signal topic”). The goal is alt text that works for both.
The one-rule version
If you only remember one thing, remember this: if a sighted person couldn’t identify the image from your alt text alone, it’s not specific enough. If a screen reader user would find the alt text weird read aloud, it’s over-optimized.
Test by reading your alt text out loud. Does it sound like something you’d say? Does it describe what’s there?
Examples, with the reasoning
Blog: editorial photograph
Image: a close-up of a woman’s hands kneading bread dough on a floured wooden surface.
Bad:
<img src="bread.jpg" alt="bread">
Why bad: too vague. “Bread” could be a loaf, a sandwich, a bakery window. No sighted user would identify this specific image from “bread.”
Also bad:
<img src="bread.jpg" alt="best homemade bread recipe easy sourdough">
Why bad: keyword-stuffed. Reads like a robot. Not describing what’s in the photo.
Good:
<img src="bread.jpg" alt="A woman's floured hands kneading bread dough on a wooden board">
Why good: specific, describes what’s visible, neutral voice. A sighted reader could identify it. A screen reader user learns what the image contains.
E-commerce: product photo
Image: a matte black ceramic coffee mug on a white background, photographed straight-on.
Bad:
<img src="mug.jpg" alt="product">
Even worse: alt="IMG_4521" or alt="". (Empty alt is fine for purely decorative images. A product photo isn’t decorative.)
Good:
<img src="mug.jpg" alt="Matte black ceramic coffee mug, 12 oz, viewed from the front">
Why good: tells screen reader users what the product is. Tells search engines what the image depicts. Includes the specs that are most relevant (material, size) without keyword stuffing.
E-commerce: product in use
Image: a woman holding the same mug by its handle, with a wisp of steam rising from the cup.
Good:
<img src="mug-in-use.jpg" alt="A person holding the matte black coffee mug by its handle, with steam rising from the surface">
Note: we don’t say “a woman” unless the person’s gender is relevant to the product. “A person” is usually the right choice.
Real-estate listing
Image: a bright kitchen with white cabinets, a quartz island, and a window above the sink.
Bad:
<img src="kitchen.jpg" alt="kitchen">
Good:
<img src="kitchen.jpg" alt="Bright white kitchen with quartz island, upper cabinets to the ceiling, and a window above the sink">
Real-estate photos benefit from being specific about features. Buyers searching for “kitchen with island” find your listing in image search.
Blog hero image
Image: an abstract illustration of a laptop and a smartphone with a graph rising between them.
Bad:
<img src="hero.jpg" alt="laptop and phone">
Good:
<img src="hero.jpg" alt="Illustration of a laptop and smartphone with a rising line chart between them, suggesting business growth">
For illustrations and metaphorical images, describe both the visual content and the intended meaning.
Data visualization / chart
Image: a bar chart comparing page load times for JPG, WebP, and AVIF.
Bad:
<img src="chart.png" alt="chart">
Good:
<img src="chart.png" alt="Bar chart comparing average page load time: JPG 2.8 seconds, WebP 2.1 seconds, AVIF 1.7 seconds">
For data visualizations, the alt text should convey the data. If the full data can’t fit, summarize the conclusion: “Bar chart showing AVIF loads fastest, followed by WebP, with JPG slowest.”
Decorative element
Image: a thin blue divider line used between sections of a page.
Good:
<img src="divider.svg" alt="">
Empty alt is correct for purely decorative images. Screen readers skip them. Adding “divider line” would just clutter the screen-reader experience.
Infographic
Image: a multi-panel infographic explaining how HTTPS works.
Good:
<img src="https-infographic.png" alt="Infographic explaining HTTPS: three panels show a user's browser, an encrypted connection, and a server, with text annotations describing the TLS handshake">
For complex images, the alt text can be longer. Aim for a summary that captures the informational content without reproducing every label.
Common mistakes
A few patterns that keep showing up, even among people who are trying:
Starting with “Image of” or “Picture of”
<!-- Bad -->
<img alt="Image of a sunset over mountains">
<!-- Good -->
<img alt="A red sunset over jagged mountain peaks">
Screen readers already announce the element as an image. “Image of” is redundant and makes the experience feel more mechanical.
Using the filename
<!-- Bad -->
<img src="IMG_4521.jpg" alt="IMG_4521">
Filenames are not alt text. I’ve seen this on sites run by otherwise-competent developers whose CMS auto-populates the alt field from the filename.
Treating alt text as a caption
<!-- Bad: alt text containing caption-like context -->
<img alt="Figure 3: Our revenue grew 42% year over year. As the chart below shows, this was driven primarily by mobile conversions.">
Captions belong in a <figcaption>. Alt text describes what’s in the image for people who can’t see it. Long explanations go in the surrounding text.
Keyword stuffing
<!-- Bad -->
<img alt="best wedding photographer nyc wedding photos affordable wedding photographer cheap wedding photography">
This hurts screen reader users and increasingly fails to rank well. Google’s systems got much better at detecting keyword stuffing around 2020, and alt-text stuffing is one of the patterns they specifically look for.
Duplicating the caption
<figure>
<img alt="A woman's floured hands kneading bread dough">
<figcaption>A woman's floured hands kneading bread dough</figcaption>
</figure>
If you have a <figcaption>, the alt text can be alt="" — screen readers will read the caption, and reading the same text twice is worse than reading it once. Or give them different text: alt describes visual content, figcaption adds context (“Dough for my grandmother’s 1952 recipe”).
Length guidance
There’s no hard limit, but practical guidance:
- Under 125 characters is a common recommendation. Screen readers typically don’t pause within alt text, so very long strings become a single run-on.
- Under 250 characters is a looser but still reasonable ceiling.
- For data visualizations or complex infographics, longer alt text is acceptable, but consider putting the detailed description in a
<figcaption>or linked text and keeping the alt text a summary.
If your alt text is over 250 characters and you haven’t already tried to tighten it, you probably have too much detail for this field.
Writing process I actually use
When I’m writing alt text for a batch of photos:
- Look at the image. What’s actually in the frame? Name the subject.
- What’s the context or setting? Add that if non-obvious.
- What details matter for this specific post? Add those.
- Read it out loud. Does it sound like English? If yes, ship it. If not, rewrite.
For 50 photos, this takes about 15 minutes. The result is meaningfully better than any automated alt-text generator I’ve tried, even the ML ones.
On AI-generated alt text
Some CMSes and plugins offer automated alt-text generation using computer vision models. My experience: it produces generic, usable-but-soulless alt text (“A person holding a cup”). Better than empty or IMG_4521, worse than human-written alt text that knows the post’s context.
If you genuinely don’t have time to write alt text, auto-generation is better than nothing. If you have five minutes, write it yourself. The difference shows up in both accessibility quality and image-search rankings.
If you fix alt text on an existing site
I once helped a client audit an e-commerce site with 2000 products. Their existing alt text was either blank or “product name.” We rewrote each one to be specific (“Matte black ceramic mug, 12 oz, front view” instead of “Noble Mug Collection”). Google Images traffic increased roughly 40% over the three months following the fix.
That’s anecdotal, but it matches what everyone else who does this work reports. Alt text is one of the highest-ROI image-SEO tasks you can do. Especially if your current alt text is weak or missing.
The honest summary
Good alt text is specific, neutral, and reads like English. It describes what’s in the image. It’s written for the screen reader user first, with SEO as a secondary benefit that mostly takes care of itself when the first part is right.
If you’ve been putting off alt text because you weren’t sure what to write, the examples above should get you most of the way there. Pick the closest match and adapt. The worst alt text is no alt text; almost anything reasonable beats leaving the field blank.
Try our free image tools
Compress and convert images right in your browser. No upload, no signup, no limits.