Free alt text checker
Paste a URL. Get every image on the page that has no alt attribute at all, and the source of each one so you can find it.
No account, nothing stored. Image sources are listed as text, never loaded, so checking a page does not make your browser fetch anything from it.
An empty alt is not a missing alt
This tool flags images with no alt attribute at all. It does not flag alt="", because that is the correct markup for a decorative image, not an oversight.
The distinction is the whole subject. A screen reader handles the two completely differently:
| Markup | What a screen reader does |
|---|---|
alt="Signed contract" | Reads the description. Correct for an image carrying meaning. |
alt="" | Skips it entirely. Correct for decoration: a divider, a background flourish, an icon beside text that already says the same thing. |
| No alt attribute | Falls back to announcing the file name, so the user hears something like "I M G underscore 4 0 2 1 dot J P G". This is the fault. |
Which is why a tool that reports "images missing alt text" and counts alt="" among them is telling you to break working pages. Adding a description to a decorative divider makes the page worse, not better.
What to write
- Describe the purpose, not the picture. For a logo that links home, the useful alt is the destination, not "blue circular logo".
- Skip "image of" and "picture of". The screen reader already announced it is an image.
- If the caption already says it, use
alt="". Hearing the same sentence twice is worse than hearing it once. - For text inside an image, the alt is that text. Verbatim.
- Do not keyword stuff. Alt text is a weak ranking signal and a strong accessibility one. Optimising the weak side at the cost of the strong one is a bad trade.
The relevant standard is WCAG 1.1.1 Non-text Content, at level A, which is the baseline almost every accessibility requirement starts from.
What this tool reads
It reads the raw HTML your server sends, so it sees <img> tags that arrive with the page. Three things it will miss:
- CSS background images. They carry no alt attribute by definition, and if they convey meaning that is itself a problem worth knowing about.
- Images inserted by JavaScript, including most lazy-loading galleries and anything in a client-rendered app.
- Pages behind a login. It fetches as an anonymous visitor.
The Teardown extension covers all three: it reads the rendered page in your own tab, shows a thumbnail of each offending image so you can see what it is, and clicking one scrolls the page straight to it.