Skip to content
Metric VaultHelp Center
Open app

Image Support

Audits every image in a block of article HTML for missing or weak alt text, missing dimensions, lazy loading and generic filenames, with a suggested alt for each.

Last updated 2026-08-06

Summary#

Image Support reads a block of article HTML, finds every <img> tag in it, and audits each one for missing or weak alt text, missing width and height, missing lazy loading and generic filenames. It scores the set out of 100, lists every image with its problems, and suggests alt text for each. It runs in your browser and costs nothing.

Purpose#

Images are the part of a page that is written last and checked never. The result is predictable: alt attributes left empty, dimensions omitted so the layout jumps while the page loads, and files called IMG_2043.jpg.

Each of those has a cost. Missing alt text locks out screen-reader users and removes the page from image search. Missing dimensions cause layout shift, which is measured by Core Web Vitals. Generic filenames throw away a free relevance signal.

This tool exists to catch all four in the draft, before the article is published.

Overview#

You paste article HTML — the actual markup, including its image tags — and click Audit images.

The tool parses the markup in your browser and walks every <img> element. For each one it reads src, alt, width, height and loading, derives the filename from the source path, and applies five checks. It counts the issues, computes a weighted score, and builds a per-image table with a suggested alt value.

Everything happens locally. Nothing is uploaded, no images are fetched, and no credit is charged. Because it works on the markup you paste and never loads the files, it is fast on a page with fifty images and it works on a draft that is not published yet.

Benefits#

  • Free and instant, with no upload and no credit cost.
  • Every image is listed individually, so you know exactly which one to fix.
  • A suggested alt value comes with each row, derived from the filename when the filename is descriptive.
  • Catches layout-shift risk, which most alt-text checkers ignore.
  • Works on unpublished drafts, because it reads pasted markup rather than a live URL.

Use Cases#

Final check before publishing. Paste the article's markup and clear the issues in one pass.

Fixing an accessibility complaint. The Missing alt count and the per-image table turn a vague report into a task list.

Chasing a Core Web Vitals problem. No dimensions names the images causing layout shift on the page.

Auditing a migrated site's templates. Paste a representative page and find out whether the CMS is emitting dimensions and lazy loading at all.

Reviewing a contributor's article. Generic filenames and empty alt text are the two things freelancers most often skip.

Requirements#

  • A signed-in account to reach the dashboard.
  • The HTML of your article, including its <img> tags.
  • No plan tier, no credits, no integration, no verified domain.

Permissions#

Every plan tier can use it, including Free, and every team role sees the same screen. Nothing on it is gated, because nothing on it calls the API.

Cost#

Free. 0 credits. The audit runs entirely in your browser, so no request is made, nothing counts against your monthly quota, and nothing counts toward the hourly fair-use limit. See How credits work.

Dashboard → Write & Optimize → Image Support

Inputs#

FieldAcceptsRequiredDefaultValidationNotes
HTML box — Paste your article HTML (the <img> tags) here…HTML markupYesEmptyAn empty box shows Paste your article HTML (with its image tags) first. and refocusesPaste markup, not rendered text. A visual copy from a page loses the tags
Try sampleNoOnly fills the box when it is emptyLoads a four-line example with one image missing alt, one with a filename as its alt, and one done correctly
Audit imagesThe run button

Step-by-Step Guide#

  1. Open Write & Optimize and choose Image Support.
  2. Copy the HTML of your article — from your CMS's source view, or by viewing the page source — and paste it into the box. Or click Try sample.
  3. Click Audit images. The report appears below and the page scrolls to it.
  4. Read the score and the four KPI tiles.
  5. Work down Per-image audit. Fix the red rows first — they are the ones with no alt text or a filename used as alt.
  6. Copy the Suggested alt values as a starting point and rewrite each into a real description.
  7. Apply the changes in your CMS, then re-paste and re-run to confirm.

Reading the Results#

The header. Image SEO audit, then three facts: how many images were found, how many issues in total, and how many words of copy the markup contained. A verdict badge sits on the right:

ConditionBadgeColor
No missing alt text and a score of 80 or moreImages well-optimizedGreen
Score 55 or moreA few fixes neededAmber
Score below 55Needs image workRed

The four KPI tiles.

