You’re looking at the demo of ruvelo/laravel-device, built by the package itself. Read the docs
DLaravel Device by Ruvelo
The maintained successor to jenssegers/agent

Know who’s on the other end.

Phones, tablets, TVs, consoles, browsers, operating systems and bots, including the AI crawlers. Reads User-Agent Client Hints, so Windows 11, Brave and real Android models show up as they are.

composer require ruvelo/laravel-device Read the docs
Your browserits own report, not the package
This page
Desktop · Chrome 141 · Windows

This demo is a static page, so no server sees your visit. Above: what the package detected for the Chrome-on-Windows request that built the page. With JavaScript on, this box shows what your browser says about itself in navigator.userAgentData, the same data it sends as Client Hints.

34 real visitors

Real User-Agent strings, some with the Client Hints Chromium browsers send, and what $request->device() made of each one. Rendered by the package when this page was built.

Visitor Type Browser System Device or bot
Chrome on Windows 11
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Client Hints
Sec-CH-UA: "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"
Sec-CH-UA-Mobile: ?0
Sec-CH-UA-Platform: "Windows"
Sec-CH-UA-Platform-Version: "19.0.0"
Sec-CH-UA-Full-Version-List: "Google Chrome";v="141.0.7390.66", "Not?A_Brand";v="8.0.0.0", "Chromium";v="141.0.7390.66"
Desktop
Chrome 141.0.7390.66 Blink
Windows 11
from Client Hints
–
Edge on Windows
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0
Desktop
Edge 141 Blink
Windows 10
–
Brave, which looks like Chrome
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Client Hints
Sec-CH-UA: "Brave";v="141", "Not?A_Brand";v="8", "Chromium";v="141"
Sec-CH-UA-Platform: "Windows"
Desktop
Brave 141 Blink
Windows 10
from Client Hints
–
Firefox on Windows
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0
Desktop
Firefox 143 Gecko
Windows 10
–
Safari on a Mac
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15
Desktop
Safari 26 WebKit
macOS 10.15.7
Apple Mac
or an iPad
Chrome on a Mac
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Client Hints
Sec-CH-UA: "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"
Sec-CH-UA-Platform: "macOS"
Sec-CH-UA-Platform-Version: "26.0.0"
Desktop
Chrome 141 Blink
macOS 26
from Client Hints
Apple Mac
Firefox on Ubuntu
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0
Desktop
Firefox 143 Gecko
Ubuntu
–
A Chromebook
Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Desktop
Chrome 141 Blink
Chrome OS 14541.0.0
–
Safari on an iPhone
Mozilla/5.0 (iPhone; CPU iPhone OS 18_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1
Phone
Safari 26 WebKit
iOS 26.0
Apple iPhone
Chrome on an iPhone
Mozilla/5.0 (iPhone; CPU iPhone OS 18_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/141.0.7390.41 Mobile/15E148 Safari/604.1
Phone
Chrome 141.0.7390.41 WebKit
iOS 18.6
Apple iPhone
Instagram's in-app browser
Mozilla/5.0 (iPhone; CPU iPhone OS 18_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 400.0.0.37.75 (iPhone15,3; iOS 18_6; en_US; en; scale=3.00; 1290x2796; 789654321)
Phone
Instagram 400.0.0.37.75 WebKit
iOS 18.6
Apple iPhone
Safari on an iPad
Mozilla/5.0 (iPad; CPU OS 18_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1
Tablet
Safari 26 WebKit
iPadOS 26.0
Apple iPad
Chrome on an iPad, desktop mode
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/141.0.7390.41 Safari/605.1.15
Tablet
Chrome 141.0.7390.41 WebKit
iPadOS
Apple iPad
Chrome on a Pixel
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Mobile Safari/537.36
Client Hints
Sec-CH-UA: "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"
Sec-CH-UA-Mobile: ?1
Sec-CH-UA-Platform: "Android"
Sec-CH-UA-Platform-Version: "16.0.0"
Sec-CH-UA-Model: "Pixel 9 Pro"
Phone
Chrome 141 Blink
Android 16
from Client Hints
Google Pixel 9 Pro
Samsung Internet on a Galaxy
Mozilla/5.0 (Linux; Android 15; SM-S938B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/28.0 Chrome/130.0.0.0 Mobile Safari/537.36
Phone
Samsung Internet 28 Blink
Android 15
Samsung SM-S938B
A Galaxy Tab
Mozilla/5.0 (Linux; Android 14; SM-X710) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/27.0 Chrome/125.0.0.0 Safari/537.36
Tablet
Samsung Internet 27 Blink
Android 14
Samsung SM-X710
Firefox on Android
Mozilla/5.0 (Android 15; Mobile; rv:143.0) Gecko/143.0 Firefox/143.0
Phone
Firefox 143 Gecko
Android 15
–
An Amazon Fire tablet
Mozilla/5.0 (Linux; Android 9; KFTRWI) AppleWebKit/537.36 (KHTML, like Gecko) Silk/124.3.2 like Chrome/124.0.6367.219 Safari/537.36
Tablet
Silk 124.3.2 Blink
Fire OS
Amazon KFTRWI
A Huawei phone
Mozilla/5.0 (Linux; Android 12; HarmonyOS; NOH-NX9; HMSCore 6.13.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/15.0.4.312 Mobile Safari/537.36
Phone
Huawei Browser 15.0.4.312 Blink
HarmonyOS
Huawei NOH-NX9
An LG TV
Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.211 Safari/537.36 WebAppManager
TV
Chrome 108.0.5359.211 Blink
webOS
LG
A Samsung TV
Mozilla/5.0 (SMART-TV; LINUX; Tizen 7.0) AppleWebKit/537.36 (KHTML, like Gecko) 94.0.4606.31/7.0 TV Safari/537.36
TV
–
Tizen 7.0
Samsung
A PlayStation 5
Mozilla/5.0 (PlayStation 5 10.40) AppleWebKit/605.1.15 (KHTML, like Gecko)
Games console
–
PlayStation 10.40
Sony PlayStation 5
An Xbox
Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox Series X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36 Edge/20.02
Games console
Edge 20.02 EdgeHTML
Xbox
Microsoft Xbox Series X
A Nintendo Switch
Mozilla/5.0 (Nintendo Switch; WifiWebAuthApplet) AppleWebKit/606.4 (KHTML, like Gecko) NF/6.0.1.15.4 NintendoBrowser/5.1.0.20393
Games console
–
Nintendo
Nintendo Switch
A Galaxy Watch
Mozilla/5.0 (Linux; Tizen 5.5; SAMSUNG SM-R820) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/1.0 Chrome/69.0.3497.106 Mobile Safari/537.36
Wearable
Samsung Internet 1 Blink
Tizen 5.5
Samsung Galaxy Watch
Google, on a phone
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.7390.54 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Bot
Chrome 141.0.7390.54 Blink
Android 6.0.1
Googlebot
Search engine
Bing
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36
Bot
Chrome 116.0.1938.76 Blink
–
Bingbot
Search engine
OpenAI, training
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)
Bot
–
–
GPTBot
AI crawler
Anthropic, training
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Bot
–
–
ClaudeBot
AI crawler
ChatGPT, for a person
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot
Bot
–
–
ChatGPT-User
AI assistant
Perplexity, for search
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
Bot
–
–
PerplexityBot
AI search
ByteDance
Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)
Bot
–
Android 5.0
Bytespider
AI crawler
A Slack link preview
Slackbot-LinkExpanding 1.0 (+https://api.slack.com/robots)
Bot
–
–
Slackbot
Link preview
A curl script
curl/8.14.1
Bot
–
–
curl
HTTP client

Moving from jenssegers/agent

Same method names, same answers. Change the import and keep your code; the facade alias Agent keeps working in Blade too. Then, when you like, move to the typed API.

Before and after

# composer.json
- "jenssegers/agent": "^2.6"
+ "ruvelo/laravel-device": "^1.0"

- use Jenssegers\Agent\Agent;
+ use Ruvelo\Device\Agent;

$agent = new Agent();
$agent->isMobile();          // unchanged
$agent->browser();           // "Edge", not "Chrome"
$agent->version('Edge');     // "141.0.0.0"

// The typed way
$device = $request->device();
$device->type;               // DeviceType::Phone
$device->os->atLeast(17);    // true
$device->isAiBot();          // false

Method by method

jenssegers/agentTyped API
isMobile()$device->isMobile()
isTablet(), isPhone()isTablet(), isPhone()
isDesktop()isDesktop()
isRobot(), robot()isBot, botName, botCategory
browser(), version($b)browser->name, browser->version
platform()os->name, os->version
device()brand, model
languages()languages

In Blade: one template, rendered by the package for three visitors

@mobile
    <a href="/app">Get the Halyard app</a>
@elsebot
    {{-- Crawlers get the plain page --}}
@else
    <a href="/download">Halyard for desktop</a>
@endmobile
An iPhone seesGet the Halyard app
A Mac seesHalyard for desktop
GPTBot seesnothing