What to expect

This library extracts as many as possible fields from the provided User-Agent value and (if available) the provided Client Hints.

As an example the useragent of my phone (from a while ago):

Mozilla/5.0 (Linux; Android 7.0; Nexus 6 Build/NBD90Z) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.124 Mobile Safari/537.36

is converted into this set of fields:

Field nameValue
Device ClassPhone
Device NameGoogle Nexus 6
Device BrandGoogle
Operating System ClassMobile
Operating System NameAndroid
Operating System Version7.0
Operating System Name VersionAndroid 7.0
Operating System Version BuildNBD90Z
Layout Engine ClassBrowser
Layout Engine NameBlink
Layout Engine Version53.0
Layout Engine Version Major53
Layout Engine Name VersionBlink 53.0
Layout Engine Name Version MajorBlink 53
Agent ClassBrowser
Agent NameChrome
Agent Version53.0.2785.124
Agent Version Major53
Agent Name VersionChrome 53.0.2785.124
Agent Name Version MajorChrome 53