Fork me on GitHub

What is UADetector?

UADetector is a library to identify over 190 different desktop and mobile browsers and 130 other User-Agents like feed readers, email clients and multimedia players. In addition, even more than 400 robots like BingBot, Googlebot or Yahoo Bot can be identified.

This library is a free, portable Java library to analyze User-Agent strings. The goal of this library is to detect the type and the associated operating system of a client like Mobile Firefox 9.0 on Android or Mobile Safari 5.1 on iOS .

UADetector is divided into two modules. The Core module includes the API and implementation to read detection information and functions to identify User-Agents. The Resources module contains the database with all necessary identification informations and a service factory class to get simply preconfigured UserAgentStringParser singletons. The Resources library is published monthly and is integration-tested against a specific Core module. Therefore we can guarantee that the parsing works like expected.

Device categorization

Since version 0.9.10 we support device categorization which means that for instance an iPhone or Nexus 4 will be classified as Smartphone and an iPad, Kindle or Surface RT as Tablet. Please take a look into our API documentation to get an idea what you can get when parsing an user agent string.

Features

Devices Detects over 190 different browsers

This library detects over 190 different desktop and mobile browsers and 130 other User-Agents like feed readers, multimedia players and email clients.

The Robots Identifies over 400 robots

On the Internet many robots are on their way to examine sites. A large number of robots can be detected with this library.

Monthly updated Monthly updated

Each month a new version of the resources module will be published so you can always detect the latest User-Agents.

Extremely tested Extremely tested

All classes in this library have been especially tested. The unit tests have over 90% branch and line coverage. In addition, many integration tests performed regularly.


How can You help?

UADetector is an open source tool and welcomes contributions.

  • Report bugs, feature requests and other issues in the issue tracking application, but look on our known issues page first before posting!
  • Help with the documentation by pointing out areas that are lacking or unclear, and if you are so inclined, submitting patches to correct it. You can quickly contribute rough thoughts by forking this project on GitHub or SourceForge , or you can volunteer to help collate and organize information that is already there.

Your participation in this project is much appreciated!