How to Fix Alt Text That's Too Long
Your audit flagged one or more images whose alt text runs past the recommended length (a common working limit is about 125 characters). Overlong alt attributes are harder for screen-reader users to follow, dilute the signal Google reads from an image, and often mean the alt is keyword-stuffed. The fix is straightforward: rewrite each flagged alt into a concise, specific description of what the image shows, and move any extra context into a caption or the surrounding text.
What this means
Alt text (the alt attribute on an <img> tag) is the short text description a browser shows when an image fails to load and a screen reader reads aloud to blind or low-vision users. This audit checks the character length of your alt attributes and flags any that run well past the practical working limit, commonly cited as around 125 characters.
A "too long" alt usually looks like one of these: a full sentence or two crammed into the attribute, a keyword-stuffed string ("blue running shoes buy running shoes best running shoes cheap running shoes online"), or narrative context that belongs in the article body rather than on the image itself. This is a low-severity notice, not an error. Your image still loads and is still crawlable. But it signals that the alt text isn't doing its job efficiently, and it's worth a quick cleanup pass.
Good alt text conveys the image's meaning as concisely as a person would if they were describing it to someone who can't see it. If you need a paragraph to do that, the extra detail belongs in a visible caption or the page copy, not the alt attribute.
Why it matters
The most direct impact is accessibility. A screen reader reads the whole alt attribute in one pass, with no way for the user to skim it, pause, or jump backward and forward the way they can with normal page text. A 300-character alt becomes a wall of speech the listener has to sit through to reach the point. Concise alt text is genuinely easier for the people who depend on it.
For classic Google ranking, alt text is one of the main signals Google uses to understand what an image depicts, which feeds Google Images and adds relevance context to the page. Google's image SEO guidance recommends descriptive but not excessively long alt text, and it explicitly warns that stuffing keywords into alt attributes creates a poor user experience and can be treated as spam. An overlong alt is frequently overlong precisely because it's stuffed, so this notice often flags a keyword-stuffing risk in disguise.
For AI answer engines, the angle is subtler but real. Crawlers assembling page context for AI Overviews, ChatGPT, or Perplexity use alt text as a compact, machine-readable label for what an image contains. A tight, accurate alt ("Bar chart of 2025 US EV sales by quarter") is a clean signal a model can reason over or cite. A rambling, keyword-padded alt is noise that's easier to ignore or down-weight. Clarity helps the screen reader and the machine reader for the same reason.
How to fix it
- 1
Aim for roughly 125 characters or fewer
There's no character limit in the HTML spec, and modern screen readers do not truncate long alt text. But ~125 characters is a widely used working target because beyond that, alt text becomes hard to listen to in a single uninterrupted pass. Treat it as a guideline, not a wall: a clear 130-character alt beats a padded 80-character one. If you're consistently blowing past 125, you're usually including context that belongs elsewhere on the page.
- 2
Describe the image, then stop
Write what the image actually shows, specifically, and end the sentence. "Golden retriever puppy sitting in a wicker basket" is complete. Don't append the brand name, a call to action, a location, or a keyword list unless it's genuinely part of what's depicted. If the image is a chart or infographic, name what it plots ("Line graph of monthly organic traffic, Jan to Dec 2025") rather than restating every data point. Skip "image of" or "picture of"; screen readers already announce that it's an image.
- 3
Move extra context into a caption or body text
If your long alt was carrying useful information, such as a longer explanation, supporting detail, or a data callout, relocate it to a visible
<figcaption>or a nearby paragraph. Captions are read by everyone, indexed as normal page text, and picked up by AI crawlers, so nothing is lost. This is the single most common fix: the content was fine, it was just in the wrong attribute. - 4
Strip out keyword stuffing
If the alt repeats the same keyword several times or reads like a search query, rewrite it as a natural description. Google treats keyword-stuffed alt text as a spam signal, and it reads terribly aloud. Use the keyword once, and only if it honestly describes the image. "Wireless noise-cancelling headphones on a wooden desk" is fine; "headphones wireless headphones best headphones buy headphones" is not.
- 5
Mark purely decorative images with an empty alt
If a flagged image is decorative, such as a divider, a background flourish, or an icon next to text that already says the same thing, the correct fix isn't a shorter description, it's an empty alt (
alt=""). This tells screen readers to skip it entirely. Do not delete the attribute; a missingaltis a separate problem. An explicitalt=""is intentional and correct for decoration. - 6
Re-run the audit to confirm
After trimming the flagged images, re-crawl the page and make sure you fixed every instance the audit listed, not just the first one. Because this is a per-image check, a single template that outputs long alts (a product loop, a gallery block) can generate the same notice across dozens of URLs. Fix it once at the template level and it clears everywhere.
Example
<!-- Before: too long, keyword-stuffed (~230 chars) -->
<img
src="/img/trail-running-shoe.jpg"
alt="best trail running shoes for men waterproof trail running shoes cheap trail running shoes buy trail running shoes online lightweight running shoes for trail and road 2025 top rated"
>
<!-- After: concise alt + caption carries the detail -->
<figure>
<img
src="/img/trail-running-shoe.jpg"
alt="Orange waterproof trail-running shoe with lugged sole, side view"
>
<figcaption>
The Terra GTX weighs 285g and uses a 4 mm-lug Vibram outsole,
our top waterproof pick for wet-weather trail running in 2025.
</figcaption>
</figure>
<!-- Decorative image: empty alt, not a long one -->
<img src="/img/section-divider.svg" alt="">Trim the overlong, keyword-stuffed alt into a concise description, and move the extra detail into a visible caption.
Platform-specific steps
Edit each flagged image in the Media Library or block editor and shorten the Alternative Text field to a concise description; neither Yoast nor Rank Math writes alt text for you, so this is manual. If your theme or a plugin auto-generates alt from the image title or filename, disable that so it stops emitting long or stuffed strings. Move extra detail into the block's Caption field, which renders as a visible <figcaption>.
In the product or asset editor, click the image and edit the "Image alt text" field. If your theme's Liquid templates output alt using a stuffed default like {{ product.title }} {{ product.type }}, fix the template so it emits a clean, short alt. Product-loop templates are the usual culprit when the same long-alt notice repeats across many pages.
Both use a per-image alt field in the image settings panel: click the image, open settings, and edit the alt ("What's the image?") text to a short description. Neither platform enforces a length limit, so trim manually. When you have longer explanatory text, use the caption option instead of the alt field.
Shorten the alt prop wherever it's set. The common cause in component-driven sites is a shared image component or a .map() loop that builds alt from concatenated fields (e.g. alt={${title} ${category} ${tags.join(' ')}}); fix it once in the component and it clears everywhere. In Next.js, next/image requires an alt prop but does not limit its length, so keep it a plain descriptive string.
Frequently asked
There's no maximum in the HTML specification, and modern screen readers don't truncate alt text. The commonly cited ~125-character guideline is a usability convention, not a hard limit: past that length, alt text gets tiring to hear in one uninterrupted pass, since a listener can't skim or pause it. If a complex image genuinely needs more detail, put that detail in a caption or nearby text rather than stretching the alt attribute.
Not directly and not severely. This is a low-priority notice, not an error, and Google won't penalize a page for it on its own. The real risk is that overlong alt text is usually overlong because it's keyword-stuffed, and Google explicitly discourages keyword stuffing in alt attributes as a spam signal. Trim it to a natural description and you remove that risk while making the image clearer for image search.
Use a visible caption (a <figcaption> inside a <figure>, or your platform's caption field) or work it into the paragraph near the image. Caption and body text are read by all users, indexed by Google as normal content, and available to AI crawlers, so you lose nothing by moving detail out of the alt attribute. Alt text should be a concise label; captions and body copy carry the depth.
Decorative images, such as dividers, background shapes, or icons that repeat adjacent text, should have an empty alt attribute (alt=""), not a description of any length. This signals screen readers to skip them so users aren't slowed by meaningless announcements. Leave the attribute present but empty; removing it entirely triggers a different "missing alt" issue.
Yes. Crawlers assembling page context for AI Overviews, ChatGPT, and Perplexity use alt text as a compact machine-readable label for what an image contains, alongside captions and surrounding text. A tight, accurate alt gives these models a clean signal to reason over or cite; a rambling, keyword-padded one is noise they're likelier to ignore. Concise alt text helps both screen readers and AI readers for the same reason: clarity.
Does your site have this issue?
Run a free, AI-powered audit and we’ll flag this and 150+ other checks in about a minute. No signup.