Home › Alt text checker

Alt text checker: audit every image on a page

Every image on the page with its alt attribute, flagged as missing, file name, too long, decorative or OK. No signup, nothing stored.

Check a page

Checks the first 100 <img> elements in the served HTML of one page. Images added by JavaScript after load, CSS background images, inline SVG and image maps are outside this tool; the full scan renders the page in a real browser and covers those.

Want this checked on every page, every week? AdaClear Starter is €19 a month: weekly scans of up to 150 pages on one site, an email when a new issue appears, and a dated PDF report you can hand to a client or an enterprise buyer.

What the statuses mean

The checker fetches the served HTML of the page you enter, lists every image with its alt attribute, and tells you which ones are missing alt text, which use a file name instead of a description, which run too long, and which are marked decorative. Your browser never loads the images themselves; sources are shown as text only, so auditing a page does not make you fetch anything from third-party servers.

StatusWhat we foundWhat to do
Missing altNo alt attribute at all. A screen reader announces the file name or the word "image".Add a description, or alt="" if the image is purely decorative. This is a WCAG 1.1.1 failure and the most-cited image issue in accessibility complaints.
Filename as altThe alt is a file name (hero-2.png) or a camera or CMS default (IMG_4521, image, screenshot).Replace it with what the image shows or does. Present but meaningless alt still fails 1.1.1.
Over 125 charactersThe alt runs longer than a sentence or two.Shorten it. Put the detail in a caption, the surrounding paragraph, or a linked long description.
Empty (decorative)alt="", or the image is marked role="presentation" / aria-hidden="true".Correct if the image adds nothing a sighted user would miss. Wrong if it is a product photo, a chart, or a linked logo.
Looks OKPresent, not a file name, reasonable length.Read it. Software can check shape, not meaning. "Photo" passes this check and still fails a human.

What good alt text is (and when to leave it empty)

Alt text is the text a screen reader speaks in place of an image. It is also what shows if the image fails to load, and what search engines index for image search. WCAG success criterion 1.1.1 (Non-text Content, Level A) requires a text alternative that serves the equivalent purpose for every non-text element. "Equivalent purpose" is the key phrase: the alt should let someone who cannot see the image get the same information or perform the same action.

There are three kinds of image, and each needs a different alt.

Informative images: describe the content

Product photos, portraits, diagrams, screenshots and illustrations that carry meaning. Say what the image shows in the context of the page, in one plain sentence. The same photo of a running shoe needs different alt on a product page ("Red suede trail running shoe, side view, showing the lugged sole") than in a blog post about a race ("Runner crossing the finish line in red shoes").

Functional images: describe the action

A logo that links home, an icon inside a button, a magnifier that submits a search. The alt names what happens, not what the picture is: "AdaClear home", "Search", "Download the PDF report". If the icon sits next to visible text that already says this, the icon is decorative and gets an empty alt.

Decorative images: empty alt, never missing

Spacers, background flourishes, a stock photo that only sets a mood, an icon duplicating adjacent text. These get alt="", which tells assistive technology to skip the element entirely. An empty alt and a missing alt look identical on screen but are opposites for a screen reader user: one is silence, the other is a file name read aloud.

Weak

<img src="IMG_2231.jpg"> <img src="team.jpg" alt="image"> <img src="chart.png" alt="Picture of a chart showing our Q3 results across all four regions with revenue, margin, headcount and churn compared to the prior year and the plan"> <a href="/"><img src="logo.svg" alt="logo"></a>

Better

<img src="IMG_2231.jpg" alt="Oak dining table seating six, in a bright kitchen"> <img src="team.jpg" alt="The five-person support team at the Kraków office"> <img src="chart.png" alt="Q3 revenue up 12% year on year; details in the table below"> <a href="/"><img src="logo.svg" alt="AdaClear home"></a>

Rules of thumb that hold up in audits

Fixing alt text in your CMS

Most missing and filename alts are not written by anyone. They come from a template or an upload flow that fills the field automatically. Fix the source and the page count drops fast.

WordPress

Open Media Library, select the image, and fill "Alternative Text". For images already placed in posts, edit the block: the Image block has an "Alt text" field in the sidebar. Since WordPress 5.x the block editor warns when alt is empty. Theme images (logo, hero backgrounds) are usually set under Appearance, Customize; check the logo alt there. Plugins that "auto-generate" alt from file names are exactly what produces the filename-like status above; turn them off.

Shopify

Product images: Products, open the product, click the image, then "Add alt text" (or "Edit alt text"). Collection and theme images: Online Store, Themes, Customize, select the section, and use the alt field under each image picker. Shopify does not auto-fill product alt, so a store with hundreds of products often has hundreds of missing alts; the bulk CSV export includes an "Image Alt Text" column you can fill and re-import.

Webflow

Select the image, open the settings panel (the gear icon), and either type alt text or tick "Decorative", which outputs alt="". For images in CMS collections, add an alt field to the collection or use the "Alt text" setting on the Image field itself. Webflow's Audit panel lists images without alt across the project.

Squarespace

Image blocks: double-click the image, open the "Content" tab, and fill "Image alt text" (older templates used the caption or file name as alt; check the current setting). Gallery images: hover the image in the gallery, click the gear, and set alt there. Site logo alt is derived from the site title under Design, Logo and Title.

From one page to the whole site

This checker audits one page and answers the mechanical questions: present, empty, file name, length. It cannot judge whether "Red shoe" is a good description of the red shoe, and it does not follow links. The AdaClear scan renders pages in a real browser, runs the full axe-core rule set (image alt, but also linked-image names, input images, area alt, SVG roles and contrast), and monitors on a schedule so a template change that strips alt from 3,000 product images gets flagged the same day. Alt text and color contrast together account for most automatically detectable failures on the WCAG 2.2 checklist; fix those two and most sites move from "failing" to "fixable". Documents linked from the page are a separate check: the free PDF accessibility checker tells you whether a PDF is tagged, titled and has alt text on its images.

How common is this? we audited every theme in the Shopify Theme Store and image-alt was the fifth most widely failed rule, hitting 132 of 335 themes. Read the Shopify theme accessibility report.

Scan the whole site, not one page

Free 30-second scan: score, every image missing a text alternative, and the rest of the automated WCAG findings. No overlay, no signup.

Scan my site free →

Frequently asked questions

Does every image need alt text?

Every image needs an alt attribute. Informative and functional images need a description; decorative images need an empty one (alt=""). The one thing that is always wrong is leaving the attribute off, because then the screen reader falls back to the file name.

How long should alt text be?

Usually one sentence, and under about 125 characters. If you need more, keep the alt short and put the full description in a caption, in the text next to the image, or on a linked page.

Why does the checker flag "image" or "IMG_1234" when alt is present?

Because those strings are present but useless. WCAG 1.1.1 requires an alternative that serves an equivalent purpose, and a file name or the word "image" does not. Most of these come from a CMS or plugin inserting the file name on upload.

Why did the checker find zero images on my page?

Either the page really has none in its HTML, or the images are injected by JavaScript after the page loads (common with React, Vue and some page builders). This tool reads the served HTML only. The full scan runs the page in a real browser and sees the rendered result.

Does the checker work on password-protected or local pages?

No. It fetches the URL from AdaClear's servers, so the page has to be publicly reachable. Private, staging or intranet addresses are refused for safety.

Is the page I check stored anywhere?

No. The HTML is fetched, parsed for image tags, and discarded. The results go back to your browser and are not saved. Your browser never loads the images themselves; sources are shown as text only.