01 In short: what you need to know
- Mobile-first is an order of work, not "one more version". We design from the narrowest screen and add space and capabilities as they become available.
- Google indexes sites by their mobile version. Whatever isn't on mobile effectively doesn't exist for search.
- "Responsive later" breaks on three things: content doesn't fit the logic of a narrow screen, speed isn't built for 4G, interactions are designed for a mouse.
- The mobile version has its own scenarios: tap, call, message in a messenger, quickly fill in a short form.
- Measure mobile conversion separately. It's the best insight for prioritizing your backlog.
- Desktop is an expansion of the composition, not a "squeeze" of a heavy layout.
02 What mobile-first is and how it differs from responsive
These terms are often confused.
| Approach | How it works | Typical result |
|---|---|---|
| Desktop-first + "responsive" | The full desktop layout first, then it's squeezed and blocks are hidden for mobile | An overloaded, slow mobile version with hidden content |
| Responsive layout | A technical ability of a page to adapt to the screen width | Can be built from either desktop or mobile |
| Mobile-first | Design and build for the narrow screen first, then expand for tablet and desktop | Clear content priorities, speed, thumb-friendly usability |
Responsiveness is a property of a page. Mobile-first is a way of designing it. You can have a responsive site built on "desktop logic" that's inconvenient on a phone.
03 Why "responsive later" no longer works
1. Most traffic is mobile
For many commercial sites (services, e-commerce, ad landing pages), mobile visitors make up half or more. Advertising on social networks and messengers is almost entirely mobile. Designing the "main" version for a minority of users makes no sense.
2. Google indexes the mobile version
The search engine uses mobile-first indexing: the mobile version of a page is used for ranking. If it has less text, some links, markup or metadata missing, it affects visibility in search.
3. A narrow screen demands different logic
A desktop layout can't just be "squeezed":
- 12-column grids, mega menus, large tables and hover effects have no analog on a touch screen.
- On mobile, a user sees one "slice" at a time, so block order and content priority are critical.
- If the logic is built for a wide screen, "responsive" turns into patchwork.
4. Performance is set at the start
Heavy hero videos, carousels, big libraries and dozens of scripts added "for desktop" can't then be quickly "removed" from mobile. Baseline speed is determined by architecture, not by final optimization.
5. Mobile interaction is different
Touch instead of a mouse, an unstable network, one hand, sun on the screen, breaks on the road. A mobile user wants to act quickly: call, write, order.
6. Rework is expensive
Fixing the mobile version after the desktop design is approved is effectively a second project: reworking layouts, markup, testing and often content.
Takeaway. "Responsive later" isn't a saving but a deferred debt, paid for with lost leads and rework.
04 Design from the narrow screen
Start at a width of 360–390 px. These are typical sizes of modern phones in CSS pixels. Desktop is an expansion of the composition, not a "squeeze" of a heavy layout.
Order of work
- Content and priorities. What should the user see first, second, third? Anything not needed for the decision is in question.
- A mobile layout in Figma at 360–390 px. One column, clear hierarchy, large tap targets.
- Expansion to tablet (768 px) and desktop (1024+). Add columns, more air, secondary content, but don't change the logic.
- A prototype and a check on a real phone. Not only in a browser frame.
Principles of a mobile layout
- One key action per screen. If there are several, the user gets lost.
- Content over decoration. Background effects and animations shouldn't compete with the text.
- First screen: headline, subheading, main button without scrolling.
- Sticky CTA where it doesn't interfere with reading: "Call" or "Leave a request" at the bottom of the screen.
- Vertical rhythm. Adequate spacing, short paragraphs, clear headings.
- Progressive disclosure. Details in accordions and tabs, but key information visible immediately.
- Fewer but more meaningful blocks. What looks "rich and solid" on desktop becomes endless scrolling on mobile.
A test rule. Is the offer clear on the first phone screen within 5 seconds? If not, rework the mobile layout instead of adding elements.
05 Navigation and tap targets
The thumb zone
Most people hold a phone in one hand. The bottom of the screen is the most comfortable, the upper corners the hardest to reach. So:
- Put main actions (CTA, bottom navigation, the "Order" button) in the lower half.
- Rare actions (close, settings) can sit at the top.
Interactive element sizes
| Source | Minimum target size |
|---|---|
| WCAG 2.2, criterion 2.5.8 (level AA) | 24 × 24 CSS px (with sufficient spacing) |
| Apple Human Interface Guidelines | about 44 × 44 pt |
| Material Design | about 48 × 48 dp |
A practical rule: a tap target of 44–48 px with at least 8 px between neighboring elements. Wrap small icons in a larger clickable area.
Menus
- A hamburger menu suits sites with 5+ items; keep it clear (icon + label where possible).
- For 3–5 key sections, a bottom navigation bar may work better.
- Replace a mega menu with sequential screens or accordions.
- Minimize nested levels: beyond two levels, usability drops sharply.
- Show the phone and a messenger button in the header or menu.
Hover and other "desktop" patterns
Hover doesn't exist on a touch screen. Anything that opens on hover (tooltips, submenus, extra actions) must have a tap alternative. Information available only on hover is unavailable on mobile.
06 Typography and readability
- Body text from 16 px. Smaller text forces zooming. Also, iOS Safari automatically zooms the page when focusing an input field with a font under 16 px.
- Line height 1.4–1.6 for body text.
- Line length 35–60 characters on mobile.
- Contrast at least 4.5:1 for regular text (WCAG AA).
- Fluid sizes with
clamp():
:root {
--fs-body: 1rem; /* 16px */
--fs-h1: clamp(1.75rem, 1.2rem + 2.5vw, 3rem);
--fs-h2: clamp(1.375rem, 1rem + 1.5vw, 2rem);
}
body { font-size: var(--fs-body); line-height: 1.55; }
h1 { font-size: var(--fs-h1); line-height: 1.15; }
h2 { font-size: var(--fs-h2); line-height: 1.25; }- System fonts or 1–2 web fonts in WOFF2 with
font-display: swap. Every extra font is a delay on 4G. - Don't disable zoom. Don't use
maximum-scale=1anduser-scalable=no: it harms accessibility.
07 CSS: writing mobile-first
Write base styles for mobile and add expansions via min-width.
/* Base styles: mobile (one column) */
.cards { display: grid; gap: 16px; grid-template-columns: 1fr; }
.container { padding-inline: 16px; max-width: 1200px; margin-inline: auto; }
/* Tablet */
@media (min-width: 768px) {
.cards { grid-template-columns: repeat(2, 1fr); gap: 24px; }
.container { padding-inline: 24px; }
}
/* Desktop */
@media (min-width: 1024px) {
.cards { grid-template-columns: repeat(3, 1fr); }
}Useful modern features:
- Viewport meta:
<meta name="viewport" content="width=device-width, initial-scale=1">- Container queries, so components adapt to their own block, not the screen:
.card-wrap { container-type: inline-size; }
@container (min-width: 480px) {
.card { display: grid; grid-template-columns: 160px 1fr; gap: 16px; }
}- Dynamic viewport units (
dvh,svh) instead of100vh: the address bar of mobile browsers changes the screen height.
.hero { min-height: 100svh; }- Safe area for notches and gesture bars:
.sticky-cta {
position: fixed; inset: auto 0 0 0;
padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
background: #fff; box-shadow: 0 -2px 12px rgba(0,0,0,.12);
}aspect-ratiofor media (against layout shifts):
.thumb { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }- Grid and flex instead of fixed widths. Avoid horizontal scrolling.
@media (hover: hover)for styles that only make sense with a mouse:
@media (hover: hover) { .card:hover { transform: translateY(-2px); } }prefers-reduced-motionfor users who've turned animations off:
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }08 Performance on 4G
Mobile users are more often on an unstable network and weaker devices. Speed is part of design.
| Problem | Solution |
|---|---|
| Heavy images | AVIF/WebP, srcset and sizes, correct sizes for mobile |
| Hero image loads late | Not lazy, but fetchpriority="high", preload if needed |
| Images below the first screen | loading="lazy" |
| A heavy carousel in the hero | Remove it. One strong frame and a clear CTA |
| Autoplaying video | A poster instead of video on mobile, video on user action |
| A lot of JS | Bundle splitting, deferred loading, removing unneeded libraries |
| Chats, pixels, widgets | Load after the first interaction |
| Fonts | WOFF2, font-display: swap, minimum weights |
| Layout shifts | Image dimensions, reserved space for banners |
Benchmarks (Core Web Vitals, field data): LCP up to 2.5 s, INP up to 200 ms, CLS up to 0.1. More in our Core Web Vitals article.
A speed budget. Agree on limits within the team (page weight, JS volume, number of requests) and check them during development, not at the end.
<!-- Example of a hero without lazy and with priority -->
<img src="/img/hero-800.avif"
srcset="/img/hero-480.avif 480w, /img/hero-800.avif 800w, /img/hero-1200.avif 1200w"
sizes="100vw" width="800" height="1000"
fetchpriority="high" alt="Main image description">09 Forms and calls
On mobile, "conversion" is most often a tap on the phone number, a messenger, or a short form.
Calls and messengers
- The phone as a link:
tel:. The number in the header, menu and sticky button. - Messenger buttons (Telegram, Viber, WhatsApp) one tap away.
- Label the action: "Call", "Message on Telegram". An icon without a label isn't always clear.
<a class="btn" href="tel:+380974852292">Call</a>
<a class="btn" href="https://t.me/your_username">Message on Telegram</a>
<a class="btn" href="viber://chat?number=%2B380974852292">Viber</a>
<a class="btn" href="https://wa.me/380974852292">WhatsApp</a>Short forms
- Minimum fields: name and phone (or messenger). Clarify the rest during the conversation.
- Correct types and attributes, so the right keyboard opens and autofill works, including biometric and password-manager autofill:
<form>
<label for="name">Name</label>
<input id="name" name="name" type="text"
autocomplete="name" autocapitalize="words" enterkeyhint="next" required>
<label for="phone">Phone</label>
<input id="phone" name="phone" type="tel" inputmode="tel"
autocomplete="tel" placeholder="+380" enterkeyhint="send" required>
<button type="submit">Get a quote</button>
</form>- Labels above fields, not just a placeholder: it disappears as you type.
- Clear errors next to the field, not only at the top of the form.
- The submit button is prominent and not hidden by the keyboard. Check behavior with the keyboard open.
- Confirmation after submission and an explanation of what happens next.
- Convenient payment: Apple Pay, Google Pay, saved details, minimum steps.
Measure mobile conversion separately: phone clicks, messenger clicks, form submissions, order completion. It's the best insight for prioritizing your backlog.
10 An online store on mobile
Mobile e-commerce needs separate attention.
- Catalog: large product images, a clear price, a quick path into the product card. Filters in a separate "Filters" panel with a "Show N products" button.
- Search: prominent, with suggestions and typo tolerance.
- Product card: a swipeable gallery, the price and "Buy" button on the first screen, a sticky button while scrolling, sizes and availability visible immediately.
- Cart: editing quantity with one tap, transparent delivery and totals.
- Checkout: minimum steps, autofill of address and phone, choosing a carrier branch with quick search, one-tap payment.
- Guest checkout without mandatory registration.
- Trust: reviews, return terms and guarantees next to the buy button.
11 Mobile-first and SEO
- Google uses the mobile version for indexing and ranking.
- Content parity: text, images, video, links, structured data and meta tags on the mobile version must match the desktop one.
- Don't hide important text and links on mobile (accordions are acceptable if the content is in the HTML).
- Don't block CSS, JS and images in
robots.txt. - Responsive layout is better than a separate mobile subdomain (
m.): fewer duplicates and sync problems. - Core Web Vitals are evaluated separately for mobile, and mobile is often the weaker spot.
- Check Search Console (indexing, Core Web Vitals) and URL Inspection for the mobile agent.
12 Accessibility on mobile
Accessibility and mobile-first reinforce each other.
- Target sizes, spacing, contrast (see above).
- Page zoom allowed.
- Support for orientations (portrait and landscape), unless it contradicts the nature of the app.
- Screen reader support (VoiceOver, TalkBack): meaningful
alt,aria-labelfor icons, logical focus order. - Gestures have an alternative: if an action is possible by swipe, add a button.
- Don't rely on color alone to convey meaning.
prefers-reduced-motionfor people with vestibular sensitivity.
13 Testing: what to check and on what
Devices:
- At least one iPhone and one mid-range Android, not only flagships.
- A small screen (around 360 px) and a large one (430 px+), a tablet.
- Different browsers: Safari (iOS), Chrome (Android), and Samsung Internet if needed.
Tools:
- Chrome DevTools: device mode, network throttling (Fast 4G / Slow 4G) and CPU.
- Lighthouse / PageSpeed Insights for lab diagnostics and field data.
- Cloud services (BrowserStack, LambdaTest) for wide coverage.
- Search Console for mobile issues and Core Web Vitals.
- Session recordings and heatmaps segmented by device.
What to check:
- First screen: offer and CTA without scrolling
- No horizontal scrolling
- Menus, accordions, tabs and modals work by touch
- Forms with the keyboard open: fields and button visible
- Sticky elements don't cover content and buttons
- The address bar and
100vhdon't break the layout - Slow network: content appears progressively, with no "white screen"
- Landscape orientation doesn't break the page
- Zoom works
An emulator doesn't replace a real device. At least once before release, walk through the key scenarios by hand.
14 How to measure mobile conversion
Averaged conversion hides the problem. Split data by device.
| Metric | What it shows |
|---|---|
| Share of mobile traffic | How much of a priority the mobile version is |
| Conversion mobile vs desktop | Whether the mobile version "sags" |
Clicks on tel: and messengers | Real mobile leads |
| Form submissions by device | Whether forms work on phones |
| Checkout completion | Where we lose people in the funnel |
| Engaged-session share / bounces | Whether the offer is clear |
| Core Web Vitals for mobile | The technical foundation |
How to use it:
- Set up GA4 events: phone click, messenger click, form submission, checkout start and completion.
- Compare the mobile and desktop funnels. A big gap means a top backlog priority.
- Find the steps with the biggest drop-off (using session recordings and click maps).
- Fix by impact on leads, not by "beauty".
- Re-evaluate after changes, comparing periods of equal length and seasonality.
15 Common mistakes
- The desktop layout is "squeezed" at the end. The mobile version turns out long, heavy and inconvenient.
- Hiding content on mobile (links, text, markup): it harms SEO.
- Hover logic without a tap alternative.
- Tiny buttons and tight links.
- Fonts below 16 px and low contrast.
- Disabling zoom (
user-scalable=no). - Heavy hero carousels and autoplaying video.
- Long forms with required fields that aren't needed at the first step.
- Sticky elements that cover content or submit buttons under the keyboard.
100vhinstead ofdvh/svh.- Data without a device split: conversion is viewed "on average" and the problem stays invisible.
- Testing only in an emulator on fast Wi-Fi.
16 How to build mobile-first into an agency process
- Record the mobile traffic share in the brief and the key mobile scenarios.
- Content strategy before design. Block priorities for a narrow screen.
- Start layouts with mobile (360–390 px), with desktop secondary.
- A design system with responsive tokens: spacing, font sizes, grid for each breakpoint.
- A speed budget from the very beginning (weight, JS, Core Web Vitals).
- Mobile-first markup: base styles for mobile, expansion via
min-width. - Testing on real devices at every stage, not at the end.
- Acceptance by mobile scenarios: call, messenger, form, checkout.
- Post-launch monitoring: mobile Core Web Vitals, mobile conversion, events.
- Regular iteration: a backlog ordered by impact on mobile leads.
17 Mobile-first checklist
Design and content
- Layouts are created from 360–390 px, with desktop as the expansion
- The first screen has the offer and CTA without scrolling
- Content priorities are defined before the visual design
- A sticky CTA exists and doesn't interfere with reading
- Hover-only information has a tap alternative
Interface
- Tap targets are 44–48 px or more, with 8 px or more between them
- Body text is 16 px or more, contrast 4.5:1 or higher
- The menu is one-thumb friendly, without deep nesting
- Zoom isn't disabled
- No horizontal scrolling
Speed
- LCP up to 2.5 s, INP up to 200 ms, CLS up to 0.1 on mobile (field data)
- AVIF/WebP images,
srcset/sizes,width/height - Hero without
lazy, withfetchpriority="high" - Heavy carousels and autoplay video removed
- Third-party scripts deferred
- A speed budget is set
Forms and communication
tel:and messengers are one tap away- A form with minimum fields, correct
type/inputmode/autocomplete - Labels above fields, clear errors
- The submit button is visible with the keyboard open
- Confirmation after submission
CSS and technique
- Base styles are mobile, expansion via
min-width viewportis configureddvh/svhinstead of100vh,safe-areafor sticky elements- Content, links and markup match the desktop version (for SEO)
Testing and measurement
- Checked on real iPhones and Androids
- Tested on a slow network
- Mobile conversion is measured separately
- GA4 events: calls, messengers, forms, checkout
18 FAQ
What is mobile-first in simple terms?
An approach where a site is first designed and built for a small phone screen and then expanded for tablet and desktop. That way content priorities, speed and usability are built in from the start.
How does mobile-first differ from responsive design?
Responsiveness is the ability of a page to adapt to a screen. Mobile-first is the design order: from mobile to larger screens. A site can be responsive but created "from desktop" and inconvenient on a phone.
Does Google really look only at the mobile version?
Google uses the mobile version of a page for indexing and ranking. So content, links, structured data and metadata on the mobile version must be no worse than on the desktop one.
What screen width matters most for a layout?
Start with 360–390 px (typical sizes of modern phones), then check smaller and larger widths. For CSS breakpoints, be guided by the content of the page, not by specific device models.
What's the minimum button size on mobile?
A practical benchmark is 44–48 px with at least 8 px between elements. WCAG 2.2 requires a minimum of 24 × 24 CSS px (level AA) with sufficient spacing between targets.
Do I need a separate mobile version of the site (m.domain)?
Usually not. Responsive layout is simpler to maintain and better for SEO: one URL, no duplication and no content sync problems.
Why is conversion lower on mobile than on desktop?
There are different reasons: slow loading, inconvenient forms, small elements, a long path to payment, different intent (on mobile people more often research, on desktop more often buy). That's why it should be measured and analyzed separately.
Do I need a PWA?
Not necessarily. A PWA is useful for services with frequently returning users (portals, CRMs, stores with a regular audience). For most service sites and landing pages, a fast responsive version is enough.
How do I check a site's mobile version?
Open the site on real iPhones and Androids, use device mode and network throttling in Chrome DevTools, check PageSpeed Insights, the Search Console reports on Core Web Vitals and mobile usability, and session recordings by device.
How much does mobile-first development cost?
In principle not more than "desktop + responsive", and often cheaper because there's no rework at the end. Cost depends on complexity, the number of templates, integrations and animations.
19 Summary
Mobile-first in 2026 is not a trend but a normal order of work. Most traffic is mobile, Google indexes the mobile version, and reworking a finished desktop layout for a phone costs more than designing correctly from the start.
The order of action:
- Start design at 360–390 px and define content priorities.
- Make the mobile first screen clear within 5 seconds.
- Design for the thumb: tap targets, bottom actions, sticky CTA.
- Build in 4G speed: images, LCP, no heavy carousels, deferred scripts.
- Simplify forms and actions:
tel:, messengers, short forms, correct field types. - Build mobile-first and test on real devices.
- Measure mobile conversion separately and prioritize the backlog by its results.
Need a site that works well on a phone?
We'll design from the mobile screen, optimize speed on 4G and set up analytics so you see mobile conversion and know what to improve next.