In this tutorial we will learn about detecting browsers and mobile deveices in laravel for this we will use newly built laravel package called HiSoRange Browser Detect package for Laravel 4-5.

his package is able to identify the visitors browser almost perfectly by useing multiple well tested packages and services together. The theory behind it is to use user-agent parser libraries together to get the most accurate result. The packages sets up a standard data schema and fills in the informations generated by plugins, if one of the plugin cannot determine an information like operating system version then there is a good chance the others could.



  • Easily extend or personalize the analization flow.
  • Identify the browser’s family and it’s version.
  • Identify the operating system‘s software and it’s version.
  • Idenfity the browsing device‘s family and model.
  • Categorise devices such as mobile, tablet and desktop.
  • Determine the browser’s CSS protokol support as CSS1, CSS2, CSS3.
  • All semantic version is preparsed to major, minor and patch keys.
  • Out of the box caching, useing your app cache so you don’t need to set up anything.
  • Plugin oriented parsers, simple add, remove or manage plugins from the plugin config file.
  • Identify the the crawlers aka bots.
  • Import & export result into very compact strings which can be stored even in varchar fields.
  • NEW in 1.0.0 check support for JavaScript

Temporarily the UAParser plugin is turned off by default, will be readded as soon as I find time to force the composer to pull it down in a stable release.


So lets get started..


First add the package to your composer:

    "require": {
        "hisorange/browser-detect": "2.*" // For laravel 5.* versions
        "hisorange/browser-detect": "1.*" // For laravel 4.* versions

After the composer update/install add the service provider to your app.php:

'providers' => array(
    // ...
    // ...

Add the alias to the aliases in your app.php:

'aliases' => array(
    // ...
    'BrowserDetect' => 'hisorangeBrowserDetectFacadeParser',

You must use personal configurations, just publish the package’s configuration files, (plugins.php also published with this)

php artisan vendor:publish

Finaly, enjoy