stateofjs.com
Ranks Overall #1,782 Astro Showcase #220
Data from Oct 2, 2026, 1:51 PM UTC old Measured once a month · 1 run since Oct 2, 2026
Elsewhere:
PageSpeed Insights ·
Calibre ·
Treo ·
CrUX Vis ·
Tame the Bots ·
Scoring Calculator ·
Wayback Machine
https://stateofjs.com/en-US.
The site’s front door pointing at the page it serves there — a locale or CMS landing path, not a move. The origin is still the address of the site, so history stays under it rather than forking to a path that depends on where the measurement ran. Lighthouse follows the redirect, so the numbers below describe the page actually served; the only cost is an extra hop on each run.
Lab data is measured using Lighthouse, Mobile mode unless otherwise specified. Field data is reported from Chrome UX Report (using p75 measurements).
Stack
Lighthouse Scores LAB Simulated
Metrics LAB FIELD
Field figures are the p75 across real Chrome users over a 28-day trailing window (2026-09-02 → 2026-09-29), origin-level.
| Metric | Lab Simulated | Field | |||
|---|---|---|---|---|---|
| Value | Change / range | Trend | p75 | Distribution | |
| LCP CWV Largest Contentful Paint | 12.57 s poor | — 12.57 s – 12.57 s | 1.63 s good | 84.4% 10.2% 5.5% | |
| INP CWV Interaction to Next Paint — field only, no lab run can measure it | n/a | — | — | — | |
| CLS CWV Cumulative Layout Shift | 0 good | — 0 – 0 | 0 good | 100% 0% 0% | |
| TBT Total Blocking Time | 814 ms poor | — 814 ms – 814 ms | n/a | — | |
| FCP First Contentful Paint | 7.53 s poor | — 7.53 s – 7.53 s | 1.50 s good | 81.2% 8.3% 10.5% | |
| Speed Index | 7.53 s poor | — 7.53 s – 7.53 s | n/a | — | |
| TTFB Time to First Byte | 476 ms good | — 476 ms – 476 ms | — | — | |
LCP Subparts LAB Unthrottled
The subparts attribute LCP to your server, resource discovery, download, or rendering. Note that the Lab LCP shown above is a simulated throttled estimate.
LCP LAB Simulated vs LCP FIELD
The lab LCP is 7.71× the field p75 — real users likely have above-average hardware or network connectivity.
Page weight
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Page Weight | 3.99 MB | — 3.99 MB – 3.99 MB | |
| Requests | 38 | — 38 – 38 | |
| Third-party Weight | 0 B | — 0 B – 0 B | |
| Third-party CPU | 0 ms | — 0 ms – 0 ms | |
| Unused JS | 34.3 kB | — 34.3 kB – 34.3 kB | |
| Unused CSS | 0 B | — 0 B – 0 B |
By resource type
| Type | Transfer | Share | Size | Requests |
|---|---|---|---|---|
| image | 62.5% | 2.49 MB | 18 | |
| document | 34.2% | 1.36 MB | 2 | |
| script | 2.3% | 90.0 kB | 10 | |
| font | 1% | 38.7 kB | 5 | |
| stylesheet | 0.1% | 3.4 kB | 2 | |
| other | <0.1% | 521 B | 1 | |
| Total | 3.99 MB | 38 |
Page health
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Main Thread Work | 2.98 s | — 2.98 s – 2.98 s | |
| Long Tasks | 7 | — 7 – 7 | |
| DOM Elements | 5 | — 5 – 5 | |
| Axe Violations Violating nodes from a full Axe CLI run (more than Lighthouse reports) | 32 | — 32 – 32 | |
| A11y Failures | 3 | — 3 – 3 | |
| A11y Failing Nodes | 15 | — 15 – 15 |
Main thread work
| Task | Time | Share | Duration Simulated |
|---|---|---|---|
| other | 34% | 1.02 s | |
| script evaluation | 28% | 821 ms | |
| parse HTML | 19% | 555 ms | |
| style layout | 10% | 303 ms | |
| garbage collection | 6% | 179 ms | |
| paint composite render | 3% | 90 ms | |
| script parse compile | 0% | 5 ms | |
| Total | 2.98 s |
Axe violations axe-core 4.13.0, full rule set
32 violating nodes across 6 rules, 662 passing. This is a standalone Axe CLI run and is stricter than the subset Lighthouse already includes.
-
moderate
region— All page content should be contained by landmarks 12 nodesOffending elements (5 of 12)
-
.other-surveys<div class="other-surveys" data-astro-cid-qjjfqnus=""> -
h1<h1 data-astro-cid-yjicemwm=""> State of JavaScript </h1> -
.survey-description<p class="survey-description" data-astro-cid-yjicemwm=""> <span data-key="general.state_of_js.description" class="t">The annual developer survey of the JavaScript ecosystem</span> </p> -
.last-edition<section class="last-edition" data-astro-cid-vegvrfl5=""> -
.intro<div class="intro" data-astro-cid-yjicemwm="">
-
-
serious
link-name— Links must have discernible text 10 nodesOffending elements (5 of 10)
-
.image-wrapper[href$="2025.stateofjs.com/"][data-astro-cid-bv2ucval=""]<a class="image-wrapper" href="https://2025.stateofjs.com/" data-astro-cid-bv2ucval=""> <span class="image-inner" style="background-image: url(https://assets.devographics.com/surveys/js2025.png)" dat… -
.image-wrapper[href$="2024.stateofjs.com/"][data-astro-cid-bv2ucval=""]<a class="image-wrapper" href="https://2024.stateofjs.com/" data-astro-cid-bv2ucval=""> <span class="image-inner" style="background-image: url(https://assets.devographics.com/surveys/js2024.png)" dat… -
.image-wrapper[href$="2023.stateofjs.com/"][data-astro-cid-bv2ucval=""]<a class="image-wrapper" href="https://2023.stateofjs.com/" data-astro-cid-bv2ucval=""> <span class="image-inner" style="background-image: url(https://assets.devographics.com/surveys/js2023.png)" dat… -
.image-wrapper[href$="2022.stateofjs.com/"][data-astro-cid-bv2ucval=""]<a class="image-wrapper" href="https://2022.stateofjs.com/" data-astro-cid-bv2ucval=""> <span class="image-inner" style="background-image: url(https://devographics.github.io/surveys/state_of_js/js202… -
.image-wrapper[href$="2021.stateofjs.com/"][data-astro-cid-bv2ucval=""]<a class="image-wrapper" href="https://2021.stateofjs.com/" data-astro-cid-bv2ucval=""> <span class="image-inner" style="background-image: url(https://devographics.github.io/surveys/state_of_js/js202…
-
-
moderate
heading-order— Heading levels should only increase by one 4 nodesOffending elements
-
.survey-edition-status<h4 class="survey-edition-status" data-astro-cid-bv2ucval=""> <span data-key="homepage.most_recent_survey" class="t">Most Recent</span> </h4> -
.past-editions-items > .survey-edition:nth-child(1) > .survey-edition-card > .survey-edition-year<h4 class="survey-edition-year" data-astro-cid-bv2ucval="">2024</h4> -
.creator[data-astro-cid-7vxzcvsb=""]:nth-child(1) > .creator-name<h4 class="creator-name" data-astro-cid-7vxzcvsb=""> -
.calendar-section[data-astro-cid-p7bwgpkw=""]:nth-child(2) > .calendar-section-heading[data-astro-cid-p7bwgpkw=""]<h4 class="calendar-section-heading" data-astro-cid-p7bwgpkw=""><span data-key="calendar.past_editions" class="t">Past Surveys</span></h4>
-
-
minor
image-redundant-alt— Alternative text of images should not be repeated as text 4 nodesOffending elements
-
img[alt="Stéphanie Walter"]<img class="creator-avatar" src="https://assets.devographics.com/avatars/stephanie_walter.jpg" alt="Stéphanie Walter" data-astro-cid-7vxzcvsb=""> -
img[alt="afor digital"]<img class="creator-avatar" src="https://assets.devographics.com/avatars/afor_digital.jpg" alt="afor digital" data-astro-cid-7vxzcvsb=""> -
img[alt="Codebar"]<img class="creator-avatar" src="https://assets.devographics.com/avatars/codebar.jpg" alt="Codebar" data-astro-cid-7vxzcvsb=""> -
img[alt="Shruti Kapoor"]<img class="creator-avatar" src="https://assets.devographics.com/avatars/shruti_kapoor.jpg" alt="Shruti Kapoor" data-astro-cid-7vxzcvsb="">
-
-
minor
empty-table-header— Table header text should not be empty 1 nodeOffending element
-
th:nth-child(4)<th data-astro-cid-bqjuqxl5=""></th>
-
-
moderate
landmark-one-main— Document should have one main landmark 1 nodeOffending element
-
html<html lang="en">
-
Accessibility failures 3 of 20 audits
-
link-name— Links do not have a discernible name 10 nodes -
heading-order— Heading elements are not in a sequentially-descending order 4 nodes -
landmark-one-main— Document does not have a main landmark. 1 node
SEO failures 1 of 8 audits
-
meta-description— Document does not have a meta description
Hygiene
Measurement log
Field history 25 weeks
Weekly p75 from the CrUX History API, backfilled in a single request.
| Week ending | LCP | INP | CLS | FCP | TTFB |
|---|---|---|---|---|---|
| 2026-09-26 | 1.63 s | — | 0 | 1.53 s | — |
| 2026-09-19 | 1.79 s | — | 0 | 1.63 s | 743 ms |
| 2026-09-12 | 1.79 s | 71 ms | 0 | 1.68 s | 743 ms |
| 2026-09-05 | 1.75 s | 71 ms | 0 | 1.68 s | 751 ms |
| 2026-08-29 | 1.77 s | 80 ms | 0 | 1.67 s | 751 ms |
| 2026-08-22 | 1.62 s | 64 ms | 0 | 1.43 s | 717 ms |
| 2026-08-15 | 1.62 s | 69 ms | 0 | 1.43 s | 727 ms |
| 2026-08-08 | 1.64 s | 68 ms | 0 | 1.60 s | 617 ms |
| 2026-08-01 | 1.65 s | 67 ms | 0 | 1.57 s | 617 ms |
| 2026-07-25 | 1.89 s | — | 0 | 1.74 s | 771 ms |
| 2026-07-18 | 1.89 s | — | 0 | 1.73 s | 642 ms |
| 2026-07-11 | 1.84 s | — | 0 | 1.73 s | 670 ms |
Runs
Every stored run for this URL, newest first.
| When | Scores | Perf | LCP | CLS | TBT | Weight | Runs | Spread | Bench | Took | Archive |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Oct 2, 2026, 1:51 PM UTC | 39 | 12.57 s | 0 | 814 ms | 3.99 MB | 3/3 | ±8 | 2,473 -1% | 36.6s |
|