Image alt tag checker
Check whether images on your page have alt tags filled in and identify common mistakes
Check results
This check only covers alt tags. For a full picture of your page, run a page audit.
For issues across your whole site — duplicate titles, orphan pages, broken internal links — run a site audit.
Want us to fix what we found? Our team can help.
What are alt tags and why they matter
The alt attribute on an <img> tag is a text description of an image. Search engines cannot "see" images, so alt is the primary signal that tells Google what the image depicts — it's how images get ranked in Google Images and how they contribute to the relevance of the containing page. Alt also shows when an image fails to load and is read aloud by screen readers for visually impaired users, which affects both accessibility and user-experience signals that Google uses for ranking.
What this tool checks
- Alt attribute presence — every
<img>should have analtattribute (missing attribute is different fromalt="") - Empty alt — images with
alt=""(only correct for purely decorative images) - Filenames in alt — values ending with image extensions (.jpg, .png, .webp…) are typically auto-generated and uninformative
- Digits-only alt — values made up only of numbers or punctuation
- Generic alt — single words like "photo", "image", "logo", "banner"
- Redundant prefix — alt starting with "image of" / "photo of" (screen readers already announce it's an image)
- Very short alt — 1-2 characters, likely not descriptive
- Very long alt — over 125 characters, often keyword-stuffed or misused
- Keyword stuffing — the same word repeated 3+ times in one alt
- Duplicate alts — same alt text on multiple different images
How to write good alt tags
- Describe the image concretely — "Red bicycle leaning on a lamppost in a city park" beats "Bicycle"
- Length: a short sentence — 5-15 words, under 125 characters
- Don't start with "image of" / "picture of" — screen readers announce that the element is an image automatically
- Use keywords only when they fit naturally — don't force them in, never repeat
- For purely decorative images, use
alt=""— not a missing attribute, and not a placeholder word - Functional images (buttons, links) — describe the action, not the visual ("Submit form", not "Green button")
Good vs bad examples
Good — concrete and descriptive:
<img src="bicycle.jpg" alt="Red mountain bike leaning on a park bench">
Good — empty alt for a purely decorative divider:
<img src="divider.svg" alt="" role="presentation">
Bad — missing attribute entirely (screen reader falls back to reading the filename):
<img src="DSC_0023.jpg">
Bad — filename reused as alt, zero value:
<img src="DSC_0023.jpg" alt="DSC_0023.jpg">
Bad — keyword stuffing:
<img src="bike.jpg" alt="buy bicycle bicycle cheap bicycle online">
Bad — redundant prefix:
<img src="bike.jpg" alt="Image of a bicycle">
Common mistakes
- Missing the attribute entirely — use
alt=""for decoration, a description for everything else. Omitting it is always a bug - Using the filename as alt — CMS auto-fills like
DSC_0023.jpggive search engines and screen readers nothing - Starting with "Image of" / "Picture of" — redundant; screen readers already announce the image role
- Same alt on many different images — if every product photo has
alt="product", search engines can't differentiate them - Keyword stuffing —
alt="buy bike bike cheap bike online"looks spammy and may get rewritten or discounted by Google - Treating alt as ALT-text SEO keyword real estate — it's first and foremost an accessibility feature; SEO benefit follows from writing for users
Frequently asked questions
alt="") is a deliberate signal that says "this image is purely decorative, skip it" — correct for spacers, dividers, and icons that duplicate adjacent text. If you want to hide an image from assistive tech on purpose, always use alt="", not nothing.alt attribute belongs on the inner <img> tag inside a <picture> element, not on <source>. For srcset on a regular <img>, the alt covers the image regardless of which resolution variant the browser picks. This tool reads <img> alt attributes directly — the <picture> wrapper doesn't change anything.