Home About Support Blog Ask AI
Dashboards +
On-Page SEO +
Technical SEO +
SERP & Content +
Local SEO +
Get the Chrome Extension
Free SEO Tool

Alt Text Checker

Audit every image on any page. Detects broken images, missing alt, oversized files, fetchpriority issues, and format gaps — with smart heuristics that don't punish correct HTML.

Last updated: April 2026

Why image SEO matters

An alt text checker catches the biggest image SEO gap most audits miss. Images are usually the heaviest part of a page, and the most neglected for SEO. A missing ALT tag doesn't block Google Image Search from indexing the image (Google uses surrounding text, filename, and vision models as fallback signals), but it strips away the strongest context Google has for ranking it. It also leaves screen readers with nothing to announce. Serving a 2MB PNG when a 200KB WebP would do kills your Core Web Vitals. And skipping width/height attributes causes layout shift (CLS) that hurts your performance score.

This tool audits every image on a page across 20+ checks. ALT tags, broken images, formats, dimensions, lazy loading, file sizes, srcset coverage, fetchpriority, decoding, oversized delivery, mixed content, generic filenames, duplicate alt text — you get a scored report with fixes ranked by impact, and smart heuristics that don't punish correct HTML.

What makes this checker different

Most image SEO tools apply the same rules to every image and penalize correct HTML. Nav logos get flagged for "no lazy loading" even though eager is correct for above-fold icons. Thumbnails get flagged for "no srcset" even though a 28×28 image doesn't need responsive variants. Hero images used twice (thumbnail + lightbox) get flagged as duplicates. The end result is a score that tells you to make your HTML objectively worse.

This tool applies smart heuristics first. Logo detection (based on src, dimensions, and DOM position) exempts nav icons from lazy-loading and srcset penalties. Above-fold detection (first 3 images or elements inside header) exempts hero images from lazy-loading penalties. Intentional duplicates up to twice per URL are allowed without penalty — only 3+ reuses get flagged. Tracking pixels (Facebook, GA, LinkedIn, Bing) are detected and excluded from scoring entirely. The result is a score you can trust, not a score you have to work around.

fetchpriority, decoding, and modern LCP optimization

In 2026, Largest Contentful Paint is the most-failed Core Web Vital — and 70%+ of LCP elements are images. Modern Chrome, Edge, Firefox, and Safari all support fetchpriority="high" and decoding="async", but almost no audit tool checks for them as first-class signals. This tool does.

The checker parses the fetchpriority and decoding attributes on every image and reports them in the badges row. It also flags the most common anti-pattern: an image with both loading="lazy" AND fetchpriority="high". These contradict each other — the browser can't prioritize a fetch it hasn't started. When this combination appears on what looks like an LCP image, it's flagged as an error. The copy-ready fix snippet gives you the exact attribute combination you need.

Broken images, oversized delivery, and mixed content

Broken images (images returning 4xx/5xx) are detected via a HEAD request to each unique image URL. The check reuses the tool's cached fetch layer so it adds no extra cost beyond the existing file-size check. Any image returning HTTP 404, 403, 500, or similar gets flagged red with the actual status code in the card.

