Speed test:What makes your page slow, and what do you fix first?
Get Lighthouse lab results and real-user Core Web Vitals for mobile and desktop, with the seconds or kilobytes each slow part costs and how to fix it.
- Free, no account
- Results in under a minute
- Mobile and desktop, lab and field
example-shop.hr
WordPress 6.8Sample shop · homepage · mobile Chrome · the same check you get for your own site
21 passed · 0 failed · 1 warning. Biggest issue: Speed Index is 4.3 s (aim for 3.4 s or less).
Lab data from Google PageSpeed Insights (Lighthouse 12.8.2) · desktop score 100 · no field data: not enough real Chrome users visit this page yet
Lab (Lighthouse 12.8.2)
| Metric | Value | Rating |
|---|---|---|
| First Contentful Paint | 0.8 s | good |
| Largest Contentful Paint | 0.8 s | good |
| Total Blocking Time | 0 ms | good |
| Cumulative Layout Shift | 0 | good |
| Speed Index | 4.3 s | needs work |
| Time to First Byte | Root document took 30 ms | good |
LCP element: <p>
Field (Core Web Vitals)
Filmstrip
0.4 s
0.8 s
1.2 s
1.6 s
2.0 s
2.4 s
2.8 s
3.2 s
Waterfall · top 1 of 1 requests
- example.com/0 KB
What we found
Show 21 passed checks
Fix these first
From the example above. Check your own site to get the fixes that apply to it.
Warning: Speed Index is 4.3 s (aim for 3.4 s or less)
Speed Index scores how quickly the visible part of the page fills in.
How to fix it: Prioritise above-the-fold content — critical CSS inline, hero image preloaded, everything else deferred.
What this tool checks
Lab numbers from Google PageSpeed Insights next to real-user data from Chrome, each finding with its cost and a fix.
Lighthouse performance score
The 0 to 100 speed score Google's own tools show, combining the main lab metrics.
Largest Contentful Paint
How long the biggest element on screen takes to appear, which visitors and Google judge speed on.
Interaction to Next Paint
How quickly the page reacts to taps and clicks for real Chrome users, so it never feels frozen.
Cumulative Layout Shift
How much the page jumps around while loading, one of Google's three Core Web Vitals.
Total Blocking Time
How long JavaScript keeps the page too busy to respond to taps, measured in the lab.
First Contentful Paint
How long visitors stare at a blank page before the first text or image appears.
Time to First Byte
How long the server takes to start answering, which delays everything else on the page.
Speed Index
How quickly the visible part of the page fills in, so visitors see a complete screen early.
Render-blocking files
Finds stylesheets and scripts in the head that stop the browser drawing anything until they load.
Unused CSS
Measures CSS that downloads but is never used on the page, delaying the first render.
Unused JavaScript
Measures JavaScript that downloads but never runs, which costs time and data on phones.
Modern image formats
Checks images use WebP or AVIF, which are much smaller than JPEG and PNG at the same quality.
Show 26 more checks
Total Blocking Time
How long JavaScript keeps the page too busy to respond to taps, measured in the lab.
First Contentful Paint
How long visitors stare at a blank page before the first text or image appears.
Time to First Byte
How long the server takes to start answering, which delays everything else on the page.
Speed Index
How quickly the visible part of the page fills in, so visitors see a complete screen early.
Render-blocking files
Finds stylesheets and scripts in the head that stop the browser drawing anything until they load.
Unused CSS
Measures CSS that downloads but is never used on the page, delaying the first render.
Unused JavaScript
Measures JavaScript that downloads but never runs, which costs time and data on phones.
Modern image formats
Checks images use WebP or AVIF, which are much smaller than JPEG and PNG at the same quality.
Image sizing
Finds images sent larger than the space they are shown in, wasting bytes on every visit.
Offscreen image loading
Checks images below the fold wait until scrolled to, so the visible ones load first.
Web font text visibility
Checks text stays visible while web fonts download, instead of showing blank headings.
Third-party code weight
Measures the size and blocking time of tags, widgets and embeds from other companies.
Page element count
Counts the elements on the page, since very large pages feel sluggish on phones.
Long main-thread tasks
Finds scripts that freeze the page for over 50 ms and make taps and scrolls feel unresponsive.
Main-thread work
Total time the browser spends parsing and running your code, when it cannot respond to visitors.
Server response time
Checks how fast the server sends the first byte, which caching and hosting usually fix.
Redirects before the page
Measures time lost to redirects before the page loads, each one a full round trip.
Text compression
Checks HTML, CSS and JavaScript are sent with Brotli or gzip so visitors download far less.
Static file caching
Checks images, fonts, CSS and JS have long cache lifetimes so returning visitors skip re-downloads.
HTTP/2 and HTTP/3
Checks files are served over HTTP/2 or HTTP/3, which load many files at once instead of queueing them.
Real-user Largest Contentful Paint
How long the biggest element takes to appear for real Chrome users, against Google's 2.5 s target.
Real-user Interaction to Next Paint
How fast the page reacts to taps and clicks for real Chrome users, against Google's 200 ms target.
Real-user Cumulative Layout Shift
How much the page jumps around on real visitors' devices, against Google's 0.1 target.
Real-user Time to First Byte
How long real visitors wait for the server's first byte, against Google's 800 ms target.
Real-user First Contentful Paint
How long real visitors wait to see the first text or image, against Google's 1.8 s target.
Speed against other sites on your host
Compares your server's first byte with the anonymous median of other sites we checked on the same host.
Show 18 more checks
Image sizing
Finds images sent larger than the space they are shown in, wasting bytes on every visit.
Offscreen image loading
Checks images below the fold wait until scrolled to, so the visible ones load first.
Web font text visibility
Checks text stays visible while web fonts download, instead of showing blank headings.
Third-party code weight
Measures the size and blocking time of tags, widgets and embeds from other companies.
Page element count
Counts the elements on the page, since very large pages feel sluggish on phones.
Long main-thread tasks
Finds scripts that freeze the page for over 50 ms and make taps and scrolls feel unresponsive.
Main-thread work
Total time the browser spends parsing and running your code, when it cannot respond to visitors.
Server response time
Checks how fast the server sends the first byte, which caching and hosting usually fix.
Redirects before the page
Measures time lost to redirects before the page loads, each one a full round trip.
Text compression
Checks HTML, CSS and JavaScript are sent with Brotli or gzip so visitors download far less.
Static file caching
Checks images, fonts, CSS and JS have long cache lifetimes so returning visitors skip re-downloads.
HTTP/2 and HTTP/3
Checks files are served over HTTP/2 or HTTP/3, which load many files at once instead of queueing them.
Real-user Largest Contentful Paint
How long the biggest element takes to appear for real Chrome users, against Google's 2.5 s target.
Real-user Interaction to Next Paint
How fast the page reacts to taps and clicks for real Chrome users, against Google's 200 ms target.
Real-user Cumulative Layout Shift
How much the page jumps around on real visitors' devices, against Google's 0.1 target.
Real-user Time to First Byte
How long real visitors wait for the server's first byte, against Google's 800 ms target.
Real-user First Contentful Paint
How long real visitors wait to see the first text or image, against Google's 1.8 s target.
Speed against other sites on your host
Compares your server's first byte with the anonymous median of other sites we checked on the same host.
How it works
Run Lighthouse
Google PageSpeed Insights measures your page with Lighthouse twice, once on a throttled phone and once on desktop.
Add real-user data
The Core Web Vitals of real Chrome visitors from the Chrome UX Report are shown beside the lab numbers, where Google has them.
Rank the fixes
The LCP element, render-blocking files, unused code, oversized images, third-party weight and server response time are listed with what each costs.
Real-user numbers exist only for pages and sites with enough Chrome visitors, and the lab numbers come from one throttled run in a data centre.
Questions
Is this really free?
Yes. getReport is funded by donations, not plans. This tool runs the full report and shows you the part it is about; the complete report with all seven modules is one click away, also free.
How is this different from PageSpeed Insights?
The lab numbers are the same Lighthouse run, because we call Google's API. Around it you get a plain-language fix for every finding, the other six modules, a shareable link that stays live for 12 months, PDF and JSON export, and history when you test again.
Why do lab and field numbers differ?
Lab numbers come from one throttled run in a data centre; field numbers are the 75th percentile of real Chrome visitors over 28 days. Real users have different phones and networks from the lab's throttled profile, so treat the field numbers as the truth and the lab as the diagnosis.
Can I run this on many sites?
You can check 10 sites every 10 minutes and 50 a day from one connection. For more at once, the bulk URL checker and the bulk PageSpeed checker take lists of URLs; a free API is in development. Cached reports never count against the limit.
Why does speed matter for SEO and sales?
Core Web Vitals are a Google ranking signal, and slow pages lose visitors before they see anything, most of all on phones. Speed touches every visitor on every visit. Most sites are slowed by two or three things, such as one hero image, a few render-blocking scripts and a slow first byte. The report ranks them so you fix the biggest first.
Related free tools
All 41 tools →Free, funded by the people who use it
€0 of €75 this month. At €75, site crawl up to 500 pages + weekly re-check switches on for everyone.