TileSub-labelReadsGoodBadAction
Image scoreSEO + accessibilityThe weighted health of the whole set, out of 10080 or aboveBelow 55Work the table, not the score — the score follows
Missing altneed alt text, prefixed with N weak · when some alts are just filenamesImages with no usable alt attribute0AnyThis is the highest-penalty issue and the one with a legal and accessibility dimension
No dimensionslayout-shift riskImages without both width and height0AnyEach one can shift the layout as it loads, which Core Web Vitals measures
Total issuesacross all imagesEvery flagged item across every image0More than the image countMore issues than images means several problems per image — likely a template or workflow fault, not an author one

How the score is built. Each image contributes penalty points — 25 for missing alt, 12 for an alt that is only the filename, 8 for missing dimensions, 6 for a generic filename, 4 for no lazy loading — and the total is averaged across the number of images, then subtracted from 100. Two consequences are worth knowing. First, one bad image among twenty barely moves the score, so read the Missing alt count rather than the score alone. Second, missing alt text is worth more than six times as much as lazy loading, so fix in that order.

Image score. A meter repeating the score with the sub-label higher is better.

Per-image audit. The section that matters. One row per image, with the section header showing the image count.

ColumnShows
ImageThe filename taken from the src path, or (inline) when there is no usable path
IssuesA badge listing every problem found, comma-separated, or Clean
Suggested altA proposed alt value

The badge color tells you the priority: red when the image has no alt text or its alt is only the filename, amber when it has other issues, green when the row is Clean.

The five issue strings, in the order of what they cost you:

  • Missing alt text — no alt attribute, or an empty one. Screen readers announce nothing and image search has no idea what the picture shows. Fix first, always.
  • Alt is just the filename — the alt attribute matches the filename with hyphens and underscores treated as spaces, for example alt="nike-pegasus-41-review" on nike-pegasus-41-review.png. Technically present, practically useless. Rewrite as a sentence.
  • No width/height (layout shift) — one or both attributes are absent, so the browser cannot reserve space and the page jumps as the image loads. Add both, using the image's real pixel dimensions.
  • Not lazy-loadedloading="lazy" is absent. Add it to below-the-fold images. Leave it off your hero image, which you want loaded immediately.
  • Generic filename — the filename matches a throwaway pattern such as IMG_2043, DSC0012, screenshot, untitled, unnamed, download, final, copy, or is only digits. Rename before uploading; renaming after publication changes the URL.

Reading the Suggested alt column. The suggestion is derived, not written by AI. When an image already has a real alt value, that value is echoed back so the row stays readable. When the alt is missing and the filename is descriptive, the filename is turned into title-cased words with digits stripped — so trail-shoe-hero.webp suggests Trail Shoe Hero. When the filename is generic there is nothing to derive from, and the cell reads Describe what the image shows and include the target keyword. Treat every suggestion as a starting point: good alt text is a sentence describing what a sighted reader would see, not a keyword string.

When nothing is found. If the markup contains no <img> elements you get No <img> tags found. Paste the HTML of your article, including its image tags. That almost always means rendered text was pasted rather than source markup.

How to fix. A short list of counted instructions built from what was found — how many images need alt text, how many alts are filenames, how many lack dimensions, whether to add lazy loading, and how many filenames to rename. The lazy-loading tip only appears when there is more than one image. With nothing to fix you get one line: Images are well-optimized — descriptive alt text, set dimensions, and clean filenames.

What to do with it. Clear every red row first, then the No dimensions count, then filenames on your next upload, then lazy loading. That order matches the score weights and it matches the real-world cost of each problem.

Examples#

Example

Example: You paste a review article with three images. The header reads Image SEO audit · 3 images · 6 issues · 24 words of copy with the badge Needs image work. The tiles show Image score 52 /100, Missing alt 1 with 1 weak · need alt text, No dimensions 1, Total issues 6. The table lists IMG_2043.jpg as red with Missing alt text, No width/height (layout shift), Not lazy-loaded, Generic filename; nike-pegasus-41-review.png as red with Alt is just the filename, Not lazy-loaded; and trail-shoe-hero.webp as green, Clean. You write a real description for the first image, rename it before re-uploading, add its dimensions, and rewrite the second alt as a sentence. The re-run reads Images well-optimized at 96.

Screenshots#

Screenshot
the Image Support screen with the HTML paste box, the Try sample button and the "Audit images" button
Screenshot
the result header showing "Image SEO audit", the image and issue counts and the verdict badge, above the four KPI tiles
Screenshot
the Per-image audit table with Image, Issues and Suggested alt columns and colored issue badges
Screenshot
the How to fix instruction list beneath the table

