What is a Good LCP Score? How to Check and Improve It
What is a Good LCP Score? How to Check and Improve It ( 2026 Complete Guide)
Your LCP score is one of the first things Google looks at when measuring your page's performance. A bad LCP score means users are waiting too long for your page to feel loaded — and Google knows it.
But what actually counts as a good score? How do you find your LCP score? And what is the LCP element on your specific page?
This article answers all of it.
What is LCP?
LCP stands for Largest Contentful Paint. It measures how long it takes for the largest visible element on your page to fully load and appear on screen.
It is not measuring when the page starts loading. It is not measuring when the page is fully loaded. It measures the specific moment when the main content — the thing the user came to see — becomes visible.
That moment is what Google uses as the LCP timestamp.
What is a good LCP score?
Google uses three categories:
| Score | Rating |
|---|---|
| 2.5 seconds or less | Good |
| 2.5 seconds to 4.0 seconds | Needs improvement |
| Above 4.0 seconds | Poor |
The target is 2.5 seconds or less.
Google measures this at the 75th percentile of real user visits. That means 75% of your visitors need to load the LCP element in under 2.5 seconds — not just the average visitor, not just users on fast connections.
This is important. A page that loads in 1.5 seconds for desktop users on fibre but takes 5 seconds for mobile users on 4G will still fail LCP in Google's data.
What counts as the LCP element?
The LCP element is the largest visible element on the page at the point it loads. The browser tracks this dynamically as the page loads and locks in the final LCP element once loading is complete.
The most common LCP elements are:
- Hero images — the most common by far, especially on ecommerce product pages, landing pages, and homepages
- Large text blocks — common on blog posts and editorial pages where the article headline or opening paragraph is the largest above-the-fold element
- Background images loaded via CSS — these are often missed because they are not in an
<img>tag - Video poster images — the thumbnail image shown before a video plays
What does not count as an LCP element:
<svg>elements<canvas>elements- Text inside form inputs
- Elements with
opacity: 0
How to find your LCP score
There are three ways to check your LCP score. Use all three — they tell you different things.
Method 1: PageSpeed Insights (fastest)
- Go to pagespeed.web.dev
- Paste in your URL and click Analyse
- Look at the top section — "Discover what your real users are experiencing."
- Your LCP score is shown in the field data section
This gives you both your real-user field data (what Google actually scores you on) and the lab data (useful for debugging). Always check the field data number first.
Method 2: Google Search Console (best for site-wide view)
- Open Google Search Console
- Go to Experience → Core Web Vitals
- Click into the LCP issues report
- This shows you which specific URLs are failing LCP and groups them by issue type
Search Console is the best tool for understanding which pages on your site have LCP problems at scale — especially if you have hundreds or thousands of pages.
Method 3: Chrome DevTools (best for debugging)
- Open Chrome and go to the page you want to test
- Open DevTools (F12 or right-click → Inspect)
- Go to the Performance panel
- Click the record button, reload the page, then stop recording
- Look for the LCP marker in the timeline — it shows exactly which element was identified as LCP and when it loaded
Chrome DevTools is the most powerful option for understanding exactly which LCP element it is and which phase of loading is causing the delay.
What is a good LCP score by industry?
LCP benchmarks vary significantly by industry. A 2.0-second LCP on a news site is excellent. A 2.4-second LCP on a Shopify store is borderline.
Here are rough real-world benchmarks based on CrUX data:
| Industry | Typical Good LCP | Common Issues |
|---|---|---|
| News and media | 1.5 – 2.2s | Large hero images, ad scripts |
| Ecommerce | 1.8 – 2.5s | High-res product images, app bloat |
| SaaS and software | 1.2 – 2.0s | Usually cleaner, fewer images |
| WordPress blogs | 2.0 – 3.5s | Unoptimised themes, shared hosting |
| Shopify stores | 2.0 – 3.0s | Theme JS, installed apps |
These are typical ranges — not targets. The target is always 2.5 seconds or less, regardless of industry.
Why is LCP the most important Core Web Vital?
Google has three Core Web Vitals — LCP, INP, and CLS. LCP tends to get the most attention for three reasons:
It is the most commonly failing metric. Across the web, more pages fail LCP than either of the other two vitals. Images are everywhere, servers are often underpowered, and third-party scripts delay rendering.
It has the most direct impact on user experience. LCP is the moment a user decides whether the page is loading or broken. Research from Google shows that as LCP increases from 1 second to 3 seconds, the probability of a user bouncing increases by 32%.
It has the clearest fixes. Unlike INP (which requires JavaScript profiling) or CLS (which requires layout debugging), most LCP issues come down to a handful of well-understood problems with well-understood fixes.
What affects your LCP score?
Six things have the biggest impact on LCP:
1. Server response time (TTFB). Before the LCP element can load, the browser needs the HTML from your server. If your server takes 1.5 seconds to respond, your LCP cannot be better than 1.5 seconds. Full stop.
2. Whether the LCP resource is discovered early If your LCP image is buried inside JavaScript or loaded via a CSS background, the browser discovers it late. Late discovery means late loading. Preloading the LCP image fixes this.
3. Image file size:
A 3MB hero image will always be slow on mobile connections, regardless of everything else you do. Compress your images. Convert to WebP. Use srcset to serve smaller images to smaller screens.
4. Render-blocking resources, such as
CSS and JavaScript files in the <head> that block the browser from rendering anything until they finish loading. Every millisecond of render-blocking delay is added directly to your LCP time.
5. Lazy loading on the LCP element
Adding loading="lazy" to your LCP image tells the browser to deliberately delay loading it. This is one of the most common LCP mistakes — particularly on WordPress sites where lazy loading is sometimes applied to all images globally.
6. CDN usage: Serving assets from a CDN dramatically reduces the physical distance between your files and your users. For users far from your origin server, this alone can cut LCP by 500ms or more.
Good LCP score vs good Lighthouse score — they are not the same thing
This trips up a lot of people.
Your Lighthouse LCP score is measured in a lab environment — a simulated test on a controlled device with a controlled connection speed, run from a fixed location. It is useful for debugging, but it is not what Google uses to rank your site.
Your real LCP score — the one in PageSpeed Insights field data and Google Search Console — is measured from actual users. Real devices. Real connection speeds. Real geography.
It is completely possible to have a Lighthouse LCP of 1.2 seconds and a real-user LCP of 4.5 seconds. This happens when:
- A large portion of your users are on mobile with slower connections
- You have a CDN for assets, but your origin server is slow
- Third-party scripts delay rendering for real users but are excluded from simulated tests
Always use the field data number as your primary target. Use Lighthouse to understand why the field data is bad — not to confirm that it is good.
What is a bad LCP score costing you?
Real numbers from Google's research and industry studies:
- Pages that load in 1 second convert 3x better than pages that load in 5 seconds
- Moving from a 2.4-second LCP to a 1.6-second LCP reduces bounce rate by roughly 15–20% for most sites
- For e-commerce, a 100ms improvement in page load time correlates with a 0.5–1% increase in conversion rate
- Google found that as LCP increases from 1s to 3s, the probability of a user bouncing increases by 32%
A bad LCP score is not just an SEO problem. It is a revenue problem.
How to improve your LCP score
Here are the highest-impact fixes in order of impact:
1. Preload your LCP image.
Add this to your <head> before any stylesheets:
html
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high">Also add fetchpriority="high" directly on the <img> element.
2. Remove lazy loading from the LCP element.
Check that your LCP image does not have loading="lazy". For WordPress users — check your theme and image optimisation plugin settings. Many apply lazy loading globally.
3. Fix your server response time. If your TTFB is above 800ms, add a CDN and enable server-side caching. For WordPress: WP Rocket or LiteSpeed Cache. For most sites, Cloudflare's free plan handles this well.
4. Convert images to WebP. Replace JPEG and PNG hero images with WebP. Typically, 30–50% smaller at the same visual quality. Squoosh.app is free and does this in seconds.
5. Defer render-blocking scripts.
Add defer to non-critical JavaScript. Add async to third-party scripts. Move non-critical CSS to load after the initial render.
Frequently asked questions
Q1. Is 2.0 seconds a good LCP score?
Yes. 2.0 seconds is solidly in the "Good" range. Anything at or below 2.5 seconds passes Google's threshold. Below 2.0 seconds is excellent.
Q2. Is 3.0 seconds a good LCP score?
No. 3.0 seconds falls in the "Needs improvement" range. It will not be flagged as "Poor" in Search Console, but it will not qualify as "Good" either. You should aim to get it below 2.5 seconds.
Q3. Does LCP affect SEO rankings?
Yes. LCP is one of Google's three Core Web Vitals, which are part of the Page Experience ranking signals. A failing LCP can cost you rankings in competitive search results.
Q4. My LCP element is text, not an image. What do I do?
Text-based LCP is usually caused by render-blocking fonts or CSS. Preload your key fonts, usefont-display: swap, and inline your critical CSS <head> to allow the text to paint as early as possible.
Q5. Why does my LCP score change between tests?
Lab-based LCP (Lighthouse, PageSpeed Insights) can vary between runs due to network conditions and server load. For a stable reading, use the field data in PageSpeed Insights or Google Search Console — these are averaged over 28 days of real-user data.
Summary
A good LCP score is 2.5 seconds or less, measured at the 75th percentile of real users.
The fastest way to check your score is PageSpeed Insights — paste in your URL and look at the field data section, not the Lighthouse score.
The most common causes of bad LCP are slow server response time, unoptimised images, and render-blocking resources. In most cases, preloading the LCP image, enabling server caching, and converting images to WebP will move you from Poor to Good.
