Free Tool

Check the alt text on every image

Enter a URL or paste HTML. We list every image on the page with its alt text and flag the ones with no alt attribute, a file name as alt, or a link left with no name, using the HTML standard and W3C guidance.

Free. No sign-up. We read the HTML the server sends. JavaScript is not run and images are not downloaded.

See the page as AI crawlers read it

The AI page reader in the AY Rank app shows the main text, headings, lists and tables as Markdown, without running JavaScript.

Open the AI page reader

Check the heading outline too

Our heading structure checker lists every H1 to H6 on a page and flags skipped levels and headings that are only an image.

Open the heading checker
1

Read the page

One GET to the URL, following up to 5 redirects, 6 seconds per request and a 2 MB read cap. Images are not downloaded. Or paste the HTML, which never leaves your browser.

2

Find the images

Every img, input ⁦type="image"⁩, area with a link and inline svg with ⁦role="img"⁩, in page order, up to 500.

3

Read each alt

Each image gets a state: no alt, empty alt, has alt, or hidden from screen readers. Then come the flags: a file name as alt, a link with no name, alt that repeats the text next to it.

4

Fix the errors first

Errors and warnings are listed first. Filter to problems only and copy the list as a table for your team.

Google says "The most important attribute when it comes to providing more metadata for an image is the alt text". It uses alt text with computer vision and the page content to understand what an image shows, and the alt of a linked image works as anchor text. For people who use screen readers, the alt text is the image. This tool checks that alt is there and set up right. It cannot tell you whether the words are good.

What the checker reads, and what it does not

  1. We read the HTML the server sends. JavaScript is not run, so images added by JavaScript are missing. Images inside noscript are not read, so a lazy loading fallback is not counted twice.
  2. We check img, input ⁦type="image"⁩, area elements with an href, and inline svg with ⁦role="img"⁩. Other inline svg is counted, not checked. CSS background images are not read, and Google says "Google doesn't index CSS images."
  3. The image address is src, else data-src, data-lazy-src, data-original, or the first srcset entry, resolved against the page URL or its base href.
  4. No alt attribute is an error. The HTML standard says "Except where otherwise specified, the alt attribute must be specified and its value must not be empty". Empty alt (⁦alt=""⁩) is a note, because W3C says decorative images should have it.
  5. An image that is the only content of a link or button, with empty or missing alt and no text, aria-label or title on the link, is an error. W3C says "Missing or empty alt values create significant problems for screen reader users".
  6. ⁦aria-hidden="true"⁩ on the image or a parent, or ⁦role="presentation"⁩ or ⁦role="none"⁩, marks the image as hidden from screen readers. It gets no flags of its own.
  7. Alt that ends in an image extension (.jpg, .png, .webp and others), matches a camera name like IMG_1234, or is the src file name with a hyphen, underscore or digit in it (team-photo for team-photo.jpg) is a warning. A brand name that matches its logo file, like Acme on acme.svg, is not flagged. Alt that equals the link text, the figure caption or the parent text is a note, and so is alt that starts with "image of" or "picture of".
  8. We do not judge whether alt text is good, accurate or too long. W3C asks for "the most concise description possible" but gives no character limit, so there is no length check. Alt text is shown up to 300 characters.
  9. Limits: 2 MB read, 6 seconds per request, 20 seconds per check, 5 redirects, 500 images listed. Private and local addresses are refused, and each redirect is checked again. The API at /api/v1/alt-text-checker allows 30 checks per 60 seconds per IP address. The spec is at /openapi.json.

Sources

Read on 2026-11-12.

Worked example: our own homepage

We ran it on ayrank.com on 2026-11-12. It found 93 images: 62 with alt text, 10 with empty alt and 21 hidden from screen readers. None had a missing alt attribute, so there were no errors or warnings. Another 51 inline svg icons have no ⁦role="img"⁩, so they were counted, not checked. Four images get the "repeats nearby text" note. They are AI engine logos, like Perplexity, whose alt repeats the name printed next to them. The HTML standard says alt should not repeat the text next to the image, so ⁦alt=""⁩ fits better there, and that fix is on our list. Our blog post on AI training and AI grounding had 20 images and none without alt.

Frequently Asked Questions

How do I check alt text on a website?

Enter a page URL above or paste its HTML. The tool lists every image with its alt text, shows which have no alt attribute or an empty one, and flags alt text that looks like a file name.

What is the difference between missing alt and empty alt?

Missing means the img tag has no alt attribute at all. The HTML standard calls that an error, and W3C says some screen readers then read out the file name. Empty means ⁦alt=""⁩, which tells screen readers to skip the image. That is right for decorative images.

Is alt text a Google ranking factor?

Google does not call it a ranking factor. Its Image SEO guide says Google uses alt text with computer vision and the page content "to understand the subject matter of the image", and that alt text on a linked image is useful as anchor text. It also warns that stuffing alt with keywords "may cause your site to be seen as spam".

What alt text should a linked logo have?

Say where the link goes. In the W3C example, a logo that is the only content of a link to the W3C home page has the alt text "W3C home". If the link already has text next to the logo, use ⁦alt=""⁩ so the name is not read twice.

Why does the checker find fewer images than I see on the page?

The page probably adds images with JavaScript or as CSS backgrounds. This tool reads the HTML the server sends and does not run JavaScript. Open the page source and search for <img. If the images are not there, crawlers that do not run JavaScript cannot see them either.

Want us to fix this for you?

Want images, alt text and crawlability checked across every template on your site? AY Rank's technical SEO work covers it.