Image Alt Checker

Loading tool…

About Image Alt Checker

Paste a page URL and click Analyze. Every img is listed with src and alt. Flags: missing alt (the attribute is absent), empty alt, alt over 125 characters, a weak filename such as img001.jpg, and missing width or height. Thumbnails load when the image URL is public.

Src is resolved from src, then data-src, data-lazy-src, data-original, data-lazy, srcset, other data-* image URLs, and picture sources. data: and blob: URLs are skipped. CSS background images are not listed. Empty alt is valid for decorative images; we still list those rows so you can confirm the choice.

When to use it

Use it after a media-library import or a theme swap that republishes img tags without alt, or before an accessibility pass when you need a count of missing versus empty attributes on one URL.

Also use it when image search looks empty for a gallery page and you need to see whether the attribute is absent, not just whether a caption exists in the CMS.

How to use Image Alt Checker

  1. 1Paste the page URL. Use the live public URL.
  2. 2Click Analyze. The table fills with each img we found in the HTML.
  3. 3Sort and scan flags. Missing alt, empty alt, long alt, weak filename, and no dimensions.
  4. 4Fix alts in the CMS. Re-run after publish. Decorative images can keep an empty alt on purpose.

How to read the results

Count boxes are Images, Missing alt, Empty alt, Long alt, No size, and Weak name. The chip is critical when any img lacks the alt attribute. Missing width or height is a warning (layout shift). Empty alt and alt over 125 characters are notices. Weak filename is a table flag only.

Columns are Preview, Source, Alt, Size, and Flags. Wikipedia's Favicon article returned 18 images: one missing alt (critical), one without dimensions, and ten empty alts. GitHub's homepage had an alt on every img (pass on that rule) but 24 missing sizes, 17 empty alts, and three longs.

Why this matters

A missing alt attribute is not the same as alt="". Screen readers announce the missing case as an unnamed image; empty alt is the signal that the file is decorative and should be skipped. Image search also has no text when the attribute is absent.

Width and height on the tag (or an aspect-ratio) reserve space before the file arrives. Without them the layout jumps when the image paints, which is why No size is a warning even when every alt is present.

Limits and privacy

One public URL. Loopback and reserved IPs are rejected. Files created only after paint are missed. About 20 image tables per minute on your network. No login.

Common mistakes

Treating every empty alt as a defect. Decorative spacers should stay empty. Confirm the image carries no meaning, then leave it.

Reading Every img has an alt attribute as proof the text is useful. GitHub passed that row with 17 empty alts and three over 125 characters.

Expecting CSS background images or files created only after paint to appear. Those never enter the table. example.com shows No img tags found.

FAQs

Empty alt vs missing alt?
Empty alt (alt="") is valid for decorative images. A missing alt attribute is always an issue here.
Are CSS background images listed?
No. Only img (and picture sources used as the src). Backgrounds in CSS are skipped.
Do lazy-loaded images count?
If the URL is in src, data-src, srcset, or a data-* image attribute in the first HTML, yes. Images created only in JavaScript are not in that HTML.
Why 125 characters?
A guideline. Longer alt text is rarely useful for people or for snippets.
What is a weak filename?
Names like img, image, photo, dsc, or screenshot plus optional digits, with a jpeg, png, webp, or gif extension. Listed in the table; not a separate issue row.
Why did example.com say no images?
The first HTML has no img tags. Backgrounds in CSS do not count. Wikipedia's Favicon article is the other shape: 18 img rows and a critical for one missing alt. Re-run on a URL that actually emits img in the source.
Does a pass mean every alt is good?
No. The pass row is Every img has an alt attribute. Empty alt still counts as present. Long alts and missing dimensions can still sit on the same report, as they did on github.com.
Are picture and srcset URLs included?
Yes when they appear in the first HTML. Resolution order is src, then data-src, data-lazy-src, data-original, data-lazy, srcset, other data-* image URLs, and picture sources. data: and blob: are skipped.