Image Alt Text Checker
Check every image on a page for missing or weak alt text - free.
What this tool does
Paste your page's HTML and every image is listed with its current alt text and a verdict - missing, empty, generic/filename-like, or genuinely descriptive - so you know exactly which images need attention.
Extracts every <img> element from pasted HTML, along with its src and alt attribute.
Flags images with no alt attribute at all, an empty alt (only appropriate for purely decorative images), and generic or filename-like alt text such as 'image1' or 'photo.jpg'.
Matches generic filler alt text against several real-world patterns at once - numbered placeholders like 'image1' or 'photo2', the literal word 'untitled', and any alt text that's just a filename ending in .jpg, .jpeg, .png, .gif, .webp or .svg.
Distinguishes a deliberately empty alt="" from a genuinely missing alt attribute, since a simple 'is alt text present' check would treat the two identically even though only one of them is ever correct.
How to use it
- Copy your page's HTML.
- Paste it in.
- Review the flagged images and improve their alt text.
Why use this checker
Alt text matters for accessibility and image search, and a page can have dozens of images with missing or weak text. A list of every image with its alt shows the gaps.
Why we built it
We built the alt text checker to flag generic or filename-like alt text such as IMG_4471.jpg as its own category, not only missing alt. Review headings with the heading structure checker and links with the link extractor.
For a neighbouring job there is also the Hreflang Tag Generator and the Canonical URL Checker.
Who this tool is for
- SEO and accessibility reviewers
- Content editors
- Developers auditing pages
When to use it
- Accessibility and SEO audits.
- Finding missing alt attributes.
- Reviewing weak text such as "image".
- Preparing a content fix list.
Why a filename isn't real alt text
Technically having an alt attribute isn't the same as it doing its job.
An image with alt="IMG_4471.jpg" technically has an alt attribute, so a simple 'is alt text present' check would pass it - but a screen reader user hears a meaningless filename, and search engines get no useful signal about what the image shows either. This checker specifically flags filename-like and generic placeholder text as its own category, separate from a genuinely missing attribute, because the fix is different: a missing attribute needs one added, while a generic one needs a better description written.
Why an empty alt attribute isn't the same as a missing one
One is a deliberate, correct choice for certain images; the other is never correct.
Accessibility guidance draws a clear line between the two: a purely decorative image - a spacer graphic, a background flourish that adds no information - should use alt="" (present, but empty) so a screen reader skips over it silently instead of announcing something meaningless. A missing alt attribute is different and always a problem, since screen reader behaviour for an image with no alt attribute at all varies but commonly falls back to announcing the filename or reading it out as an unlabeled image - a worse experience than silence. This tool treats the two as separate verdicts specifically because the fix, and the correct end state, is different for each.
What you give it, and what you get back
| Item | Details |
|---|---|
| Input | Page HTML. |
| Output | Each image with source, alt and flags. |
| Scope | Static HTML only. |
Issues you may run into
| What you see | Why it happens | What to do |
|---|---|---|
| A page element is missing from the result | It is added by JavaScript after the page loads. | Paste the rendered HTML (from the browser inspector) instead. |
| Empty alt is flagged | It is only right for decorative images. | Confirm it is decorative. |
| Alt too long or generic | It does not describe the image. | Describe its content and purpose. |
Assumptions and limitations
- This checks static HTML you paste in - it won't reflect images a page adds dynamically with JavaScript after the initial page load unless you paste the HTML after that JavaScript has run.
- It can't judge whether existing alt text is actually accurate to the image - only whether it's present, non-empty, and not an obvious filename or placeholder.
Frequently asked questions
How do I check my page's images for missing alt text?
Copy your page's HTML and paste it in - every image is listed with its current alt text and a verdict.
Is an empty alt="" always wrong?
No - it's the correct choice for a purely decorative image that adds no information, but wrong for a meaningful image, which is why this tool flags it separately from a missing attribute rather than treating both the same.
Why is alt="photo.jpg" flagged as a problem?
It technically has alt text, but a filename or generic word like 'photo' or 'image' tells a screen reader user or a search engine nothing useful about what the image actually shows.
Does this check images added by JavaScript?
No - only what's present in the HTML you paste. Paste the HTML after any dynamic content has loaded if you want those images included.
Is my HTML sent anywhere?
No. Parsing and checking happen entirely in your browser.
What alt text patterns does this tool flag as generic?
Alt text that's just a placeholder word like 'image', 'photo' or 'picture' (with or without a trailing number), a filename-style value ending in .jpg, .jpeg, .png, .gif, .webp or .svg, or the literal word 'untitled' - each a sign the alt text describes nothing about the actual image.
What happens if a screen reader hits an image with no alt attribute at all?
Behaviour varies by screen reader, but a missing alt attribute commonly gets announced using the image's filename or as an unlabeled image, which is worse than an empty alt="" that a screen reader can skip silently for a genuinely decorative image.