Image alt text checker

Alt is what image search and a screen reader get. The usual bug is the attribute not being there at all. An empty alt on a decorative mark is correct — this checker does not lump the two together.

Uses the public POST /api/audit. After the free daily check, continue in the workspace.

What we measure

Every <img> in the HTML we already downloaded. We split the set into: has text, alt="" (decorative), and no alt attribute. Only the last group raises a warning.

We do not fetch the image bytes and we do not invent alt from the filename. A data: URI still counts as an image if it is in an <img> tag.

How to write alt

Describe the picture in a short clause. If the image is a link, the alt is the link purpose, not “logo”. If it is purely decorative, alt="" — do not omit the attribute.

Background images in CSS are not in this count. If the meaning lives only in a background, put it in the document as text or a real <img>.

What alt is for, and what it is not

The alt attribute is the text that stands in for the image: a screen reader reads it aloud, a browser shows it when the file fails, and image search indexes it. It is not a caption, not a place for keywords, and not required to describe every pixel. A product photo needs the product name and the distinguishing detail; a chart needs its conclusion; a logo that links to the home page needs the destination, because the alt becomes the link text.

The checker splits every <img> into three groups: alt with text, alt="" and no alt attribute at all. Only the last group is a warning. An empty alt is a deliberate statement that the image is decorative, and assistive technology skips it — which is what you want for a divider or a background pattern.

Common mistakes

Omitting the attribute so the screen reader falls back to the file name (“IMG_4032.jpg”). Writing “image of” or “picture of” — the reader already knows it is an image. Putting the whole product description in the alt of a thumbnail. Marking a meaningful chart as decorative because the layout had no room for text. Using alt on a CSS background, where it does not exist — the meaning has to move into the document.

What the audit of https://example.com/ returned on 5 September 2026

As found

<img src="/img/report-q3.png">
<!-- no alt attribute → img_alt_missing (warn); a reader hears "report-q3.png" -->

Fixed

<img src="/img/report-q3.png" alt="Q3 revenue up 12% over Q2, driven by the API plan">
<img src="/img/divider.svg" alt="">
<!-- the chart says its conclusion; the divider is declared decorative -->

example.com has no images at all (total 0), so the check passes trivially. The snippets show the two decisions the checker is really about: say what matters, or say explicitly that nothing does.

Questions

Is missing alt a ranking problem?

It is an accessibility failure first, and image search cannot index what it cannot read. On a page where images carry the content — products, charts, screenshots — it also removes the text that would have matched the query.

When is alt="" correct?

When the image adds nothing a reader needs: spacers, decorative shapes, a photo that repeats the adjacent text. The attribute must be present and empty; omitting it is the failure.

Does the checker look at the image files?

No. It reads the <img> tags in the HTML. Size, format and lazy loading are performance questions; this tool answers whether each image has a text equivalent.

See the full audit in your workspace

Other tools