Home/Free tools/Mobile-friendly test

// Free tool

Free mobile-friendly test for web apps, including pages behind a login

This mobile-friendly test for web apps works where URL testers can’t reach: answer a 12-question checklist on any page, or run the bookmarklet, which often works on pages behind a login. Every formula is on the page, and nothing you type is sent anywhere unless you choose to send it to us.

Loading the Mobile-Friendly Test for Web Apps (checklist + bookmarklet)… If nothing appears, please enable JavaScript.

// How it works

How the mobile-friendly test checks and scores your web app

Checklist mode: a 12-question mobile readiness checklist

Open the page on a phone, or your browser’s phone-sized view, and answer Yes or No. Seven questions are blockers that can stop the work on a phone: readable size, no sideways scrolling, readable text, thumb-sized buttons, tables that fit, logging in and finishing the main task.

  • Score = round(points from Yes answers ÷ 19 × 100). A blocker Yes earns 2 points, any other Yes 1 (7 × 2 + 5 × 1 = 19). No and unanswered earn 0.
  • Readiness band, once all 12 are answered: three or more blockers No is “Not ready for phones”; one or two, “Partly usable: fix the blockers first”; none, with a score of 90 or more, “Phone-ready” (at most one other No); anything else, “Usable, with rough edges”.
  • Top fixes: each No becomes a fix, blockers first, then the rest, in question order, up to five.

Example (hypothetical, not client data)

A warehouse team checks its inventory count screen. It scrolls sideways (No on question 2), the table’s last columns are cut off (No on 5) and the quantity field opens the letter keyboard (No on 9). Points: 19 − 2 − 2 − 1 = 14; 14 ÷ 19 × 100 = 73.7, so the score is 74. Two blockers are No: “Partly usable: fix the blockers first”. Fixes, in order: sideways scrolling, the wide table, form field types.

Bookmarklet mode: eight automatic checks at 390px wide

Drag “Test this page” to your bookmarks bar, open a page of your app (logged in is fine) and click it. After you confirm, it reloads the same address in a 390px-wide frame, waits for the load plus 1.5 seconds and runs eight checks. Up to five fixes follow: fails first, then warns, in table order.

Check
Fails when
Warns when
Viewport tag
No viewport meta tag contains width=device-width
–
Sideways scrolling
The page is more than 1px wider than the screen
–
Past the right edge
A visible element ends over 1px past the screen (outermost only; skips closed side drawers and content scrolling in a box that fits)
–
Wide tables
A table wider than the screen isn’t in a scrolling box
Wide tables scroll in their own box
Tap targets
A link, button, input, select or clickable element is under 24×24px in either direction
Under 44×44px
Small text
Half or more of visible text characters are under 12px
Some, but under half
Hover-only menus
–
A CSS :hover rule reveals another element with no matching :focus or :focus-within rule
Inline pixel widths
–
An inline px width or min-width, or a table, cell, column or iframe width attribute, exceeds the screen and still renders wider

Tap-target thresholds follow WCAG 2.2: Success Criterion 2.5.8 (Level AA) sets a 24 by 24 CSS pixel minimum and 2.5.5 (Level AAA) sets 44 by 44. Both exempt targets in a sentence, so links inside sentences are skipped (a heuristic); a checkbox or radio is measured by its label if that’s bigger. Visually hidden or off-screen targets, such as “skip to content” links, aren’t counted.

Paste the overlay’s report into the tool to add it to your report. The panel counts its FAIL, WARN and PASS lines but doesn’t change your checklist score.

