DeviceAtlas captures additional device properties from the client-side in order to identify iOS hardware versions & return deeper context information such as battery, orientation, settings information.
The Client-side Component is a very compact JavaScript library designed to work on the widest possible range of devices and browsers. It can be merged into an existing JavaScript tag or be used in a standalone way.
The library returns properties to be used with the DeviceAtlas API or consumed on the client-side independent of any DeviceAtlas API. The library is self-contained and does not make any calls to external services.
iOS Hardware Identification
The DeviceAtlas Client-side Component augments the server side properties and allows for precise identification of Apple devices.
In order to facilitate iOS hardware identification, the following properties should be enabled:
screenWidthHeight, audioRef, devicePixelRatio, rendererRef, js.webGlRenderer, js.deviceMotion, deviceAspectRatio
You can enable the properties on the Client-side Component download page.
The following variants of iPhone and iPad models are identified:
| Model | Model Identifiers | Without client-side | With client-side |
|---|---|---|---|
| iPhone 14 Pro Max | iPhone15,3 | iPhone | iPhone 14 Pro Max* |
| iPhone 14 Pro | iPhone15,2 | iPhone | iPhone 14 Pro* |
| iPhone 14 Plus | iPhone14,8 | iPhone | iPhone 13 Pro Max/iPhone 14 Plus* |
| iPhone 14 | iPhone14,7 | iPhone | iPhone 13/iPhone 13 Pro/iPhone 14* |
| iPhone SE (3rd generation) | iPhone14,6 | iPhone | iPhone SE (3rd generation) |
| iPad Air 5 | iPad13,16/iPad13,17 | iPad | iPad Air 5 |
| iPhone 13 mini | iPhone14,4 | iPhone | iPhone 13 mini* |
| iPhone 13 Pro Max | iPhone14,3 | iPhone | iPhone 13 Pro Max/iPhone 14 Plus* |
| iPhone 13 Pro | iPhone14,2 | iPhone | iPhone 13/iPhone 13 Pro/iPhone 14* |
| iPhone 13 | iPhone14,5 | iPhone | iPhone 13/iPhone 13 Pro/iPhone 14* |
| iPad (9th Gen) | iPad12,1/iPad12,2 | iPad | iPad (9th Gen) |
| iPad mini 6 | iPad14,1/iPad14,2 | iPad | iPad mini 6 |
| iPad Pro (11 3rd Gen) | iPad13,4/iPad13,5/iPad13,6/iPad13,7 | iPad | iPad Pro (11 3rd Gen) |
| iPad Pro (12.9 5th Gen) | iPad13,8/iPad13,9/iPad13,10/iPad13,11 | iPad | iPad Pro (12.9 5th Gen) |
| iPhone 12 Mini | iPhone13,1 | iPhone | iPhone 12 Mini* |
| iPhone 12 Pro Max | iPhone13,4 | iPhone | iPhone 12 Pro Max* |
| iPhone 12 Pro | iPhone13,3 | iPhone | iPhone 12/iPhone 12 Pro* |
| iPhone 12 | iPhone13,2 | iPhone | iPhone 12/iPhone 12 Pro* |
| iPhone SE (2nd generation) | iPhone12,8 | iPhone | iPhone SE (2nd generation) |
| iPad Pro (12.9 4th Gen) | iPad8,11/iPad8,12 | iPad | iPad Pro (12.9 3rd Gen)/iPad Pro (12.9 4th Gen) |
| iPad Pro (11 2nd Gen) | iPad8,10/iPad8,9 | iPad | iPad Pro (11)/iPad Pro (11 2nd Gen) |
| iPad Air 4 | iPad13,1/iPad13,2 | iPad | iPad Air 4 |
| iPad (8th Gen) | iPad11,6/iPad11,7 | iPad | iPad (8th Gen) |
| iPhone 11 Pro Max | iPhone12,5 | iPhone | iPhone 11 Pro Max* |
| iPhone 11 Pro | iPhone12,3 | iPhone | iPhone 11 Pro |
| iPhone 11 | iPhone12,1 | iPhone | iPhone 11 |
| iPad mini 5 | iPad11,1/iPad11,2 | iPad | iPad mini 5 |
| iPad Air 3 | iPad11,3/iPad11,4 | iPad | iPad Air 3 |
| iPad (7th Gen) | iPad7,11/iPad7,12 | iPad | iPad (7th Gen) |
| iPhone XS Max | iPhone11,4/iPhone11,6 | iPhone | iPhone XS Max* |
| iPhone XS | iPhone11,2 | iPhone | iPhone XS |
| iPhone XR | iPhone11,8 | iPhone | iPhone XR |
| iPad Pro (12.9 3rd Gen) | iPad8,5/iPad8,6/iPad8,7/iPad8,8 | iPad | iPad Pro (12.9 3rd Gen)/iPad Pro (12.9 4th Gen) |
| iPad Pro (11) | iPad8,1/iPad8,2/iPad8,3/iPad8,4 | iPad | iPad Pro (11)/iPad Pro (11 2nd Gen) |
| iPad (6th Gen) | iPad7,5/iPad7,6 | iPad | iPad (5th Gen)/iPad (6th Gen) |
| iPhone X | iPhone10,3/iPhone10,6 | iPhone | iPhone X |
| iPhone 8 Plus | iPhone10,2/iPhone10,5 | iPhone | iPhone 8 Plus |
| iPhone 8 | iPhone10,1/iPhone10,4 | iPhone | iPhone 8 |
| iPad Pro (12.9 2nd Gen) | iPad7,1/iPad7,2 | iPad | iPad Pro (12.9 2nd Gen) |
| iPad Pro (10.5) | iPad7,3/iPad7,4 | iPad | iPad Pro (10.5) |
| iPad (5th Gen) | iPad6,11/iPad6,12 | iPad | iPad (5th Gen)/iPad (6th Gen) |
| iPhone SE | iPhone8,4 | iPhone | iPhone SE |
| iPhone 7 Plus | iPhone9,2/iPhone9,4 | iPhone | iPhone 7 Plus |
| iPhone 7 | iPhone9,1/iPhone9,3 | iPhone | iPhone 7 |
| iPad Pro (9.7) | iPad6,3/iPad6,4 | iPad | iPad Pro (9.7) |
| iPhone 6S Plus | iPhone8,2 | iPhone | iPhone 6S Plus |
| iPhone 6S | iPhone8,1 | iPhone | iPhone 6S |
| iPad Pro | iPad6,7/iPad6,8 | iPad | iPad Pro |
| iPad mini 4 | iPad5,1/iPad5,2 | iPad | iPad Air 2/iPad mini 4 |
| iPhone 6 Plus | iPhone7,1 | iPhone | iPhone 6 Plus |
| iPhone 6 | iPhone7,2 | iPhone | iPhone 6 |
| iPad mini 3 | iPad4,7/iPad4,8/iPad4,9 | iPad | iPad Air/iPad mini 2/iPad mini 3 |
| iPad Air 2 | iPad5,3/iPad5,4 | iPad | iPad Air 2/iPad mini 4 |
| iPhone 5S | iPhone6,1/iPhone6,2 | iPhone | iPhone 5S |
| iPhone 5C | iPhone5,3/iPhone5,4 | iPhone | iPhone 5/iPhone 5C |
| iPad mini Retina | iPad4,4/iPad4,5/iPad4,6 | iPad | iPad Air/iPad mini 2/iPad mini 3 |
| iPad Air | iPad4,1/iPad4,2/iPad4,3 | iPad | iPad Air/iPad mini 2/iPad mini 3 |
| iPhone 5 | iPhone5,1/iPhone5,2 | iPhone | iPhone 5/iPhone 5C |
| iPad Retina (4th Gen) | iPad3,4/iPad3,5/iPad3,6 | iPad | iPad Retina (4th Gen) |
| iPad mini | iPad2,5/iPad2,6/iPad2,7 | iPad | iPad 2/iPad mini |
| iPad /retina display | iPad3,1/iPad3,2/iPad3,3/iPad3,4/iPad3,5/iPad3,6 | iPad | iPad /retina display |
| iPhone 4S | iPhone4,1 | iPhone | iPhone 4S |
| iPad 2 | iPad2,1/iPad2,2/iPad2,3/iPad2,4 | iPad | iPad 2/iPad mini |
| iPhone 4 | iPhone3,1/iPhone3,2/iPhone3,3 | iPhone | iPhone 4 |
| iPad | iPad1,1 | iPad | iPad |
| iPhone 3GS | iPhone2,1 | iPhone | iPhone/iPhone 3G/iPhone 3GS |
| iPhone 3G | iPhone1,2 | iPhone | iPhone/iPhone 3G/iPhone 3GS |
| iPhone | iPhone1,1 | iPhone | iPhone/iPhone 3G/iPhone 3GS |
(*) Please note that zoom mode can affect the identification of this device.
Client-side Component Download
It is recommended to use the Client-side component when using the DeviceAtlas API within a web application in order to correctly identify iOS/iPadOS devices. The client side resource must be included on your webpage in order for it to detect the client side properties.
Or lite version which only includes properties required for iOS/iPadOS devices identification.
Download customised
Customise scope of properties captured, in order to reduce the footprint. It is also possible to extend the library to capture additional properties of interest; instructions on how to do this can be found at Client-side Documentation.
Property selection
Select the properties that you need and download it as a minified file.
Note: The properties selected by default are required to enable identification of Apple device versions. It is recommended to keep these selected: deviceAspectRatio, devicePixelRatio, js.webGlRenderer, screenWidthHeight, rendererRef, audioRef and js.deviceMotion.