Image Alt Text Extractor

Every image on a page with its alt text, and the ones missing it separated from the ones deliberately left blank.

Missing alt and empty alt are not the same thing

This is the distinction the whole tool is built around, and most checkers blur it.

MarkupMeansA screen reader
<img src="cat.jpg">Nobody decidedFalls back to reading the file name, which is usually meaningless
<img src="cat.jpg" alt="">Deliberately decorativeSkips it entirely, which is correct for a spacer or a flourish
<img src="cat.jpg" alt="A tabby asleep on a keyboard">DescribedReads the description

An empty alt is a real and useful answer. A missing one is an omission. They are counted separately above so the number you need to fix is the number that is actually wrong, rather than a total inflated by images that were handled correctly.

What good alt text looks like

Describe what the image conveys in this context, not what it contains. The same photograph needs different alt text on a news article and on a product page, because it is doing a different job. Leave out image of and picture of: assistive technology already announces that it is an image, so those words are read out twice.

A sentence is usually plenty. Where an image carries information that cannot be compressed into one, such as a chart, the answer is a description in the surrounding text rather than a paragraph crammed into an attribute.

Why it matters, in the right order

Alt text is often presented as an SEO tactic. It does help: it is how a search engine understands an image, which matters for image search and adds a little context to the page. That is the secondary reason.

The primary one is that without it, a portion of your readers cannot use the page. In many jurisdictions that is also a legal obligation rather than a courtesy. The ordering matters because it changes what you write: alt text written for a crawler tends to be a keyword list, and alt text written for a person tends to be a sentence, and only the second one actually helps either audience.

What this tool cannot see

The page is read as HTML without running JavaScript, which is close to what a crawler sees on its first pass. Three things are therefore invisible: images inserted by a script after load, images held in a data-src attribute until a lazy loader swaps them in, and CSS background images, which are not img elements at all.

The first two are worth knowing about rather than working around. If your images only exist after JavaScript runs, a crawler may not see them either. A CSS background is a different case: a decorative background is right to be invisible to assistive technology, and an informative one should not have been a background.

How to use it

Enter a page address and press Extract. Use the filters to jump straight to the images with no alt attribute, which is normally the list you came for. Download CSV saves everything for working through offline.

Questions

What is the difference between a missing alt and an empty one?

A missing attribute means nobody decided. A screen reader falls back to reading the file name, which is usually meaningless. An empty alt is a decision: it tells assistive technology to skip the image because it is decorative. Empty is correct for a spacer or a background flourish, and wrong for anything carrying information.

What makes good alt text?

Describe what the image conveys in this context, not what it contains. The same photograph on a news article and a product page needs different alt text. Skip phrases like image of, since a screen reader already announces that it is an image, and keep it to a sentence.

Does alt text help SEO?

It is how a search engine understands an image, so it matters for image search and adds a little context to the page. That is a secondary benefit. The primary reason is that without it a portion of your readers cannot use the page at all, which is both the right argument and in many places a legal requirement.

Why do some images not appear?

Because the page is read as HTML without running JavaScript. Images inserted by a script after load, or held in a data attribute until a lazy loader swaps them in, are not in the markup this sees. CSS background images are not img elements at all and never appear.

Can it read a page behind a login?

No. The page is fetched anonymously with no cookies, so anything requiring a session returns the login page instead. Private addresses are refused as well, for the same reason any URL-fetching tool must refuse them.