How long should alt text be? WCAG guidelines and practical limits
· alt text · WCAG · how-to · guidelines
Search for how long should alt text be and most articles give you a character count: 125 characters, sometimes 150, occasionally "keep it under two sentences." What almost none of them mention is that WCAG — the international standard your alt text is supposed to meet — does not set a character limit anywhere. The number you keep seeing comes from a technical limitation in older screen reader software. Knowing the difference between the two changes how you approach writing alt text for the things that genuinely need more space.
The 125-character practical guideline explained
The 125-character figure has a specific origin. Older versions of JAWS, the most widely-used screen reader on Windows, truncated the alt attribute at approximately 125 characters before moving on. Users running those versions would never hear the rest of a longer description. That practical ceiling became a de facto recommendation, repeated across SEO guides and accessibility documentation until it took on the weight of a rule.
Current versions of JAWS, NVDA, and VoiceOver do not have the same truncation behaviour. They read the full alt attribute regardless of length. The 125-character guideline is still a reasonable default because it forces concision — if you cannot describe an image in 125 characters, you may be including detail that belongs in the surrounding content rather than the alt attribute. But it is a style heuristic, not a compliance requirement.
What WCAG 1.1.1 actually requires
WCAG Success Criterion 1.1.1 (Non-text Content, Level A) says that all non-text content must have a text alternative that serves the equivalent purpose. That is the actual test: does the alt text let someone who cannot see the image understand what the image is there for?
Equivalent purpose depends on context. A product photo of a chair exists to show the customer what the chair looks like and help them make a purchase decision. The alt text needs to convey enough of that information to serve the same purpose for a screen reader user. "Chair" does not. "Solid oak dining chair with upholstered seat in charcoal grey" does.
An icon that opens a search dialogue exists to label a function. The alt text "Search" serves that purpose in one word.
Length is a consequence of purpose, not a target. Write the shortest text that genuinely conveys equivalent purpose. That might be two words for an icon; it might be 90 words for an infographic.
Alt text length examples
| Image | Alt text | Length | Assessment |
|---|---|---|---|
| Product photo of a shirt | shirt | 5 chars | Too short — no identifying detail |
| Product photo of a shirt | Men's navy linen shirt, short-sleeved, relaxed fit | 50 chars | Passes — equivalent purpose for a product page |
| Product photo of a shirt | Blue shirt | 10 chars | Too vague — no material, cut, or distinguishing features |
| Decorative banner (no information content) | `` (empty string) | 0 chars | Correct — screen readers skip it |
| Infographic showing EU e-commerce growth data | Bar chart showing EU e-commerce revenue growing from €500bn in 2019 to €887bn in 2023, with Germany, France, and the UK as the three largest markets throughout the period | 172 chars | Acceptable — data-heavy images may need more space |
The 172-character example in that last row exceeds the 125-character guideline. It passes WCAG 1.1.1 because it conveys the equivalent informational purpose of a chart that a sighted user would read in detail. Nothing in the standard penalises it.
When you need more than 125 characters
Complex images — charts, maps, technical diagrams, infographics — sometimes cannot be adequately described in a short sentence. For these, the alt attribute is not the right tool.
aria-describedby links an image to a longer description that exists elsewhere in the document:
<figure>
<img
src="/charts/eu-ecommerce-growth.png"
alt="Bar chart: EU e-commerce revenue 2019–2023"
aria-describedby="chart-description"
/>
<figcaption id="chart-description">
EU e-commerce revenue grew from €500bn in 2019 to €887bn in 2023.
Germany, France, and the UK were the three largest markets throughout
the period. Growth accelerated sharply in 2020 (up 26% year-on-year)
before returning to a steady 8–12% annual increase from 2021 onwards.
</figcaption>
</figure>
The alt attribute gives a concise label that orients the user; aria-describedby points to the full description in a visible <figcaption>. Screen readers announce the short alt first, then offer the longer description as an extended option. Sighted users can also read the caption.
For images where the long description cannot be on the visible page, an off-screen <div> with id and the aria-describedby reference achieves the same result — though visible captions are generally better for all users.
Alt text for different image types
Product images: Describe material, colour, key visual features, and context where relevant. "Hand-thrown ceramic mug in sage green glaze, 350ml" tells a screen reader user what they would see. Do not include the price or SKU — that information is in the surrounding content.
Decorative images: Background textures, dividers, and purely ornamental illustrations get an empty alt="". Leaving the attribute off entirely is a WCAG failure; an explicit empty string is the correct signal telling screen readers to skip the element.
Functional icons: Buttons and links with icon images need alt text that describes the function, not the icon. A magnifying glass icon on a search button: alt="Search". A basket icon on a checkout link: alt="View basket". Never alt="magnifying glass icon".
Infographics and charts: Use alt for a short label and aria-describedby for the data. If the chart's data is available in a table elsewhere on the page, link to it as an alternative.
Logos that link to the homepage: Describe both the image and the function. alt="Altvisor — go to homepage" is better than alt="Altvisor logo", because the purpose is navigation, not identification.
The five things every good alt text does
Regardless of length, effective alt text:
- Conveys the purpose of the image in the context where it appears
- Avoids the prefix "image of" or "photo of" (screen readers announce image type automatically)
- Uses natural sentence structure, not comma-separated keyword lists
- Matches the detail level to the image's informational role on the page
- Treats decorative images as invisible (empty
alt, never missingalt)
The short answer to how long should alt text be: long enough to serve its equivalent purpose, and no longer. For most product images, that is one clear sentence between 50 and 100 characters. For complex data visualisations, it may be considerably more — and for those, the aria-describedby pattern is the right tool.
Run a free WCAG scan on your storefront to see exactly where you stand — then start free to fix image alt text at scale.