Library to detect Browsers and Devices


Latest Stable Version Latest Unstable Version License

Code Status

Build Status codecov Maintainability Average time to resolve an issue Percentage of issues still open Dependency Status


This library requires PHP 7.1+. Also a PSR-3 compatible logger and a PSR-16 compatible cache are required.


Run the command below to install via Composer

composer require mimmi20/browser-detector


Before you can use this library, you have to warmup the cache. This should be done not in the same process like the detection.

$detector = new \BrowserDetector\Detector($cache, $logger);



$detector = new \BrowserDetector\Detector($cache, $logger);

$result = $detector->getBrowser($request);

The request parameter may be a string, an array or a PSR-7 compatible message.

Usage Examples

Taking the user agent from the global $_SERVER variable

$detector = new \BrowserDetector\Detector($cache, $logger);

$result = $detector->getBrowser($_SERVER);

Using a sample useragent

$detector = new \BrowserDetector\Detector($cache, $logger);

$result = $detector->getBrowser($the_user_agent);

The result

The getBrowser function returns a ua-result object.

Issues and feature requests

Please report your issues and ask for new features on the GitHub Issue Tracker at https://github.com/mimmi20/BrowserDetector/issues