Image Optimization vs Alt Text: What AI Agents Actually Read on Your Page AI agents like Claude and ChatGPT cannot see images, only read alt text, making text-level image optimization more critical than byte-level optimization for agent-driven traffic. With ~50% of images having empty or sub-10-character alt text, sites risk silent retrieval failures on every agent query. Developers should prioritize descriptive alt text and structured metadata while maintaining byte optimization for human visitors. The Decision Half the web's bytes are images Source 2 source-2 , but the agents now hitting your pages — Claude, ChatGPT, agentic shoppers, coding assistants — consume tokens, not pixels Source 9 source-9 . The choice between optimizing image bytes and optimizing image text is no longer about accessibility versus performance; it's about who your traffic actually is. The Table | Dimension | A: Byte-level optimization next/image , WebP/AVIF, CDN loaders | B: Text-level optimization alt text, captions, structured metadata | |---|---|---| | Latency | Cuts LCP — next/image auto-serves WebP, lazy-loads, sets width/height to prevent CLS | Zero render impact; agents read HTML, not pixels | | Memory | sharp on glibc Linux can balloon without tuning | alt next start ; cloud loaders Cloudinary, Imgix, Akamai for static export Source 7 source-7 Source 17 source-17 ai image alt text module Source 5 source-5 dangerouslyAllowSVG is blocked Source 4 source-4 ; v16 caps qualities to 75 by default Source 18 source-18 Source 10 source-10 ; 8.5% end in .jpg / .png filenames Source 5 source-5 I'd pick B as the default in 2026, and bolt A on top. Agents are the fastest-growing consumer of your HTML Source 11 source-11 , and they cannot see your AVIF. The Mechanism Why A byte-level wins when humans on bad networks dominate. The next/image component serves device-correct WebP, prevents layout shift via intrinsic width/height, and lazy-loads off-screen images natively Source 3 source-3 . On a flaky link, this matters: Kornel's observation that mobile bandwidth arrives in "laggy bursts rather than slowly" Source 20 source-20 means a 155 kB hero is a real LCP hit. Byte savings compound — Lara Hogan's point that images are "arguably the easiest big win" for page load time Source 2 source-2 still holds, and the v16 default of minimumCacheTTL: 14400 4 hours, up from 60 s reflects that revalidation cost was real money Source 18 source-18 . Why B text-level wins when AI agents are reading your site. LLMs are next-token predictors over text Source 15 source-15 . Even multimodal models tokenize images through a vision encoder + projector into the same latent space as text Source 1 source-1 Source 1 source-1 — and IBM's own teams admit "text-ify everything" loses visual context Source 12 source-12 , which is why hybrid multimodal RAG keeps text captions as the retrieval index even when the LLM can see the image Source 12 source-12 . Translation: when an agent or RAG pipeline crawls your page, the alt attribute is the image as far as retrieval is concerned. Docling's whole pitch for AI ingestion is converting unstructured assets into "clean, structured text that large language models can actually use" Source 13 source-13 Source 14 source-14 . The Web Almanac is blunt that ~50% of images ship with empty or sub-10-character alt text Source 10 source-10 — that's a silent retrieval failure on every agent-driven query. Pick B as the default. The Migration Path If you optimized for bytes and now need agents to actually understand your pages: Audit alt coverage. Grep your codebase for