speedlify2

Lighthouse lab metrics, Axe, and Chrome UX Report field data for a list of sites recorded and compared over time.

Measurement runs Embed a score

htmx.org

https://htmx.org/

83 100 100 100 !AXE CWV

Data from Aug 27, 2026, 6:59 PM UTC old

Overall #821 Developer Tooling #17 Frameworks and Libraries #4 · 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.

Zo Built with Zola
Netlify Hosted by Netlify

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.

LCP 1.59 s good
INP 120 ms good
CLS 0 good

Scores

83
Performance
no change
100
Accessibility
no change
100
Best Practices
no change
100
SEO
no change

Filmstrip Lighthouse, mobile

How the page drew during the measured load, at 8 points across 3.00 s.

  1. 375 ms
  2. 750 ms
  3. 1.13 s
  4. 1.50 s
  5. 1.88 s
  6. 2.25 s
  7. 2.63 s
  8. 3.00 s

Without JavaScript

The same load, photographed twice at 412×823: once with scripts disabled, once as rendered.

Scripts disabled
As rendered

1.2% of pixels differ — they are nearly 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 4.21 s 4.21 s 4.21 s
CLS Cumulative Layout Shift 0 0 0
TBT Total Blocking Time 0 ms 0 ms 0 ms
FCP First Contentful Paint 2.42 s 2.42 s 2.42 s
Speed Index 2.42 s 2.42 s 2.42 s
TTFB Time to First Byte 605 ms 605 ms 605 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 4.21 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.

resource load duration 90 ms
element render delay 75 ms
resource load delay 65 ms
time to first byte 4 ms

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 1.59 s good 88.4% good
INP CWV Interaction to Next Paint — field only, Lighthouse cannot measure this in a lab run 120 ms good 91.7% good
CLS CWV 0 good 97.6% good
FCP 1.27 s good 86.9% good
TTFB 609 ms good 82.2% good

Lab vs field LCP

Lab 4.21 s
Field p75 1.59 s

The lab LCP is 2.64× 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 LCPINPCLSFCPTTFB
2026-08-22 1.53 s 122 ms 0 1.19 s 563 ms
2026-08-15 1.55 s 126 ms 0 1.23 s 611 ms
2026-08-08 1.62 s 129 ms 0 1.26 s 611 ms
2026-08-01 1.70 s 131 ms 0 1.30 s 647 ms
2026-07-25 1.77 s 130 ms 0 1.36 s 682 ms
2026-07-18 1.74 s 131 ms 0 1.32 s 667 ms
2026-07-11 1.70 s 130 ms 0 1.29 s 682 ms
2026-07-04 1.55 s 128 ms 0 1.16 s 617 ms
2026-06-27 1.56 s 129 ms 0 1.17 s 580 ms
2026-06-20 1.60 s 128 ms 0 1.22 s 581 ms
2026-06-13 1.57 s 127 ms 0 1.20 s 575 ms
2026-06-06 1.56 s 129 ms 0 1.20 s 569 ms

Page weight

Metric Current Previous Change Best Worst Trend
Page Weight 866 kB 866 kB 866 kB
Requests 55 55 55
Third-party Weight 9.6 kB 9.6 kB 9.6 kB
Third-party CPU 3 ms 3 ms 3 ms
Unused JS 23.0 kB 23.0 kB 23.0 kB
Unused CSS 0 B 0 B 0 B

By resource type

image 742 kB · 44 req
script 71.1 kB · 5 req
stylesheet 36.3 kB · 2 req
document 12.1 kB · 2 req
other 4.3 kB · 2 req
third party 49.5 kB · 4 req

Third parties 1 entities

9.6 kB transferred, 3 ms of main thread time. This is the number most likely to regress without anyone on your team shipping anything.

GitHub 9.6 kB · 3 ms CPU

Page health

Metric Current Previous Change Best Worst Trend
Main Thread Work 967 ms 967 ms 967 ms
Long Tasks 2 2 2
DOM Elements 289 289 289
Axe Violations Violating nodes from a full axe run — stricter than Lighthouse's subset 2 2 2
A11y Failures 1 1 1
A11y Failing Nodes 1 1 1

Main thread work

other 404 ms
style layout 369 ms
script evaluation 87 ms
script parse compile 51 ms
parse HTML 30 ms
paint composite render 27 ms

Axe violations axe-core 4.13.0, full rule set

2 violating nodes across 2 rules, 634 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.

  • moderate landmark-unique — Landmarks should have a unique role or role/label/title (i.e. accessible name) combination 1 node
  • serious scrollable-region-focusable — Scrollable region must have keyboard access 1 node

Accessibility failures 1 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.

  • 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.

HTTPS HSTS CSP Clickjacking protection Origin isolation Trusted Types bfcache h2

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 PerfLCPCLSTBTWeight RunsSpreadBenchTook
Aug 27, 2026, 6:59 PM UTC 83 4.21 s 0 0 ms 866 kB 3/3 ±6 2,499 27.7s

Embed this score

Live below, then the markup that produces it. Drop that on any page to show htmx.org'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://htmx.org/"></speedlify2-score>