Mobile Performance Checker
Audit your site against a weighted mobile-performance checklist — Core Web Vitals, viewport, assets and UX — and get a shareable readiness score.
About this ToolHow it works, benefits & use casesTap to collapse
Audit your site against an opinionated, priority-weighted mobile-performance checklist and watch a 0–100 readiness score react as you tick what you ship. The tool lists 16 checks across four categories — Core Web Vitals, viewport & responsiveness, network & assets, and mobile UX — each tagged Critical, High, Medium or Low, with an expandable "Why & how" note. The score is weighted, not a simple tick-percentage: each item contributes by priority (critical ×10, high ×5, medium ×2, low ×1), so passing the heavy hitters like LCP, INP, the viewport meta tag and image optimization moves the needle far more than nice-to-haves. You get an overall ring (Mobile-ready ≥90, Needs work ≥50, At risk below), per-category bars, a "fix these first" list of your top unchecked items sorted by priority, and a Core Web Vitals threshold reference for LCP, INP and CLS. Check-all and reset buttons let you start clean. Your progress is encoded in the URL so you can share the exact state with your team, and you can export the whole audit as a Markdown checklist to drop into a pull request.
How to Use
- 1Work through the four category sections and tick every check your site already passes.
- 2Expand "Why & how" on any item to see why it matters for mobile and how to verify it.
- 3Watch the weighted readiness ring, per-category bars and band label (Mobile-ready / Needs work / At risk) update live.
- 4Use the "fix these first" list to tackle your highest-priority unchecked items, and the Core Web Vitals panel as a threshold reference.
- 5Share the URL to hand your exact progress to a teammate, or export the Markdown checklist for a PR or ticket.
Key Benefits
- Priority-weighted score (critical ×10, high ×5, medium ×2, low ×1) — not a flat tick-percentage
- 16 curated checks across Core Web Vitals, viewport, network/assets and mobile UX
- Per-item "Why & how" notes explaining the ranking impact and the fix
- Per-category breakdown bars plus an overall readiness ring and band
- "Fix these first" list that surfaces your top unchecked items by priority
- Shareable URL state — your ticks are encoded in the link, no account or storage needed
- Markdown export with score, category table, checkboxes and a Core Web Vitals reference
Common Use Cases
- Running a pre-launch mobile readiness pass and tracking it as a weighted score
- Prioritising mobile work by fixing the highest-weight unchecked items first
- Sharing a snapshot of audit progress with a teammate via the URL
- Attaching a Markdown checklist to a pull request or performance ticket
- Using the LCP / INP / CLS reference panel as a quick Core Web Vitals cheat sheet
Readiness score
At risk0 of 17 checks done · weighted by priority (critical ×10, high ×5, medium ×2, low ×1)
By category
Fix these first
- CriticalLCP under 2.5s on mobile
- CriticalINP under 200ms
- CriticalResponsive viewport meta tag
- CriticalOptimized, modern-format images
- HighCLS under 0.1
Core Web Vitals thresholds
Loading — time to render the largest visible element.
Responsiveness — latency of the worst real interaction.
Visual stability — how much the layout unexpectedly shifts.
Markdown checklist with your progress
# Mobile Performance Checklist **Readiness score: 0/100** (poor) — 0/17 items checked | Category | Score | Items | | --- | --- | --- | | Core Web Vitals | 0/100 | 0/4 | | Viewport & responsiveness | 0/100 | 0/4 | | Network & assets | 0/100 | 0/5 | | Mobile UX | 0/100 | 0/4 | ## Core Web Vitals - [ ] **LCP under 2.5s on mobile** _(critical)_ - [ ] **INP under 200ms** _(critical)_ - [ ] **CLS under 0.1** _(high)_ - [ ] **Measure real field data (CrUX/RUM)** _(medium)_ ## Viewport & responsiveness - [ ] **Responsive viewport meta tag** _(critical)_ - [ ] **No horizontal scrolling** _(high)_ - [ ] **Base font size of at least 16px** _(medium)_ - [ ] **Tap targets at least 44×44px** _(high)_ ## Network & assets - [ ] **Optimized, modern-format images** _(critical)_ - [ ] **Text compression (Brotli/Gzip)** _(high)_ - [ ] **Lazy-load below-the-fold media** _(medium)_ - [ ] **font-display: swap for web fonts** _(medium)_ - [ ] **Minimize & split JavaScript** _(high)_ ## Mobile UX - [ ] **No intrusive interstitials** _(high)_ - [ ] **Touch-friendly interactions (no hover-only)** _(medium)_ - [ ] **Fast Time to Interactive** _(medium)_ - [ ] **Parity for mobile-first indexing** _(low)_ ## Fix these first - **LCP under 2.5s on mobile** _(critical)_ — Preload the LCP image/font, serve it in WebP/AVIF, avoid lazy-loading the hero, and keep render-blocking CSS/JS off the critical path. - **INP under 200ms** _(critical)_ — Break up long tasks, yield to the main thread, debounce expensive handlers, and avoid hydrating large client components eagerly. - **Responsive viewport meta tag** _(critical)_ — Add the viewport meta to <head>. Do not disable zoom (no maximum-scale=1 / user-scalable=no) — it harms accessibility. - **Optimized, modern-format images** _(critical)_ — Serve WebP/AVIF, generate responsive srcset/sizes, compress to ~80% quality, and serve correctly-sized images per breakpoint. - **CLS under 0.1** _(high)_ — Set width/height (or aspect-ratio) on media, reserve space for ads/embeds, and never inject content above existing content after load. ## Core Web Vitals thresholds | Metric | Good | Needs improvement | Poor | | --- | --- | --- | --- | | LCP | ≤ 2.5s | ≤ 4s | > 4s | | INP | ≤ 200ms | ≤ 500ms | > 500ms | | CLS | ≤ 0.1 | ≤ 0.25 | > 0.25 |
Core Web Vitals
The field metrics Google ranks on — LCP, INP and CLS.
Viewport & responsiveness
Layout that fits the small screen and is comfortable to read and tap.
Network & assets
Ship fewer, smaller, smarter bytes over slow mobile connections.
Mobile UX
Interaction quality and the experience signals Google penalises.
Why mobile performance matters
Google uses mobile-first indexing — it crawls and ranks the mobile version of your site, so anything slow, cramped or hidden on a phone hurts you everywhere. The audit above is weighted: critical fixes (LCP, INP, viewport meta, image optimization) move the needle far more than nice-to-haves.
Core Web Vitals are the field metrics that feed ranking. LCP tracks how fast the largest element paints (good ≤ 2.5s), INP tracks interaction responsiveness (good ≤ 200ms) and CLS tracks visual stability (good ≤ 0.1). Lab tools estimate them; only real field data (CrUX/RUM) confirms them. Tick what you ship, share the URL with your team, and export the Markdown for your PR.
Was this tool helpful?
Share Your Experience
Help others discover this tool!
Related tools
- Critical CSS GeneratorExtract above-the-fold critical CSS from your HTML and CSS, with a coverage report, an inline style tag, the deferred CSS, and an async-load snippet
- Markdown Link CheckerCheck for broken links in Markdown files
- Performance Budget CalculatorCalculate and track performance budgets for web apps
- SEO Checklist GeneratorA page-type-aware SEO checklist with a weighted readiness score, per-category breakdown, and per-item deep links to the exact tools that fix each issue — shareable progress, export to Markdown/CSV/JSON
- Bundle Size CalculatorEstimate package sizes and analyze bundle impact on your application
- Mobile Breakpoint TesterTest breakpoints on a live ruler and generate media/container queries, SCSS mixins, and Tailwind config
It is priority-weighted, not a flat percentage of items ticked. Each check carries a weight by priority — critical ×10, high ×5, medium ×2, low ×1 — and the score is your earned weight divided by the total available weight, rounded to a whole number out of 100. Passing a critical item like LCP or the viewport meta tag therefore raises the score far more than a low-priority nice-to-have.
The overall ring and each category bar are banded the same way: 90 or above is "Mobile-ready" (green), 50 to 89 is "Needs work" (amber), and below 50 is "At risk" (red). The per-category bars use each category's own weighted score so you can see exactly where you are losing points.

