Developers
Why does my iPad get the desktop page instead of the App Store?
Since iPadOS 13, Safari on iPad says it is a Mac. Here is why a device redirect misses it, and how to catch it.
Short answer
Since iPadOS 13, Safari on iPad requests desktop websites and sends a Mac user agent ("Macintosh; Intel Mac OS X 10_15_7"), so a redirect that tests for "iPad" treats it as a computer. A server cannot tell the two apart; in the browser, a Mac user agent with navigator.maxTouchPoints above 1 is an iPad. OneStoreLink (onestore.link) sends such an iPad to its computer page, whose App Store button is one tap from the store.
Last reviewed 2026-11-03
You built a link that sends iPhones to the App Store and Android phones to Google Play, it works on every phone you test, and then someone on an iPad lands on your desktop page. Your code is not wrong: the iPad lied about what it is, on purpose, because Apple wanted iPads to get full desktop websites. This guide explains what the iPad sends, why the server cannot see through it, how to detect it in the browser, and what a store redirect should do with it.
The problem
- Since iPadOS 13, Safari on iPad asks for the desktop website by default and sends the same user agent as Safari on a Mac.
- A test such as /iPad|iPhone/ on the user agent never matches, so the iPad is treated as a computer.
- On the server there is nothing else to go on: the request of an iPad in desktop mode looks like the request of a Mac.
- If the computer branch only shows a web page with no store button, the iPad user is stuck one step away from an app they could install.
With onestore.link
- In the browser, treat a "Macintosh" user agent with more than one touch point as an iPad: navigator.maxTouchPoints is 0 on a Mac.
- On the server, make the computer branch harmless: a page with both store buttons, never a page without one.
- onestore.link decides on the server: in a regular browser, iPhone and iPad user agents go straight to the App Store, Android to Google Play, and everything else, an iPad in desktop mode included, gets a page with both store buttons and a QR code.
- On that page the App Store button opens the App Store on the iPad itself, so the visitor is one tap from installing.
How to do it
No SDK, no rebuild. Just a URL.
- 1
Recognise the iPad in the browser
If your redirect runs in JavaScript, add a touch check to the user agent test. A Mac never reports more than one touch point, an iPad does.
// iPadOS 13+: Safari on iPad reports a Mac user agent const ua = navigator.userAgent; const isIOS = /iPad|iPhone|iPod/.test(ua) || (/Macintosh/.test(ua) && navigator.maxTouchPoints > 1); const isAndroid = /Android/i.test(ua); - 2
Give the computer branch both store buttons
A server-side redirect cannot run that check, so the page it serves to "computers" will be seen by some iPads. Put an App Store button and a Google Play button on it, plus a QR code for real desktops.
- 3
Or let onestore.link handle the routing
Create a onestore.link with your two store URLs. Phones are redirected on the server, and every other visitor, iPads in desktop mode included, gets a page with both buttons and a QR code. No code to maintain.
Frequently asked questions
Why does an iPad send a Mac user agent?
Since iPadOS 13, Safari on iPad requests the desktop version of websites by default, and to get it, it identifies itself as Safari on macOS. The user can switch a site back to the mobile version, but most never do.
Can a server detect an iPad that requests the desktop site?
Not reliably. The user agent is the same as a Mac's and no request header gives the touch screen away. Detection needs JavaScript in the page, which a plain 302 redirect does not run.
Is navigator.maxTouchPoints enough on its own?
Use it together with the user agent: a "Macintosh" user agent with navigator.maxTouchPoints greater than 1 is an iPad. On its own it would also match touch-screen Windows laptops.
What does an iPad user see with onestore.link?
In Safari's default desktop mode, the computer page: the app's name and icon, an App Store button, a Google Play button and a QR code. Tapping App Store opens the App Store on the iPad. An iPad whose browser sends an iPad user agent is redirected to the App Store directly.
Ready to try it?
Free forever, no password. Your link is ready in about a minute.
Create your free linkComparing tools? onestore.link vs onelink to →