Laravel 9 – Get User Device, Browser and OS

In today’s dynamic world of web development, delivering personalized user experiences has become a game-changer. And with Laravel standing tall as one of the most sought-after PHP frameworks, developers gain access to an arsenal of robust tools and functionalities to achieve this very goal. Among these remarkable features lies the ability to tap into valuable user device, browser, and operating system information. In this article, we embark on an exciting journey to explore how Laravel 9 empowers us to seamlessly retrieve these crucial details. Brace yourself for practical examples that will empower you to elevate your web applications to unparalleled heights of user-centric excellence. Let’s delve into the magic of Laravel 9 and the wonders it can work for your project!

Why Retrieve User Device, Browser, and OS Information?

Understanding the technology used by your website visitors can significantly impact your development decisions. By obtaining user device, browser, and OS information, you can:

  1. Enhance User Experience: Adapt your website’s layout and content based on the user’s device, ensuring optimal display and navigation.
  2. Targeted Marketing: Tailor your marketing strategies to specific devices or browsers that are commonly used by your target audience.
  3. Bug and Compatibility Testing: Identify potential issues and bugs that may arise on different devices and browsers, allowing for targeted testing and optimization.

Step 1: Installing Laravel 9

Before we begin, make sure you have Laravel 9 installed on your local development environment. You can create a new Laravel project using Composer with the following command:

composer create-project laravel/laravel my-laravel-project

Step 2: Setting Up User Agent Parsing

Laravel provides a convenient package called “jenssegers/agent” to parse user agent strings effortlessly. To install this package, run the following command:

composer require jenssegers/agent

Once the package is installed, Laravel automatically discovers the service provider, so you don’t need to add it manually.

Step 3: Retrieving User Device, Browser, and OS

With the “jenssegers/agent” package installed, you can now retrieve user device, browser, and OS information in your Laravel application. Let’s dive into the practical examples:

Example 1: Getting Device Information

To retrieve the user’s device information, you can use the device() method provided by the Agent class:

use Jenssegers\Agent\Agent;

$agent = new Agent();
$device = $agent->device();

// Output the device name
echo $device;

Example 2: Getting Browser Information

To obtain the user’s browser details, utilize the browser() method:

use Jenssegers\Agent\Agent;

$agent = new Agent();
$browser = $agent->browser();

// Output the browser name
echo $browser;

Example 3: Getting OS Information

To get information about the user’s operating system, use the platform() method:

use Jenssegers\Agent\Agent;

$agent = new Agent();
$os = $agent->platform();

// Output the operating system name
echo $os;

Step 4: Additional Methods

In addition to the above examples, the “jenssegers/agent” package offers a variety of methods to access more detailed information about the user agent. Here are some of the frequently utilized methods:

  • isMobile(): Check if the user is browsing from a mobile device.
  • isTablet(): Check if the user is browsing from a tablet device.
  • isDesktop(): Check if the user is browsing from a desktop or laptop device.
  • isRobot(): Check if the user agent is a robot or crawler.

Explore the full list of methods in the official documentation of the “jenssegers/agent” package.


Retrieving user device, browser, and OS information in Laravel 9 is a straightforward process, thanks to the “jenssegers/agent” package. By leveraging this functionality, you can create tailored experiences for your users, improve compatibility, and refine your marketing strategies. Whether you’re building an e-commerce platform or a content-driven website, understanding your users’ technology preferences can significantly enhance your web development journey. So, go ahead and empower your Laravel applications with the ability to access vital user agent details, opening up a world of possibilities for delivering exceptional user experiences. Happy coding!