Auditing Alt Text, Including the Images That Should Have None
Enter a URL and this finds every image on the page and sorts its alt text into one of six states: fine, missing, deliberately empty, duplicated, the file name rebadged as a description, or too long to be read aloud comfortably. Each image gets a specific recommendation rather than a generic warning.
The distinction most tools miss is the one between missing and empty. `alt=""` is not a mistake — it is how you tell a screen reader to skip a decorative image, and it is the correct markup for a divider or a background flourish. A tool that reports it as an error teaches people to add noise to pages that were already right.
At a glance
- Empty alt is correct for decorative images. Missing alt never is.
- Alt text that repeats the file name is treated as a problem, because it reads aloud as gibberish.
- Duplicate alt across several images is flagged — usually a sign of a CMS filling in a default.
- Width, height and loading attributes are reported too, since they belong to the same audit pass.
How to Use This Tool
Enter the page URL
Fetched server-side, so any public page works. Images added by JavaScript after load are not seen, which is the same limit a crawler has.
Filter to problems
On an image-heavy page the full list is long. The problems filter is where the work is.
Deal with missing alt first
A missing attribute is unambiguous — nobody decided anything. Screen readers fall back to reading the file name, which is the worst outcome available.
Check the empty ones are meant to be empty
Small icons are flagged as plausible decoration and left alone. A large image with an empty alt is worth a second look, since it may have been emptied to clear a warning.
Rewrite the filename and duplicate cases
These are the ones that look filled in and carry no information. They are also the easiest to fix, because you can see the image while you write.
What Alt Text Is Actually For
Alt text exists so someone who cannot see an image still gets what it contributes. A screen reader announces it in place of the picture, and it also appears when an image fails to load — a slow connection, a broken path, a blocked host.
That framing decides how to write it. The question is not "what is in this picture" but "what would this reader miss without it". A photograph of a product being used needs different alt text on a shop page than in a blog post about ergonomics, because it is doing a different job in each.
Search engines read it too, and it is how image search understands what a picture shows. But that is a secondary benefit, and treating it as the main one is how alt text ends up stuffed with keywords and useless to the people it was built for.
The Six States, and What Each Means
- Fine — an alt attribute with a real description of a sensible length. Nothing to do.
- Missing — no alt attribute at all. Screen readers commonly fall back to announcing the file name, so a visitor hears something like "IMG underscore 4471 dot jpeg". Always a fault.
- Empty — alt="" present and deliberate. This is the correct markup for a decorative image and tells a screen reader to skip it. Correct on a divider, wrong on a chart.
- Filename — the alt text is the file name with the hyphens taken out. It looks filled in to a checklist and reads aloud as nonsense.
- Duplicate — several images sharing the same alt text. Usually a CMS default applied everywhere, which means none of them describe anything.
- Too long — over about 125 characters. Screen readers read the whole thing without pauses, and a paragraph delivered in one breath is hard to follow. Long descriptions belong in the page text.
Empty Alt Is Not a Mistake
This is the part that most audits get wrong, and it produces real harm.
Decorative images carry no information. A gradient behind a heading, a dividing line, a small flourish beside a section title — announcing these interrupts someone for no benefit. `alt=""` tells assistive technology to pass over them silently, which is exactly right.
Removing the attribute entirely is not the same thing. With no alt at all, a screen reader does not know the image was meant to be skipped and often reads the file name instead. The empty attribute is a decision; the missing one is an omission.
So a tool that flags every empty alt as an error is pushing people to describe images that should not be described, and the accessibility outcome gets worse. This audit marks small icons as plausible decoration and leaves them alone, while noting larger images with empty alt as worth a look — because those are sometimes emptied to make a warning go away.
Writing Alt Text That Works
- Describe the function, not the pixels. "Chart showing a 40% rise in mobile traffic since March" is more useful than "line graph".
- Skip "image of" and "picture of". A screen reader already announced that it is an image.
- Keep it under about 125 characters. If more is genuinely needed, the image is carrying information that belongs in the page text where everyone can reach it.
- For an image inside a link, describe where the link goes rather than what the image looks like. That is what the reader needs from it.
- For charts and infographics, put the data in the surrounding text and keep the alt text short. Nobody can absorb a table read aloud as one sentence.
- For product photos, describe what distinguishes this one — colour, angle, what it is shown with. "Blue running shoe, side view" beats "running shoe" on a page listing nine of them.
The CMS Problem
Duplicate alt text across a page almost always has a systemic cause rather than an authoring one. A theme applies the post title as the alt for every image in the post, or a template hardcodes the site name into a partial that renders repeatedly.
That is worth recognising before you start editing images one at a time, because the fix is in the template and the individual edits will be overwritten by the next content update.
The same is true of missing alt at scale. If most images on a page have none, the upload flow is not asking for it. Fixing the page is worth an afternoon; fixing the flow stops the problem returning.
Some platforms also treat alt and title and caption as interchangeable fields and populate them from one another. That is how the file name ends up in the alt attribute — nobody typed it there.
Alt Text, Accessibility and SEO
Missing alt text is a genuine accessibility failure, and under WCAG it is a Level A failure — the most basic tier. For any organisation with a legal obligation around accessibility, this is not an optimisation.
For search, alt text is how Google understands an image, and image search sends real traffic to some kinds of site. It contributes modestly to understanding the page as a whole too, since it is text on the page describing its subject.
It is also the most common thing dragging down a Lighthouse accessibility score, which is one of the four categories our Core Web Vitals Checker reports.
What does not work is writing alt text for search engines. Keyword-stuffed alt text is unpleasant to listen to, gains nothing, and inverts the purpose of the attribute. Write it for the person, and the search benefit follows on its own — our Keyword Density Checker will tell you if a page has drifted into over-optimisation.
While you are auditing images, the width and height attributes are worth the same pass. Images without dimensions are the leading cause of layout shift, and that one does affect Core Web Vitals directly.
Frequently Asked Questions
Is empty alt text a mistake?
No. alt="" is the correct markup for a decorative image and tells screen readers to skip it deliberately. It is different from having no alt attribute at all, which is always a fault — with nothing there, screen readers often read the file name instead.
How long should alt text be?
Under about 125 characters. Screen readers read the whole thing without pauses, so a long description arrives as one unbroken sentence. If an image needs more explanation than that, the explanation belongs in the page text.
Does alt text help SEO?
Yes, modestly. It is how search engines understand what an image shows, which matters for image search, and it contributes a little to understanding the page. Keyword stuffing does not help and makes the page worse for the people alt text exists for.
What should alt text say for a chart?
Keep it short and put the actual data in the surrounding text, where everyone can reach it. "Chart showing mobile traffic rising 40% since March" works; reading a whole table aloud in one sentence does not.
Why do several images have the same alt text?
Almost always a CMS or theme filling in a default — often the post title or the site name — for every image. The fix belongs in the template, since editing the images individually will be undone by the next content update.
Is missing alt text an accessibility violation?
Yes. Under WCAG it is a Level A failure, the most basic conformance tier. For organisations with a legal accessibility obligation, this is a compliance matter rather than a nice-to-have.
Does this find images loaded by JavaScript?
No. It reads the HTML the server returns, which is what a crawler sees on its first pass. Images injected by scripts after load are invisible to both.
What alt text should a linked image have?
Describe where the link goes, not what the image looks like. A logo linking to the homepage wants alt text naming the destination, because that is what the reader needs in order to decide whether to follow it.
How do I check the alt text of an image?
Right-click the image, choose Inspect, and look for the alt attribute on the <img> tag. To check every image on a page at once, enter the URL here.
Related Tools
Core Web Vitals Checker
Alt text is the usual cause of a low accessibility score in Lighthouse.
Advanced On-Page SEO Analyzer
Check headings, meta tags and structure alongside your images.
Keyword Density Checker
Catch a page that has drifted into over-optimisation.
Broken Link Checker
Find images and links on the page that no longer resolve.