react.dev
Data from Aug 27, 2026, 6:59 PM UTC old
Overall #1,192 Developer Tooling #37 Frameworks and Libraries #8 · 1 measurement · since Aug 27, 2026
Stack
Detected on the same page load as the accessibility pass — the generator
from <meta name="generator"> or the shape of the page,
the host from response headers.
Core Web Vitals field data, url-level
Real Chrome users, 28-day window (2026-07-29 → 2026-08-25). This is what Google measures you on.
Scores
Filmstrip Lighthouse, mobile
How the page drew during the measured load, at 8 points across 3.00 s.
-
375 ms
-
750 ms
-
1.13 s
-
1.50 s
-
1.88 s
-
2.25 s
-
2.63 s
-
3.00 s
Without JavaScript
The same load, photographed twice at 412×823: once with scripts disabled, once as rendered.
0% of pixels differ — they are identical. A shifted layout counts as difference, so a <noscript> banner alone can account for a large figure.
Lab metrics Lighthouse, mobile
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| LCP Largest Contentful Paint | 3.91 s | — | — | 3.91 s | 3.91 s | |
| CLS Cumulative Layout Shift | 0 | — | — | 0 | 0 | |
| TBT Total Blocking Time | 132 ms | — | — | 132 ms | 132 ms | |
| FCP First Contentful Paint | 1.06 s | — | — | 1.06 s | 1.06 s | |
| Speed Index | 1.32 s | — | — | 1.32 s | 1.32 s | |
| TTFB Time to First Byte | 607 ms | — | — | 607 ms | 607 ms |
What LCP is made of observed, unthrottled
A flat LCP number tells you something regressed. The subparts tell you whether it was the server, resource discovery, the download, or rendering.
Measured on the trace before throttling is modelled, so these are real durations that will not sum to the 3.91 s above — that figure is a simulation of the same load on a slow phone and connection. Read these for the proportions: which phase dominates.
Field data Chrome UX Report, url-level
Real Chrome users, 28-day trailing window (2026-07-29 → 2026-08-25). This is what Google measures you on.
| Metric | p75 | Rating | Distribution (good / needs work / poor) |
|---|---|---|---|
| LCP CWV | 2.07 s | good | 81% good |
| INP CWV Interaction to Next Paint — field only, Lighthouse cannot measure this in a lab run | 192 ms | good | 76.1% good |
| CLS CWV | 0 | good | 96.6% good |
| FCP | 2.10 s | needs-improvement | 68.6% good |
| TTFB | 779 ms | good | 76.1% good |
Lab vs field LCP
The lab LCP is 1.89× the field p75 — real users likely have above-average hardware or network connectivity.
Field history 25 weeks
Weekly p75 from the CrUX History API, backfilled in a single request.
| Week ending | LCP | INP | CLS | FCP | TTFB |
|---|---|---|---|---|---|
| 2026-08-22 | 2.08 s | 193 ms | 0 | 2.13 s | 789 ms |
| 2026-08-15 | 2.09 s | 193 ms | 0 | 2.14 s | 793 ms |
| 2026-08-08 | 2.16 s | 195 ms | 0 | 2.21 s | 788 ms |
| 2026-08-01 | 2.15 s | 197 ms | 0 | 2.20 s | 790 ms |
| 2026-07-25 | 2.09 s | 199 ms | 0 | 2.15 s | 769 ms |
| 2026-07-18 | 2.08 s | 201 ms | 0 | 2.14 s | 761 ms |
| 2026-07-11 | 2.03 s | 200 ms | 0 | 2.08 s | 757 ms |
| 2026-07-04 | 2.02 s | 199 ms | 0 | 2.07 s | 755 ms |
| 2026-06-27 | 2.05 s | 195 ms | 0 | 2.10 s | 760 ms |
| 2026-06-20 | 2.06 s | 193 ms | 0 | 2.10 s | 764 ms |
| 2026-06-13 | 2.06 s | 193 ms | 0 | 2.11 s | 752 ms |
| 2026-06-06 | 2.06 s | 194 ms | 0 | 2.12 s | 741 ms |
Page weight
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| Page Weight | 1.15 MB | — | — | 1.15 MB | 1.15 MB | |
| Requests | 65 | — | — | 65 | 65 | |
| Third-party Weight | 160 kB | — | — | 160 kB | 160 kB | |
| Third-party CPU | 39 ms | — | — | 39 ms | 39 ms | |
| Unused JS | 222 kB | — | — | 222 kB | 222 kB | |
| Unused CSS | 16.2 kB | — | — | 16.2 kB | 16.2 kB |
By resource type
Third parties 1 entities
160 kB transferred, 39 ms of main thread time. This is the number most likely to regress without anyone on your team shipping anything.
Page health
| Metric | Current | Previous | Change | Best | Worst | Trend |
|---|---|---|---|---|---|---|
| Main Thread Work | 1.37 s | — | — | 1.37 s | 1.37 s | |
| Long Tasks | 7 | — | — | 7 | 7 | |
| DOM Elements | 1,785 | — | — | 1,785 | 1,785 | |
| Axe Violations Violating nodes from a full axe run — stricter than Lighthouse's subset | 6 | — | — | 6 | 6 | |
| A11y Failures | 3 | — | — | 3 | 3 | |
| A11y Failing Nodes | 5 | — | — | 5 | 5 |
Main thread work
Axe violations axe-core 4.13.0, full rule set
6 violating nodes across 3 rules, 2183 passing. This is a standalone axe run, stricter than the subset Lighthouse folds into its score above — and it is the second tiebreaker in the ranking.
-
serious
color-contrast— Elements must meet minimum color contrast ratio thresholds 3 nodes -
serious
scrollable-region-focusable— Scrollable region must have keyboard access 2 nodes -
moderate
heading-order— Heading levels should only increase by one 1 node
Accessibility failures 3 of 26 audits
Tracked as a count, not just the score — the weighted score is coarse enough that you can ship a broken component and barely move it.
-
color-contrast— Background and foreground colors do not have a sufficient contrast ratio. 3 nodes -
heading-order— Heading elements are not in a sequentially-descending order 1 node -
label-content-name-mismatch— Elements with visible text labels do not have matching accessible names. 1 node
Hygiene
Changes rarely — which is exactly why a change is worth noticing.
Measurement log
Every stored run for this URL, newest first. Failures are kept as records — "this site was down on Tuesday" is data too.
| When | Perf | LCP | CLS | TBT | Weight | Runs | Spread | Bench | Took |
|---|---|---|---|---|---|---|---|---|---|
| Aug 27, 2026, 6:59 PM UTC | 87 | 3.91 s | 0 | 132 ms | 1.15 MB | 3/3 | ±21 | 3,027 | 31.8s |
Embed this score
Live below, then the markup that produces it. Drop that on any page to show
react.dev's scores, updated whenever this instance
re-measures — more about the component. Don’t forget to bundle the speedlify2-score.js component code into your site!
<speedlify2-score speedlify-url="https://www.speedlify.dev/" url="https://react.dev/"></speedlify2-score>