Mobile website test on iPhone and Android

Find out how your page behaves at real phone screen sizes. We load it as an iPhone SE, an iPhone 15 Pro and a Pixel 7 with the CPU slowed down 4×, then check load time, script blocking, JavaScript errors, sideways scrolling, tap target size and text size. Problems that stay hidden on a fast desktop, such as long script tasks and tiny buttons, show up here.

Runs only this test. Want everything? Run all 18 tests from the home page.

What this test checks

Load time on a mid-range phone

Median time to the load event across the three phones, on the first visit and on a repeat visit.

Main-thread blocking

Time spent in long JavaScript tasks beyond 50 ms each, during which the phone cannot respond to taps or scrolling.

JavaScript errors

Console errors and uncaught exceptions on each phone, split into errors from your own site and errors from third-party scripts.

Fits the phone screen

Whether the page is wider than the screen on any phone, which forces visitors to scroll sideways.

Tap target size

Visible buttons, links and form controls smaller than 24×24 px, the WCAG 2.2 minimum; links inside running text are exempt.

Readable text size

The share of text set smaller than 12 px, which is hard to read on a phone without zooming.

Mobile screenshot

A screenshot of the first screen on the iPhone SE profile for a quick visual check.

Sample result

A real result for devteam.co.kr, tested 17 hours ago.

Mobile experience

Median repeat-visit load 614 ms on 3 phone profiles, 0 JavaScript errors from your own code.

100/100A+
Load time on a mid-range phone (Good)
Pages load quickly on phones even with a slow CPU.
614 ms repeat · 916 ms first visit
Target: Under 1.5 s on repeat visits (4× CPU slowdown)
Main thread blocking (Good)
Scripts leave the phone responsive to taps while the page loads.
0 ms
Target: Under 200 ms of long tasks
How we test this →
No JavaScript errors (Good)
Your own scripts ran without errors on all devices.
0 own · 0 third-party
Target: 0 errors from your own scripts
Fits the phone screen (Good)
No horizontal scrolling on any device.
Fits
Target: No sideways scrolling
Tap targets large enough (Good)
Buttons and links are easy to tap.
2 small
Target: Buttons and controls at least 24×24 px (WCAG 2.2)
Readable text size (Good)
Text is legible without zooming.
0% tiny text
Target: Under 5% of text smaller than 12 px
DeviceFirst visitRepeat visitBlockingJS errorsFits screen
iPhone SE (3rd gen)
375×667
931 ms 614 ms 44 ms 0 Yes
iPhone 15 Pro
393×659
908 ms 592 ms 0 ms 0 Yes
Pixel 7
412×839
916 ms 671 ms 0 ms 0 Yes

Playwright device profiles with a 4× CPU slowdown. Load = navigation start → load event; blocking = long tasks over 50 ms.

How it works

  1. The test runs in headless Chromium on our test server in Virginia, USA, using Playwright device profiles for iPhone SE (3rd gen, 375×667), iPhone 15 Pro (393×659) and Pixel 7 (412×839).
  2. Each profile sets the screen size, pixel density, touch support and user agent, and the CPU is slowed down 4× to mimic a mid-range phone.
  3. Each phone loads the page twice, first with an empty cache and then as a reload, and waits for network activity to settle before measuring.
  4. The network is not throttled, so load times reflect your server, page weight and the slowed-down CPU.
  5. Every request the browser makes goes through a network guard that only connects to public IP addresses on ports 80 and 443.

How it is scored

The score uses our item-weighted formula: a pass earns full credit, a warning half and a fail none, with load time, JavaScript errors and screen fit weighted 3×, main-thread blocking 2×, and tap targets and text size 1×. Grades follow our scale: A+ 95+, A 90+, B 80+, C 70+, D 60+, F below 60.

CheckGoodNeeds workPoor
Repeat-visit load time (median of 3 phones)1.5 s or less1.5–3.5 sOver 3.5 s
Main-thread blocking (median)200 ms or less200–600 msOver 600 ms
JavaScript errors from your own codeNone1–23 or more
Horizontal overflowFits on every phone—Wider than the screen on any phone
Controls smaller than 24×24 px (median)3 or fewer4–12More than 12
Text smaller than 12 px5% or less6–20%Over 20%

Grades: A+ 95–100 · A 90–94 · B 80–89 · C 70–79 · D 60–69 · F below 60.

FAQ

How do I test if my website is mobile-friendly?
Enter your URL and run this test. It loads the page on three phone profiles with a slowed-down CPU and checks load time, JavaScript errors, sideways scrolling, tap target size and text size, with a screenshot of the first screen. Google retired its own Mobile-Friendly Test tool in December 2023, so checks like these now come from tools such as this one and Lighthouse.
Why does my site load slowly on phones but fast on my computer?
Phones have slower processors than desktop computers, so the same JavaScript takes longer to parse and run. This test slows the CPU down 4× to show that effect: long script tasks block taps and scrolling, and heavy pages take longer to finish loading. Cutting unused JavaScript and loading third-party scripts later usually helps.
Does this test use real iPhones?
No. It uses Playwright's iPhone and Android device profiles in Chromium, which match each phone's screen size, pixel density, touch support and user agent. To check Safari's rendering engine itself, run the browser compatibility test, which opens your page in WebKit.
What tap target size does WCAG require?
WCAG 2.2 success criterion 2.5.8 (Target Size, Minimum) asks for targets of at least 24×24 CSS pixels, with exceptions such as links inside a sentence. This test counts visible buttons, links and form controls below that size. Around 44×44 px is a more comfortable size for fingers.