Core Web Vitals Checker: Does Your Page Pass? (LCP, FID, CLS)
Enter your LCP, FID and CLS and instantly see whether your page passes Google's Core Web Vitals. Official thresholds (LCP ≤2,500 ms, CLS ≤0.1, INP ≤200 ms) plus a reference table.
See step-by-step calculation
When to use this calculator
- Diagnosing why a landing page dropped in Google Search rankings after a site update — checking if LCP degraded beyond the 2,500 ms threshold.
- Validating that a new e-commerce product page meets Core Web Vitals standards before a major product launch to avoid SEO penalties.
- Comparing page performance across mobile vs. desktop by running separate LCP, FID, and CLS values from Chrome UX Report field data.
- Auditing a third-party blog post embed or ad injection that may be causing unexpected CLS score spikes above the 0.25 'Poor' threshold.
- Preparing a monthly web performance report for stakeholders, translating raw millisecond values and unitless CLS scores into clear Good/Needs Improvement/Poor ratings.
Official Core Web Vitals & diagnostic thresholds (2026)
Exact "Good / Needs Improvement / Poor" cutoffs Google applies at the 75th percentile of real-user (CrUX) field data. The top three rows are the ranking-affecting Core Web Vitals; the bottom three are diagnostic metrics that feed into them. INP officially replaced FID as a Core Web Vital on 12 March 2024 — FID is kept here only for historical CrUX trend reading. Source: web.dev (defining-core-web-vitals-thresholds) and Google Search Central.
| Metric | What it measures | Good | Needs improvement | Poor | Unit |
|---|---|---|---|---|---|
| LCP (Largest Contentful Paint) | Loading — largest element render | ≤ 2,500 | 2,501 – 4,000 | > 4,000 | ms |
| INP (Interaction to Next Paint) | Responsiveness — worst interaction | ≤ 200 | 201 – 500 | > 500 | ms |
| CLS (Cumulative Layout Shift) | Visual stability — unexpected shifts | ≤ 0.10 | 0.11 – 0.25 | > 0.25 | unitless |
| FID (First Input Delay) — retired | Responsiveness — first input only | ≤ 100 | 101 – 300 | > 300 | ms |
| TTFB (Time to First Byte) | Diagnostic — server response | ≤ 800 | 801 – 1,800 | > 1,800 | ms |
| FCP (First Contentful Paint) | Diagnostic — first pixel painted | ≤ 1,800 | 1,801 – 3,000 | > 3,000 | ms |
A page passes Core Web Vitals only when all three top metrics (LCP, INP, CLS) score "Good". One metric in any other band fails the whole URL. Thresholds unchanged in 2026.
How it works
How It's Calculated
Core Web Vitals are not computed with a single aggregate formula — each metric has its own measurement definition and pass/fail thresholds applied at the 75th percentile of page loads for a given URL (field data) or against fixed cutoffs (lab data). This calculator applies the official Google/W3C thresholds directly:
LCP Classification:
if LCP_ms ≤ 2500 → "Good"
if 2500 < LCP_ms ≤ 4000 → "Needs Improvement"
if LCP_ms > 4000 → "Poor"
FID Classification:
if FID_ms ≤ 100 → "Good"
if 100 < FID_ms ≤ 300 → "Needs Improvement"
if FID_ms > 300 → "Poor"
CLS Classification:
if CLS ≤ 0.1 → "Good"
if 0.1 < CLS ≤ 0.25 → "Needs Improvement"
if CLS > 0.25 → "Poor"
Overall Pass:
ALL three metrics = "Good" → Page passes Core Web Vitals
ANY metric ≠ "Good" → Page fails Core Web VitalsLCP (Largest Contentful Paint) measures how long it takes for the largest visible element in the viewport — typically a hero image, a <video> poster, or a large block of text — to fully render. It is a loading performance metric defined by the W3C Largest Contentful Paint API.
FID (First Input Delay) measures the delay between the first user interaction (click, tap, key press) and when the browser actually begins processing the event handler. It captures main-thread blockage caused by JavaScript execution. (Note: Google began replacing FID with INP — Interaction to Next Paint — as the official standard in March 2024, but FID remains a widely reported field metric.)
CLS (Cumulative Layout Shift) is a unitless score measuring the total amount of unexpected visual instability during a page's entire lifespan. It is calculated as:
CLS = Σ (impact_fraction × distance_fraction)Where impact_fraction is the proportion of the viewport affected by the shifting element, and distance_fraction is the largest distance any element moved relative to the viewport height/width.
---
Reference Table
| Metric | Good | Needs Improvement | Poor | Unit |
|---|---|---|---|---|
| LCP | ≤ 2,500 ms | 2,501 – 4,000 ms | > 4,000 ms | milliseconds |
| FID | ≤ 100 ms | 101 – 300 ms | > 300 ms | milliseconds |
| CLS | ≤ 0.10 | 0.11 – 0.25 | > 0.25 | unitless score |
| INP (new, 2024) | ≤ 200 ms | 201 – 500 ms | > 500 ms | milliseconds |
| TTFB (diagnostic) | ≤ 800 ms | 801 – 1,800 ms | > 1,800 ms | milliseconds |
| FCP (diagnostic) | ≤ 1,800 ms | 1,801 – 3,000 ms | > 3,000 ms | milliseconds |
Source: web.dev / Google Search Central, official Core Web Vitals thresholds (updated 2024).
---
Typical Cases
Example 1 — Passing page (all Good):
Example 2 — One failing metric:
<link rel="preload">).Example 3 — Heavy JavaScript + unstable layout:
width and height attributes missing), no server-side rendering.---
Common Errors
1. Confusing lab data with field data. Tools like Lighthouse run in a controlled environment (simulated throttling) and produce lab scores. Google uses field data (Chrome UX Report, 75th percentile) for ranking. A Lighthouse LCP of 1,800 ms does not guarantee a field LCP below 2,500 ms under real mobile network conditions.
2. Measuring CLS only on initial load. CLS accumulates throughout the entire page session. Interactions like accordion expansions, infinite scroll, cookie banners appearing after load, or late-loading fonts can all contribute CLS after the initial render — and all count toward the score.
3. Ignoring the 75th-percentile rule. Google does not use median (50th percentile) values. Even if 74% of your users experience a Good LCP, if the 75th-percentile user sees 2,600 ms, your page is classified as "Needs Improvement." You must optimize for the slower portion of your audience.
4. Treating FID and INP as interchangeable. FID only captures the first interaction delay and ignores subsequent interactions (e.g., clicking filters on a search page). INP, which replaced FID as an official Core Web Vital in March 2024, measures the worst-case interaction delay across the entire session. A page with FID = 50 ms can still fail INP if a later JavaScript-heavy interaction takes 600 ms.
5. Missing image dimensions causing CLS. One of the most common CLS causes is images without explicit width and height HTML attributes. The browser cannot reserve space for them before they load, so the layout shifts when the image appears. Always set dimensions on <img> tags.
---
Quick Answer
Does my page pass Core Web Vitals? Only if all three metrics score "Good" at the 75th percentile of real users: LCP ≤ 2,500 ms, FID ≤ 100 ms (now INP ≤ 200 ms since March 2024), and CLS ≤ 0.1. One failing metric fails the whole page. Optimize for the slower 25% of your audience — not the average visitor — and prioritize mobile, since Google indexes mobile-first.
Calculation Example
Frequently asked questions
What are Core Web Vitals and why do they matter for SEO?
What is a good LCP score and how do I improve it?
<link rel="preload" as="image">, (2) serving images in modern formats like WebP or AVIF (typically 25–50% smaller than JPEG), (3) using a CDN to reduce Time to First Byte (TTFB), and (4) removing render-blocking CSS/JS. Google's own data shows that optimizing TTFB alone — aiming for ≤ 800 ms — often accounts for 40–60% of LCP improvement.What is a good CLS score and what causes layout shifts?
width/height attributes, web fonts causing FOUT (Flash of Unstyled Text) that shifts surrounding text, dynamically injected content (ads, banners, cookie notices) that pushes existing content down, and CSS animations that alter layout-triggering properties. Chrome DevTools' Layout Shift Regions feature highlights exactly which elements are shifting and by how much.Did Google replace FID with INP? Do I still need to track FID?
How does Google measure Core Web Vitals — from my Lighthouse score or from real users?
What tools can I use to measure LCP, FID, and CLS?
web-vitals JavaScript library for real-user monitoring (RUM) in your own analytics pipeline. Chrome DevTools' Performance panel also visualizes LCP and CLS directly in the timeline.Can a page pass Core Web Vitals if only two out of three metrics are Good?
What's the difference between FCP and LCP — aren't they both about loading?
Sources & references
Methodology & trust
Calculadora de tecnología revisada por el equipo editorial de Hacé Cuentas, contrastada con Google Search Central — Core Web Vitals documentation, según nuestra política editorial y metodología.
Última revisión: June 22, 2026. Los parámetros se verifican periódicamente con las fuentes citadas.
Calculations run 100% in your browser. We do not store or transmit your data.
Indicative results. For critical decisions, consult a professional.
Rodríguez, M. (2026). Core Web Vitals Checker: Does Your Page Pass? (LCP, FID, CLS). Hacé Cuentas. https://hacecuentas.com/page-load-time-core-web-vitals
Contenido bajo licencia CC-BY 4.0 — reutilizable citando la fuente con enlace a Hacé Cuentas.