Web Vitals Score Calculator
Grade your Core Web Vitals against Google's Good / Needs-Improvement / Poor thresholds. Enter LCP, INP, and CLS (plus optional FCP, TTFB, and TBT) to get an overall pass/fail verdict, a per-metric rating breakdown, and targeted improvement suggestions.
Input
Core Web Vitals
Good ≤ 2500ms · Needs Improvement ≤ 4000ms · Poor > 4000ms
Good ≤ 200ms · Needs Improvement ≤ 500ms · Poor > 500ms
Good ≤ 0.1 · Needs Improvement ≤ 0.25 · Poor > 0.25
Secondary metrics (optional)
Good ≤ 1800ms · Needs Improvement ≤ 3000ms · Poor > 3000ms
Good ≤ 800ms · Needs Improvement ≤ 1800ms · Poor > 1800ms
Good ≤ 200ms · Needs Improvement ≤ 600ms · Poor > 600ms
Output
| Metric | Value | Rating | What it means |
|---|---|---|---|
| No data yet | |||
Guides
Grade your site's Core Web Vitals against Google's published thresholds without opening a full audit tool. Enter the three core field metrics — Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) — and the calculator returns an overall pass/fail verdict, a per-metric rating (Good / Needs Improvement / Poor), and targeted fixes for anything that falls short. Three optional secondary metrics (FCP, TTFB, TBT) round out the picture.
How to use it
- Grab your metric values from a real-user data source (Chrome User Experience Report, PageSpeed Insights "field data", or your RUM provider) or a lab run (Lighthouse).
- Type each value into its field. LCP, INP, FCP, TTFB, and TBT are in milliseconds; CLS is a unitless score.
- Read the Verdict and Summary, then check the Metric breakdown table for each metric's rating and the Suggestions panel for concrete improvements.
Leave a field blank to mark it "Not Provided" — it is simply excluded from the assessment. A site is only rated Passes Core Web Vitals when LCP, INP, and CLS are all present and all rated Good.
Thresholds
A metric is rated Good when its value is at or below the Good boundary, Needs Improvement when it is above Good but at or below the Needs-Improvement boundary, and Poor above that.
| Metric | Good | Needs Improvement | Poor |
|---|---|---|---|
| LCP — Largest Contentful Paint | ≤ 2500 ms | ≤ 4000 ms | > 4000 ms |
| INP — Interaction to Next Paint | ≤ 200 ms | ≤ 500 ms | > 500 ms |
| CLS — Cumulative Layout Shift | ≤ 0.1 | ≤ 0.25 | > 0.25 |
| FCP — First Contentful Paint | ≤ 1800 ms | ≤ 3000 ms | > 3000 ms |
| TTFB — Time to First Byte | ≤ 800 ms | ≤ 1800 ms | > 1800 ms |
| TBT — Total Blocking Time | ≤ 200 ms | ≤ 600 ms | > 600 ms |
Which metrics count toward passing?
Only the three core metrics — LCP, INP, and CLS — determine the pass/fail verdict. FCP, TTFB, and TBT are diagnostic: they help explain why a core metric is slow (for example, a high TTFB inflates LCP), but Google does not include them in the Core Web Vitals assessment itself.
What replaced FID?
Interaction to Next Paint (INP) became a stable Core Web Vital in March 2024, replacing First Input Delay (FID). INP measures the worst-case latency across all interactions on the page, not just the first one, so it is a stricter and more representative responsiveness signal. If your tooling still reports FID, use INP wherever you can get it.
Field data vs. lab data
Prefer field data (real users, 75th percentile over 28 days) for the pass/fail verdict — that is what Google uses for ranking signals. Lab data from Lighthouse is reproducible and great for debugging, but a single throttled run can differ from what real visitors experience. TBT in particular is a lab-only metric that correlates with (but does not equal) INP in the field.
Privacy
Everything runs entirely in your browser. Your metric values are never uploaded or stored — the calculation is pure client-side math.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/web-vitals-score-calculator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"lcp": "2000",
"inp": "150",
"cls": "0.05",
"fcp": "",
"ttfb": "",
"tbt": ""
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `web-vitals-score-calculator` tool (Web Vitals Score Calculator) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.