Largest Contentful Paint measures the time from when a page starts loading to when the largest visible element finishes rendering on screen. On most pages that element is an image, which is why image file size has such an outsized effect on the score compared to almost anything else you could optimize. The browser doesn't care how fast your server responds if the hero image still takes three seconds to download and decode after the response arrives. A 1.2MB unoptimized hero image on a typical mobile 4G connection can easily take two seconds or more to transfer on its own, before any rendering even happens. Bring that same image down to 80KB and the transfer time drops to a fraction of a second, which is usually enough on its own to move a page from a failing LCP score into a passing one.
It's worth being specific about what compression does and doesn't fix here. LCP has three components Google's own documentation breaks out: the delay before the browser starts fetching the resource, the time the resource takes to load, and the time it takes to render once loaded. Compression directly addresses the load time component, which is often the largest of the three for image-heavy pages, but it doesn't touch the other two. If your hero image is buried behind a slow server response or loaded lazily when it shouldn't be, compressing it further won't fix those separate problems. A well-compressed image that's also marked with high fetch priority and not lazy-loaded addresses all three components at once, which is why compression is usually paired with those markup changes rather than treated as a complete fix on its own.
Why this tool doesn't touch INP or CLS, and why that's fine
Core Web Vitals has two other metrics besides LCP: Interaction to Next Paint, which measures how quickly a page responds to clicks and taps, and Cumulative Layout Shift, which measures whether content jumps around unexpectedly while loading. Image compression has essentially no effect on either of these. INP failures come from JavaScript blocking the browser's main thread during user interactions, which is a code architecture problem, not an asset size problem. CLS failures come from images and other elements loading without reserved space, causing the layout to shift once they appear, which is fixed by declaring width and height attributes on your image tags rather than by changing the image file itself. If your Search Console report shows INP or CLS failures alongside LCP issues, compressing images will help the LCP number and do nothing for the other two. They need separate fixes.
File size is half the picture: serving the right dimensions matters too
A common mistake is compressing an image well but still serving it at a much larger pixel size than it actually displays at. A hero image that renders at 800 pixels wide on most screens but gets uploaded and compressed at its original 4000-pixel width is still downloading four to five times more pixel data than the page needs, even after compression brings the file size down. The browser still has to decode all of that pixel data before it can paint anything, and decoding time counts toward LCP just as download time does. Resizing the image to roughly the dimensions it will actually display at, before or alongside compressing it, removes this hidden cost. The resize tool handles getting an image to the right pixel dimensions before you bring the file size down here, which together produces a meaningfully faster LCP than compression alone on an oversized source.