Free tool Alt text checker for every image on a page
Paste a page's HTML and each image gets a verdict: alt missing, deliberately empty for decoration, a camera filename, a list of keywords, or fine. Images that are the only content of a link are checked harder, because their alt is the link's only text for both Google and screen readers.
- img, input type=image, area
- WCAG and WAI rules
- No image is loaded
Check image alt text
Paste the page source or a section of HTML. The table lists each image by file name with its alt text and verdict. Images are not downloaded or displayed.
A full page or a fragment. <img>, <input type="image"> and <area href> are checked; CSS background images have no alt and are not listed.
Images
5
Missing alt
1
No alt attribute at all.
Empty alt
1
alt="" outside links: marked as decorative.
To fix or review
3
Filename or placeholder alt, keyword lists, very long alt, empty alt on links.
Checks
Errors first, then warnings and notes, with line numbers.
- ErrorLine 16logo.svg is the only content of a link and has no alt. The link has no text for Google or screen readers; describe where it goes (for a logo: the site name or "Home").
- ErrorLine 46next-post.jpg has alt="" but is the only content of its <a>. Empty alt is for decoration; here it leaves the link with no text. Describe the link target.
- WarningLine 31IMG_2041.jpg: alt "IMG_2041.jpg" is a file name. WCAG lists file names as alt text a failure (F30). Describe what the image shows.
- WarningLine 33before-after.png: alt "store speed, fast store, page speed, fast website, ecommerce speed" reads as a keyword list. Google's image guidance says to avoid filling alt with keywords; one plain sentence works better.
- Note5 of 5 <img> have no width and height. Not an alt problem, but without them the browser cannot reserve space, which causes layout shift (CLS).
Images
File name from src (or data-src), the alt as written, and the verdict.
| # | Image | alt | Verdict | Hidden | Line |
|---|---|---|---|---|---|
| 1 | logo.svg | (no alt) | Missing, in a link | — | 16 |
| 2 | IMG_2041.jpg | IMG_2041.jpg | File name | — | 31 |
| 3 | before-after.png | store speed, fast store, page speed, fast website, ecommerce speed | Keyword list | — | 33 |
| 4 | divider.png | (empty) | Decorative | — | 34 |
| 5 | next-post.jpg | (empty) | Empty, in a link | — | 46 |
Version v1.0Updated Update history
Missing, empty and wrong are three different things
An image's alt does one of two jobs. For content images it says what the image conveys; for decoration it is empty on purpose so assistive technology skips it. The checker separates the cases so you only fix what is actually wrong.
Missing alt
No alt attribute at all. The HTML standard reads this as "a key part of the content with no text alternative", and WCAG treats it as a failure (F65). This is the first thing to fix.
Empty alt (decorative)
alt="" tells screen readers to skip the image. Right for dividers, background flourishes and icons next to text that already says the same thing. Wrong when the image is the only content of a link or button.
File names and placeholders
IMG_2041.jpg, "image", "photo": text that is technically present but describes nothing. WCAG F30 names exactly these as failures.
Keyword lists and long alt
Google says to avoid filling alt with keywords and gives a keyword list as its bad example. Long alt is not wrong, but a caption often serves readers better.
Google calls alt text "the most important attribute" for image metadata and uses it as anchor text when an image is a link (image SEO best practices). The accessibility rules come from the W3C WAI images tutorial.
Check a page's images
Useful before publishing a post, after a theme change, and when auditing product pages.
-
1
Paste the HTML
View source on the page and copy it all, or copy the HTML of one section such as a product gallery.
-
2
Fix the errors
Missing alt and image links without text first. Line numbers point back to your HTML.
-
3
Review the warnings
File names, placeholders and keyword lists: rewrite as one plain description of what the image shows or does.
-
4
Confirm the decorative ones
Check each "Decorative" image really adds nothing. If removing it would lose information, it needs alt text.
How each verdict is decided
The checks follow the WHATWG HTML standard, WCAG 2.2 failure techniques and the W3C WAI images tutorial; Google's image guidance is cited where it adds something for search.
- Checked elements:
<img>,<input type="image">and<area href>, the three WCAG F65 covers - Image link: an
<img>inside<a>or<button>with no other text there. Its alt must describe the link target (WAI functional images) - File name: alt ending in an image extension, equal to the file name, or a camera pattern such as
IMG_1234orDSC0001. Placeholder: words like image, photo, picture, spacer, logo on their own - Keyword list: five or more comma-separated parts, or the same word three or more times. Long: over 150 characters, a reminder threshold of this tool, not a standard
| Markup | Verdict | Source |
|---|---|---|
<img src="puppy.jpg"> | Missing alt | WCAG F65; Google's "bad" example |
<img src="line.png" alt=""> | Decorative | WAI decorative images |
<a href="/"><img src="logo.svg" alt=""></a> | Error: link has no text | WAI functional images |
| alt="IMG_2041.jpg" | File name | WCAG F30 |
| alt="puppy dog baby dog pup pups…" | Keyword list | Google image SEO, keyword stuffing |
| alt="Dalmatian puppy playing fetch" | OK | Google's "best" example |
The example page, checked
The default HTML is a store blog post with five images.
| Line | Image | alt | Verdict |
|---|---|---|---|
| 16 | logo.svg (inside the home link) | (none) | Error: missing, and the link has no text |
| 31 | IMG_2041.jpg | IMG_2041.jpg | Warning: file name |
| 33 | before-after.png | store speed, fast store, page speed… | Warning: keyword list |
| 34 | divider.png | (empty) | Decorative, fine |
| 46 | next-post.jpg (inside a link) | (empty) | Error: link has no text |
Fixes: alt="Example Shop home" on the logo, a description of the photo, one sentence for the before/after image ("Product page loading in 1.2 s after compression, 4.8 s before"), and alt="Next post: choosing image formats" for the link. The page also lacks width and height on all five images.
Where alt text usually goes wrong
Most bad alt text is produced automatically: by a CMS, an upload plugin or an SEO checklist.
Letting the CMS fill in the file name
Upload tools often copy the file name into alt. "IMG_2041" or "wx_20261108" helps no one; write the description when you insert the image.
Using alt as a keyword slot
Listing every keyword the page targets is exactly the bad example in Google's image guidance. Describe the image; the keyword will appear if it is relevant.
Empty alt on linked images
alt="" is right for decoration, but a logo or thumbnail that is the whole link needs text, or the link is announced with no name.
Repeating the caption
If a caption or the link text already says what the image shows, alt="" avoids reading the same words twice.
Fix images on the pages that matter first
An audit lists every problem. TapCub tells you which pages get the visitors and search traffic, so you know where fixing alt text and image weight pays off.
Top pages
Visitors, entries and exit rate per page: start the image audit with the pages people actually land on.
Learn moreSearch performance
Search Console and Bing Webmaster queries per page, including image-heavy product and category pages.
Learn moreCore Web Vitals
LCP and CLS at p75 by page from real visitors. Large images and missing dimensions show up here.
Learn moreAlt text questions
Still have a question?
Chat with the team behind TapCub — we usually reply within a few hours on business days.
How do I check alt text on a web page?
View the page source (Ctrl+U), copy it and paste it above. Every image is listed with its file name, its alt text as written and a verdict: missing, decorative, file name, keyword list or OK. Line numbers point to the HTML.
Is an empty alt attribute OK?
Yes, for decorative images: alt="" tells screen readers to skip the image, which is what the W3C WAI tutorial recommends. It is wrong when the image is the only content of a link or button, because the link then has no name.
What is the difference between a missing and an empty alt?
Missing means no alt attribute at all; the HTML standard reads it as an important image without a text alternative, and some screen readers fall back to reading the file name. Empty (alt="") is a deliberate signal that the image is decorative.
How long should alt text be?
No standard sets a limit. Describe what the image conveys in the context of the page, usually a short phrase or one sentence. This tool flags alt over 150 characters as a reminder that a caption or nearby text might work better.
Does alt text help SEO?
Google says alt text is the most important attribute for understanding an image, and it uses the alt of a linked image as anchor text. It also warns against filling alt with keywords. Write it for people; that is also what Google asks for.
Should alt text say "image of"?
Usually not. Screen readers announce that it is an image, so "Image of a red bike" is read as "image, Image of a red bike". Exceptions are when the medium matters, such as "Screenshot of…" or "Oil painting of…".
Why is my lazy-loaded image flagged?
It has data-src but no src. Google finds images through the src attribute, so the lazy-loading script should set the real src when the image loads, or use the browser's native loading="lazy" instead.
Is my HTML uploaded or are the images loaded?
Neither. The HTML is parsed in your browser and images are listed by file name only, so no request is made to your server or anyone else's.
Update history
New features, fixes and data refreshes for this tool, newest first.
-
· v1.0
LaunchedFirst release.
Missing something or found an error? Tell us — requests that come up often go into the next update. All tool updates
Check the rest of the markup
Paste the same HTML into the other checkers, then see which of your pages people and search engines actually visit.