Tips#

  • Copy from your CMS's source or code view, not from the rendered page.
  • Fix filenames before uploading. Renaming a published image changes its URL and breaks anything linking to it.
  • Leave your hero image without loading="lazy". Lazy-loading the first visible image delays it.
  • Use the image's real pixel dimensions in width and height, then let CSS handle the display size.
  • Audit one representative template page rather than every article — most image problems come from the template, not the author.

Best Practices#

  • Write alt text as a description of what the image shows, in a sentence, and include the target keyword only when it belongs there naturally.
  • Give every content image both width and height, even inside a responsive layout.
  • Name files in words, lowercase, hyphen-separated, before upload.
  • Re-run after applying the fixes rather than assuming they landed. A CMS can strip attributes on save.
  • Pair with PageSpeed & Vitals to see the layout-shift effect measured on the live page, and with Image Resize or Image Reformat to get the file itself into shape.

Common Mistakes#

  • Pasting rendered text instead of HTML. No tags means no images to audit.
  • Using the filename as alt text. It is flagged for a reason: it describes the file, not the picture.
  • Stuffing keywords into alt. Alt text is read aloud to people. Write for them.
  • Adding alt="" to content images to clear the warning. An empty alt is correct for purely decorative images and wrong for everything else.
  • Lazy-loading everything, including the hero. That slows the page you were trying to speed up.
  • Reading the score instead of the table. One badly broken image in twenty barely moves the number.

Limitations#

  • It audits <img> elements only. CSS background images, <picture> sources, <source> elements, SVG blocks and images injected by JavaScript are not seen.
  • It never fetches the images, so it cannot report file size, real dimensions, format or compression. Use PageSpeed & Vitals for weight.
  • It cannot tell whether existing alt text is good — only whether it exists and whether it merely repeats the filename.
  • Suggested alt text is derived from the filename, not generated by AI.
  • It reads pasted markup, not a URL. There is no crawl and no site-wide audit.
  • Nothing is saved. The report is not written to the Library, and navigating away loses it. Export first.
  • There is no Get recommendations panel on this tool.
  • Decorative images with a deliberately empty alt="" are counted as Missing alt text, which is correct markup being flagged. Read those rows yourself.

Troubleshooting#

SymptomLikely causeFix
Paste your article HTML (with its image tags) first.The box is emptyPaste your markup
No <img> tags found. Paste the HTML of your article, including its image tags.Rendered text was pasted instead of source markupCopy from the CMS source view or the page source
An image you can see on the page is missing from the tableIt is a CSS background, a <picture> source, an SVG, or injected by JavaScriptThose are outside the tool's scope
Missing alt text on a decorative imageThe empty alt="" is correct markup being flaggedLeave it as it is; the score cost is the trade-off
The score barely moved after fixing one imagePenalties are averaged across every imageRead the Missing alt and Total issues counts instead
Every row shows Not lazy-loadedThe CMS template does not emit loading="lazy"Fix it in the template, not per article
Export buttons do nothingNo audit has been run yetRun the audit first
The report disappearedNothing is storedExport before navigating away

FAQs#

What should good alt text say? What a sighted reader would see, in a short sentence. A trail running shoe on a rocky path is good; nike-pegasus-41-review is not, and running shoes best running shoes 2026 is worse.

Why does missing width and height matter? Without them the browser cannot reserve space, so the content below moves as the image loads. That is layout shift, and it is one of the Core Web Vitals Google measures. See PageSpeed & Vitals.

Should every image be lazy-loaded? No. Lazy-load below-the-fold images. Your hero image should load immediately, so leave loading="lazy" off it and accept the small score cost.

Does it check file size or compression? No. It never downloads the images, so it cannot see their weight or format. Use PageSpeed & Vitals for that, and Image Reformat to convert a file.

Does it cost credits? No. Everything runs in your browser. See How credits work.

Can it audit a live URL instead of pasted HTML? Not on this screen. On-Page SEO Checker fetches a live page and reports alt-text coverage across it, at no credit cost.

Is the suggested alt text written by AI? No. It is derived from the filename, or echoed from an existing alt value. Treat it as a prompt for you to write the real thing.

See also

Was this article helpful?