DeviceAtlas Client-side Component

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.