Oversized images are detected by loading each image in the browser and comparing naturalWidth to the declared HTML width. The threshold is 2.5x — this allows 2x retina variants without false positives, but flags images where the source file is objectively too large. Mixed content (http:// images on an https:// page) is flagged as a critical error because modern browsers block them outright.

Beyond the <img> tag: schema, CSS, SVG, and picture audits

Most image SEO tools only look at <img> tags. Lumina also audits four categories that account for real-world bugs no other free tool catches:

Social Preview & Schema Cross-Check. Extracts og:image, twitter:image, and every image URL inside JSON-LD (ImageObject, primaryImageOfPage, Organization.logo, publisher.logo) and cross-checks them for consistency. Catches the classic bugs that break social shares: og:image missing entirely (LinkedIn shows no preview card), or og:image and twitter:image pointing to different URLs (previews inconsistent across platforms). Also verifies the og:image is referenced from JSON-LD so Google picks up the page's primary image.

CSS background-image detection. Scans <style> blocks and inline style="" attributes for background-image: url(...) references. Google Image Search does not index CSS background images — if your hero is a CSS background, you lose image search traffic entirely. Only Screaming Frog (paid) flags this in the competitive landscape.

Inline SVG accessibility audit. Walks every inline <svg> element and checks for <title> child, aria-label/aria-labelledby, role="img", or aria-hidden="true" (decorative). Parent accessible names (<button aria-label>) are also detected. Google's image SEO docs explicitly mention inline SVG should have a <title> element, but no other free tool audits this.

<picture> element completeness. For each <picture> element, validates: fallback <img> exists, all <source> elements have type and srcset attributes, and source order respects AVIF > WebP > JPG/PNG. Browsers pick the first matching source, so putting WebP before AVIF means AVIF-capable browsers never get AVIF — a silent performance regression. Also recommends adding AVIF sources to WebP-only pictures.

Alt text and ADA compliance

WCAG 2.1 requires every meaningful image to have a text alternative. Section 508 covers US federal sites, and the European Accessibility Act has been in force since June 2025. Both point back at WCAG, so a missing alt tag isn't just bad SEO. It's legal exposure in a lot of jurisdictions. Screen readers announce alt text when they reach an image. If there isn't any, they announce the file name instead. "IMG_4382.jpg" doesn't help a blind user, and it doesn't help Google Image Search either. That's a compliance gap and a traffic gap at the same time.

Beyond the basic missing-alt check, the tool detects alt text that's technically present but useless: one-word alts, alts that match the filename, generic alts like "image" or "photo", alts over 125 characters (which screen readers truncate), and duplicate alt text used across multiple images. Anchor-wrapped images without alt are a critical error because they leave the link with no accessible name — screen readers announce nothing.

Using this checker with WordPress, Shopify, and other CMSs

Any public URL works. Paste your WordPress or Shopify page and the tool reads the rendered HTML via Cloudflare Browser Rendering, which catches alt text wherever it lives: media library, Gutenberg blocks, ACF fields, Shopify liquid templates, Next.js Image components, React SPAs. For bulk fixes, run the checker first to get a ranked list with copy-ready fix snippets, then patch from the platform's bulk-edit UI or a dedicated accessibility plugin like WP Accessibility.

AI Alt Quality Analysis (GPT-4.1 Vision)

Most "AI alt text" tools use regex heuristics — they check whether alt text exists, and if it looks generic. This tool actually looks at the image. Click the purple "Analyze Alt Quality with AI" button and the tool runs every image with an alt issue (missing, generic, filename-like, weak, or duplicate) through GPT-4.1 Vision. The model sees the image, reads the current alt text, and scores 0-10 whether the alt actually describes what's visually present. It then suggests a better alt text in the page's language (detected from the <html lang> attribute), and explains the score in 1-2 sentences.

This is opt-in to control quota usage. The tool only sends images that already have detected issues — typically 0-3 per page, not all 16+. Logos and tracking pixels are excluded entirely. Bring your own OpenAI key (set it in the Settings ⚙️ icon top right) for unlimited analysis. To this date, no other free image SEO tool uses real multimodal vision to grade alt text quality. AltText.AI brands itself as "AI" but the actual analysis is regex-based. Lumina is genuinely doing the thing.

Explore more tools

FAQ

How do I use this alt text checker?+
Paste any public URL and click Check Images. The tool fetches the page, scans every image across 20+ checks, and returns a per-image severity card with copy-ready fix snippets. Issues are sorted by severity (red errors first), and smart heuristics exempt nav logos, hero images, and tracking pixels from false-positive penalties.
Does this alt text checker support bulk image processing?+
Yes. It audits every image on the target page in one scan, including alt status, format, dimensions, file size, lazy loading, fetchpriority, decoding, srcset coverage, and oversized delivery. Results can be exported as CSV or a standalone HTML report with one click. There's no per-image limit.
Does the tool detect broken images?+
Yes. Every unique image URL gets a HEAD request via the Lumina worker. If an image returns HTTP 4xx or 5xx, it's flagged red with the exact status code. The check runs in parallel with the file size fetch so it doesn't slow down the audit. Broken image detection is the single most valuable SEO check many free tools skip.
Why do nav logos get a high score even without lazy loading?+
Because eager loading is CORRECT for a 28×28 nav logo. The logo heuristic detects images that are (a) inside a <nav> or <header>, (b) under 60×60 pixels, or (c) have "logo/icon/favicon" in their src, and exempts them from no-lazy and no-srcset penalties. A nav logo should be loaded eagerly — adding loading="lazy" to it would be a bug, not an optimization. The tool won't punish you for correct HTML.
What image formats does this checker flag?+
The tool uses AVIF-tiered scoring. AVIF is "excellent" (score 100), WebP and SVG are "good" (85), PNG and JPG are "legacy" (50), and BMP and GIF are "ancient" (0). In 2026, AVIF has 94%+ browser support and is ~30% smaller than WebP at the same quality. The tool recommends AVIF as the target, not WebP.
Does it check fetchpriority and decoding attributes?+
Yes. The tool parses fetchpriority and decoding attributes on every image and surfaces them in the per-image card. It also flags the most common anti-pattern: an image with both loading="lazy" AND fetchpriority="high" — these contradict each other. This is a 2026 check that almost no free image SEO tool does, and surfaces a real Core Web Vitals regression when the LCP image is accidentally marked lazy.
How does the oversized image detection work?+
Every image gets loaded in the browser via a sandboxed Image() call, and the natural width is compared to the declared HTML width attribute. If the natural size is more than 2.5x the declared size, the image is flagged as oversized. The 2.5x threshold allows 2x retina variants without false positives. SVGs and logos are excluded because viewBox-based natural sizes aren't pixel-accurate.
What does the Social Preview & Schema Cross-Check do?+
It extracts og:image, twitter:image, and all image references from JSON-LD (ImageObject, primaryImageOfPage, Organization.logo) and cross-checks them for consistency. It catches two bugs that break social shares: og:image missing entirely (LinkedIn, Facebook, WhatsApp, and Slack will show no preview card), and og:image pointing to a different URL than twitter:image (previews become inconsistent across platforms). It also verifies the og:image is referenced from JSON-LD via primaryImageOfPage, which Google uses when indexing the page's primary image.
Does it detect CSS background images and inline SVG a11y issues?+
Yes. The tool scans <style> blocks and inline style attributes for background-image:url() references and flags them as a blind spot — Google Image Search does not index CSS background images. If your hero is a CSS background, you're losing image search traffic. Separately, every inline <svg> is audited for accessibility: missing <title> child, missing aria-label, missing role="img", and wrapping parent accessible names. Google's image SEO docs explicitly recommend <title> inside inline SVG, yet zero free tools audit this. Lumina does.
How does the LCP optimization audit work?+
The tool scores every content image with a heuristic that combines DOM order, declared dimensions, above-fold position, and explicit author hints (loading="eager", fetchpriority="high"). The highest-scoring image is identified as the most likely Largest Contentful Paint candidate. Then the audit checks four things: (1) is loading="lazy" set on the LCP image (critical error — delays the paint), (2) is fetchpriority="high" set (recommended in 2026), (3) is there a matching <link rel="preload" as="image"> in the <head>, and (4) are there any "stranded" preloads (preload links that don't match any image on the page — wasted bandwidth). LCP is the most-failed Core Web Vital in 2026 and 70%+ of LCP elements are images, so this audit is the single highest-impact performance check.
What does the "Analyze with AI" button do?+
This is an opt-in feature that uses GPT-4.1 Vision to evaluate alt text quality with computer vision. It only runs when you click the button, and it only analyzes images that already have detected alt issues (missing alt, generic alt like "image"/"photo", alt that matches the filename, one-word alt, or duplicate alt across multiple images). For each candidate, the AI looks at the actual image and: (1) scores the current alt text 0-10 against what's visually present, (2) generates a context-aware suggested alt text in the page's language (detected from <html lang>), and (3) explains the score in 1-2 sentences. This is the only free image SEO tool that uses real multimodal vision — competitors brand themselves as "AI alt text" but use regex-based heuristics. Quota is shared with other AI features, typically 30 calls/day on the free tier. Bring your own OpenAI key for unlimited use.
Is there a Chrome extension for alt text checking?+
Yes. The Lumina Chrome extension runs alt text checks directly in the browser, so it works on any page you can view, including staging environments and pages behind a login.
Image analysis on every page

Lumina checks ALT tags, formats, lazy loading, and file sizes automatically.

Add Lumina to Chrome — Free