Use Mobile_Detect for detecting mobile devices (including tablets).

Overview

A wrapper for the Mobile_Detect library (v4) by @serbanghita.

Usage

Twig

{# Device detection #}
{{ craft.mobileDetect.isMobile ? 'I am mobile.' : 'I am not mobile.' }}
{{ craft.mobileDetect.isTablet ? 'Tablet' : 'Not a tablet' }}
{{ craft.mobileDetect.isPhone ? 'Phone' : 'Not a phone' }}

{# OS detection — magic methods #}
{% if craft.mobileDetect.isiOS %}
    <p>Welcome, iOS user!</p>
{% elseif craft.mobileDetect.isAndroidOS %}
    <p>Welcome, Android user!</p>
{% endif %}

{# Browser detection — magic methods #}
{% if craft.mobileDetect.isChrome %}
    <p>You're using Chrome</p>
{% elseif craft.mobileDetect.isSafari %}
    <p>You're using Safari</p>
{% endif %}

{# Generic rule matching #}
{{ craft.mobileDetect.is('iOS') }}
{{ craft.mobileDetect.is('WindowsPhoneOS') }}
{{ craft.mobileDetect.is('Firefox') }}

PHP

$service = \superbig\mobiledetect\MobileDetect::getInstance()->mobileDetectService;
$isMobile = $service->isMobile();
$isIOS = $service->is('iOS');

Methods

Device detection

MethodDescription
isMobileReturns true for any mobile device (including tablets)
isTabletReturns true for tablets only
isPhoneReturns true for phones only (mobile but not tablet)

OS & browser detection (magic methods)

Any is* call is forwarded to the library's rule matching. These work in both Twig and PHP:

MethodDescription
isiOSiOS devices
isAndroidOSAndroid devices
isBlackBerryOSBlackBerry devices
isWindowsMobileOSWindows Mobile devices
isWindowsPhoneOSWindows Phone devices
isChromeChrome browser
isSafariSafari browser
isFirefoxFirefox browser
is*Any rule the library supports — see Mobile_Detect docs

Rule-based detection

MethodDescription
is(key)Test any rule by name, e.g. is('iOS'), is('AndroidOS'), is('Chrome')
match(pattern)Test using a regular expression against the user agent
version(component)Get the version of a component, e.g. version('Android')

Utility methods

MethodDescription
getVersionReturns the Mobile_Detect library version
getUserAgentGet the current user agent string
Installation Instructions

To install this plugin, copy the command above to your terminal.

Reviews

This plugin doesn't have any reviews.

Active Installs
631
Version
3.0.0
License
Craft
Compatibility
Craft 3, Craft 4, Craft 5
Last release
February 13, 2026
Activity (30 days)
3
Closed Issues
0
Open Issues
1
Merged PRs
0
Open PRs