Browse recent website audits and performance trends
Explore technology stacks detected across the web
Side-by-side technology comparisons and market share
Curated technology stacks and the sites that use them
Editorial deep-dives on the state of web performance
Browse and download favicons from analyzed websites
Common questions about BeaverCheck scores and checks
How we calculate scores across 100+ checks
The story behind BeaverCheck and the team
Practical guides to fix common web performance issues
Step-by-step guides for moving between web technologies
Definitions for performance, SEO, and web platform terms
Check WCAG color contrast ratios between any two colors
Inspect HTTP response headers for any URL
Analyze SSL/TLS certificate details and chain
Look up DNS records for any domain
Trace the full redirect chain for any URL
Real-user INP and Core Web Vitals from Google's Chrome UX Report.
RESTful API for programmatic website audits
Embed an auto-updating health score badge on your site
Performance-focused optimization plan with CWV assessment, top offenders, and time estimates
First Contentful Paint First Contentful Paint — how long until the browser renders the first piece of content. Under 1.8s is good.
7.90 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
12.69 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
246 ms
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.000
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
Time to Interactive Time to Interactive — how long until the page is fully interactive and responds to user input. Under 3.8s is good.
12.79 s
Main Thread Breakdown
Showing top 10 of 12 scripts
Downloaded but never executed on this page.
Consider code splitting or tree shaking to reduce unused code.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
~337.8 KiB of savings available
Large JavaScript bundles delay interactivity. Split code by route or defer non-critical scripts.
JavaScript bundle is large — code-split routes and lazy-load off-screen components to defer.
Source: web.dev
Remove unused CSS rules with tools like PurgeCSS to reduce stylesheet size.
CSS bundle is large — purge unused styles (PurgeCSS, Tailwind JIT) to reduce CSS payload.
Subset fonts to include only used characters, or switch to system font stacks.
Font payload is large — subset to used glyphs only, or fall back to system fonts (zero load time).
Source: web.dev font loading
Each request adds latency. Bundle small files, use sprites, or eliminate unnecessary requests.
High HTTP request count — bundling, sprite-ing, and HTTP/2 server push can reduce per-request overhead.
public, max-age=0, s-maxage=86400
Web fonts
5
241 KB total
Render-blocking
0
of 5
Dominant font-display
swap
Most common across fonts
Fixing the unchecked items could save ~127 KB and ~254 ms
Current Resource Hints
3 resource hints configured
This site is hosted on green energy infrastructure
Provider: Something Familiar
cdnjs takes 862ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
75% of cdnjs's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Unattributable takes 550ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
51% of Google Tag Manager's code is unused. The script may be loading features you don't use.
How third-party costs are calculated
Send Feedback