Assumptions and limits

  • The checks are heuristics at one width in a desktop browser, against the page as it first loads. Confirm on a real phone.
  • Menus opened by script on mouseover aren’t detected, WCAG’s spacing exception isn’t applied, and stylesheets from other domains often can’t be read.
  • The reload counts as a second visit to your app, so save half-finished work first.
  • If framing is blocked, the page loads blank or redirects to another site, or it takes over 20 seconds, the bookmarklet checks the current window instead. A redirect within your app, such as to a sign-in page, gets checked, and the report shows that page’s address. For a phone-sized view, Chrome DevTools’ Device Mode toggles with Ctrl+Shift+M, or Cmd+Shift+M on a Mac (shortcut list); Google calls it a “first-order approximation” of a phone.
  • A bookmarklet report shows the page’s address without the query string, and its examples can include up to 30 characters of on-screen text, never form values. Check a report before sharing it.

// Google’s tool is gone

Google’s Mobile-Friendly Test is gone: how to test mobile-friendliness behind a login

Google retired its Mobile-Friendly Test tool, the Mobile-Friendly Test API and Search Console’s Mobile Usability report starting December 1, 2023 (Google’s announcement), pointing to Lighthouse from Chrome as one of the resources for evaluating mobile usability.

Public URL testers and responsive design checkers load a page without your login, so the screens your team and contractors use every day usually come back as a sign-in page. Lighthouse can audit logged-in pages, but it takes some setup, such as scripting the login (Lighthouse’s guide to authenticated pages).

This mobile friendly test skips that setup: the checklist needs only a phone, and the bookmarklet runs where you’re already logged in. Found more blockers than your team can fix? See how we make existing web apps mobile-friendly, page by page, or compare a mobile web app with a native app for field teams.

// One client’s result, not a prediction

Amusement Advantage: a contractor portal going mobile-friendly, page by page

We’re modernizing Amusement Advantage’s existing contractor portal page by page, each page tested on a staging copy before production, so contractors can register, find and apply for assignments, check status, update info and upload photos from their phones. One client’s result, not a prediction for your app. Read the case study.

60,000+

Contractors in the network the portal serves

~90%

Share of the contractor workflow now on mobile-responsive pages

20–30%

Fewer support requests for login, opportunity search and assignment status

// FAQ

Mobile-friendly testing for web apps: common questions

What happened to Google’s Mobile-Friendly Test?

Google retired the Mobile-Friendly Test tool, its API and Search Console’s Mobile Usability report starting December 1, 2023, according to Google Search Central. Google pointed to Lighthouse from Chrome as one of the resources for evaluating mobile usability. Lighthouse can audit logged-in pages, but that takes some setup.

Is my data sent anywhere?

No. The checklist and the bookmarklet run in your own browser, and nothing you type is sent anywhere unless you choose to send it to us with “Send results to an engineer”. Share links keep only the mode and your 12 answers, after the #. The bookmarklet does reload your page from your own app’s server, as a refresh would.

Does it work on internal apps and pages behind a login?

Often. The checklist works on any page you can open on a phone. The bookmarklet runs in the browser where you’re already logged in. If your app blocks framing, the bookmarklet checks the window at its current width instead and explains how to switch to a phone-sized view, and the checklist still works. Company IT policies or a site’s security settings can block bookmarklets; if nothing happens when you click it, use the checklist.

What score is good enough?

Fix the blockers first: readable size, no sideways scrolling, readable text, thumb-sized buttons, tables that fit, logging in and finishing the main task. Any blocker answered No keeps you out of “Phone-ready”, which also needs a score of 90 or more. In a bookmarklet report, fix fails before warns.

Should we retrofit or rebuild?

Many older web apps can be retrofitted page by page. See making an existing web app mobile-friendly. If you’re weighing a native app instead, read mobile web app vs native app for field teams.

Does a clean result mean the app works on every phone?

No. The automated checks are heuristics, run at one width in a desktop browser against the page as it first loads. They miss menus opened by script on mouseover and don’t apply WCAG’s spacing exception. Confirm on a real phone with the people who use the app every day.

// Bring us in

Tell us about the software your business runs on.

A new build, a system that’s hard to use, a stuck project or a prototype that needs to go live. An engineer, not a salesperson, will get back to you.

202-88-MAGIC · or email info@effortlesspresence.com