Skip to content

Repository files navigation

Last update: 03/08/2026

Description

Port php lib matomo-org/device-detector to NodeJs

Code Status

Chai YAML Lint Prettier CodeQL

Contents

Install

npm install node-device-detector --save

or

yarn add node-device-detector

Usage

// commonJS
const DeviceDetector = require('node-device-detector');
// or ESModule
import DeviceDetector from "node-device-detector";

const detector = new DeviceDetector({
  clientIndexes: true,
  deviceIndexes: true,
  osIndexes: true,
  deviceAliasCode: false,
  deviceTrusted: false,
  deviceInfo: false,
  maxUserAgentSize: 500,
});
const userAgent = 'Mozilla/5.0 (Linux; Android 5.0; NX505J Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36';
const result = detector.detect(userAgent);
console.log('result parse', result);

Result parse

{ 
  os: { 
    name: 'Android',           // os name       
    short_name: 'AND',         // os short code name (format A-Z0-9{3})
    version: '5.0',            // os version
    platform: '',              // os platform (x64, x32, amd etc.)
    family: 'Android'          // os family
  },
  client:  { 
    type: 'browser',            // client type 
    name: 'Chrome Mobile',      // client name name
    short_name: 'CM',           // client short code name (only browser, format A-Z0-9{2,3})
    version: '43.0.2357.78',    // client version
    engine: 'Blink',            // client engine name (only browser)
    engine_version: ''          // client engine version (only browser)
    family: 'Chrome'            // client family (only browser)
  },
  device: { 
    id: 'ZT',                   // short code device brand name (format A-Z0-9{2,3})
    type: 'smartphone',         // device type
    brand: 'ZTE',               // device brand name
    model: 'Nubia Z7 max'       // device model name
    code: 'NX505J'              // device model code  (only result for enable detector.deviceAliasCode) 
    trusted: true               // device trusted (result only for enable detector.deviceTrusted and have fixture data + ClientHints are required)
    info: {}                    // device specs (result only fir enable detector.deviceInfo)
  }
}

Result parse empty

{ 
  os: {},                      // empty objects its os not found
  client: {},                  // empty objects its client not found
  device: {      
    id: '',                    // empty string its device brand not found
    type : 'device type',      // device type or empty string
    brand: '',                 // empty string its device brand not found
    model: ''                  // empty string its device model not found
  }
}

Helpers

[top]

// commonJS
const DeviceDetector = require('node-device-detector');
const DeviceHelper = require('node-device-detector/helper');
// or ESModule
import DeviceDetector from "node-device-detector";
import DeviceHelper from "node-device-detector/helper";

const detector = new DeviceDetector();
const userAgent = 'Mozilla/5.0 (Linux; Android 5.0; NX505J Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36';
const result = detector.detect(userAgent);

/* check device type (feature phone, smartphone or phablet) */
DeviceHelper.isMobile(result);
/* check device type is desktop */
DeviceHelper.isDesktop(result);
/* check device type is tablet  */
DeviceHelper.isTablet(result);
/* check device type car (side panel in car)  */
DeviceHelper.isCar(result);
/* check device type feature phone (push-button telephones)  */
DeviceHelper.isFeaturePhone(result);
/* check device type smartphone  */
DeviceHelper.isSmartphone(result);
/* check device type phablet  */
DeviceHelper.isPhablet(result);
/* check device type game console (xBox, PlayStation, Nintendo etc)  */
DeviceHelper.isConsole(result);
/* check device type smart speaker (Alisa, Alexa, HomePod etc) */
DeviceHelper.isSmartSpeaker(result);
/* check device type SmartTV/TV box */
DeviceHelper.isTv(result);
/* check device type portable camera */
DeviceHelper.isCamera(result);
/* portable terminal, portable projector */
DeviceHelper.isPeripheral(result);
/* LCD panel or interactive panel  */
DeviceHelper.isSmartDisplay(result);
/* check device type boxes, blu-ray players */
DeviceHelper.isPortableMediaPlayer(result);
/* check device type watches, headsets */
DeviceHelper.isWearable(result);
/* result device type number id */
DeviceHelper.getDeviceTypeId(result);
/* result device type string */
DeviceHelper.getDeviceType(result);
/* result client type string */
DeviceHelper.getClientType(result);

Using DeviceDetector + ClientHints

[top]

// commonJS
const DeviceDetector = require('node-device-detector');
const DeviceHelper   = require('node-device-detector/helper');
const ClientHints    = require('node-device-detector/client-hints');
// or ESModule
import DeviceDetector from "node-device-detector";
import DeviceHelper from "node-device-detector/helper";
import ClientHints from "node-device-detector/client-hints";

const detector = new DeviceDetector({
  clientIndexes: true,
  deviceIndexes: true,
  osIndexes: true,
  deviceAliasCode: false,
  deviceTrusted: false,
  deviceInfo: false,
  // ... all options scroll to Setter/Getter/Options
});

/** server side use celint hinsts */
const clientHints = new ClientHints();
const userAgent = res.headers['user-agent'];
let headers = res.headers;
let meta = {}
/**
 option meta interface (needed to detect whether the device is trusted,
 this information can be obtained from browser)
 {
   width: '720',             //  Math.ceil(window.screen.width)
   height: '1440',           //  Math.ceil(window.screen.height)
   gpu: 'PowerVR SGX Doma',  //  (()=>{let e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");return t?t.getParameter(t.getExtension("WEBGL_debug_renderer_info").UNMASKED_RENDERER_WEBGL):null})();
 }
 More details in file docs/CLIENT_HINTS_BROWSER.MD
 */
let hints = clientHints.parse(headers /* or body.hints */, meta /* or body.meta */);
const result = detector.detect(userAgent, hints);

// result promise
// added for 2.0.4 version or later
const result = detector.detectAsync(userAgent, hints);

Using parsers singly

[top]

Detect Bot

// commonJS
const DeviceDetector = require('node-device-detector');
// or ESModule
import DeviceDetector from "node-device-detector";

const userAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)';
const detector = new DeviceDetector();
const result = detector.parseBot(userAgent);

Detect Os

// commonJS
const DeviceDetector = require('node-device-detector');
// or ESModule
import DeviceDetector from "node-device-detector";

const userAgent = 'Mozilla/5.0 (Linux; Android 5.0; NX505J Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36';
const detector = new DeviceDetector({
  clientIndexes: true,
  osIndexes: true,
  deviceIndexes: true,
  deviceAliasCode: false,
});
const result = detector.parseOs(userAgent/*, clientHintData*/);
console.log('Result parse os', result);  

Detect Client

// commonJS
const DeviceDetector = require('node-device-detector');
// or ESModule
import DeviceDetector from "node-device-detector";

const userAgent = 'Mozilla/5.0 (Linux; Android 5.0; NX505J Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36';
const detector = new DeviceDetector({
    clientIndexes: true,
    deviceIndexes: true,
    osIndexes: true,
    deviceAliasCode: false,
});
const result = detector.parseClient(userAgent/*, clientHintData*/);
console.log('Result parse client', result);

Lite parse not detect brand

// commonJS
const DeviceDetector = require('node-device-detector');
// or ESModule
import DeviceDetector from "node-device-detector";

const userAgent = 'Mozilla/5.0 (Linux; Android 5.0; NX505J Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36';
const detector = new DeviceDetector({
  clientIndexes: true,
  deviceIndexes: true,
  osIndexes: true,
  deviceAliasCode: false,
});
const resultOs = detector.parseOs(userAgent);
const resultClient = detector.parseClient(userAgent);
const resultDeviceType = detector.parseDeviceType(
 userAgent,
 resultOs,
 resultClient,
 {},
 /*, clientHintData */
);
const result = Object.assign({os:resultOs}, {client:resultClient}, {device: resultDeviceType});
console.log('Result parse lite', result);

Getter/Setter/Options

[top]

const detector = new DeviceDetector({
  osVersionTruncate: 0,      // Truncate OS version from 5.0 to 5 (default '' or null)
  clientVersionTruncate: 2,  // Truncate Client version Chrome from 43.0.2357.78 to 43.0.2357 (default '' or null)
  deviceIndexes: true,       // Using indexes for faster device search (default false)
  clientIndexes: true,       // Using indexes for faster client search (default false)
  osIndexes: true,           // Using indexes for faster os search (default false)
  deviceAliasCode: true,     // adds device code to result [device.code] as is (default false)
  maxUserAgentSize: 500,     // uses only 500 chars from useragent string (default null - unlimited)
  deviceTrusted: true,       // check device by specification (default false)
  deviceInfo: true,          // adds device specification to result [device.info] (default false)
});

// You can override these settings at any time using special setters, example
detector.osVersionTruncate = 0;
detector.clientVersionTruncate = 2;
detector.deviceIndexes = true;
detector.clientIndexes = true;
detector.osIndexes = true;
detector.deviceAliasCode = true;
detector.maxUserAgentSize = 500;
detector.deviceTrusted = true;
detector.deviceInfo = true;

// Array available device types
detector.getAvailableDeviceTypes();
// Array available devices brands
detector.getAvailableBrands();
// Array available browsers
detector.getAvailableBrowsers();

Specific methods

const DEVICE_PARSER_NAMES = detector.getDeviceParserNames(); // result colection names for device parsers 
const CLIENT_PARSER_NAMES = detector.getClientParserNames(); // result colection names for client parsers 
const OS_PARSER_NAMES = detector.getOsParserNames();         // result collection names for os parsers
const BOT_PARSER_NAMES = detector.getBotParserNames();       // result collection names for bot parsers   

const aliasDevice = detector.getParseAliasDevice();          // result AliasDevice parser
const deviceInfo = detector.getParseInfoDevice();            // result InfoDevice parser

// added custom parser
detector.addParseDevice('MyDeviceParser', new MyDeviceParser());
detector.addParseClient('MyClientParser', new MyClientParser());
detector.addParseOs('MyOsParser', new MyOsParser());
detector.addParseBot('MyBotParser', new MyBotParser());
// get single parser by name
detector.getParseDevice('MyDeviceParser' /* or DEVICE_PARSER_NAMES.MOBILE */);
detector.getParseClient('MyClientParser'  /* or CLIENT_PARSER_NAMES.BROWSER */);
detector.getParseOs('MyOsParser'/* or OS_PARSER_NAMES.DEFAULT */);
detector.getParseBot('MyBotParser');

Getting device code as it (experimental)

[top]

const DeviceDetector = require('node-device-detector');
const detector = new DeviceDetector()
const aliasDevice = detector.getParseAliasDevice();
const result = aliasDevice.parse(userAgent);
console.log('Result parse code model', result);
// or
const AliasDevice = require('node-device-detector/parser/device/alias-device');
const userAgent = 'Mozilla/5.0 (Linux; Android 5.0; NX505J Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36';
const aliasDevice = new AliasDevice();
const result = aliasDevice.parse(userAgent);
console.log('Result parse code model', result);

/*
result 
{
  name: "NX505J"
}
is not parse result  {name: ""}
*/

What about performance?

node tests/banchmark.js test result:

UA Mozilla/5.0 (Linux; Android 5.0; NX505J Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36
-----
┌──────────────────────┬─────────┬──────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │ ops/sec  │ margin of error │ runs sampled │
├──────────────────────┼─────────┼──────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'on'   │ '20,235' │    '±0.26%'     │      98      │
│ detector.parseClient │  'on'   │ '46,058' │    '±0.34%'     │      98      │
│   detector.parseOS   │  'on'   │ '20,317' │    '±0.32%'     │      97      │
│   detector.detect    │  'on'   │ '7,526'  │    '±0.76%'     │      92      │
└──────────────────────┴─────────┴──────────┴─────────────────┴──────────────┘
Other tests
UA Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
-----
detector.parseDevice x 295,672 ops/sec ±0.79% (96 runs sampled)
detector.parseClient x 60,996 ops/sec ±0.60% (99 runs sampled)
detector.parseOS x 35,174 ops/sec ±0.28% (97 runs sampled)
detector.detect x 16,631 ops/sec ±0.21% (96 runs sampled)
┌──────────────────────┬─────────┬───────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │  ops/sec  │ margin of error │ runs sampled │
├──────────────────────┼─────────┼───────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'on'   │ '295,672' │    '±0.79%'     │      96      │
│ detector.parseClient │  'on'   │ '60,996'  │    '±0.60%'     │      99      │
│   detector.parseOS   │  'on'   │ '35,174'  │    '±0.28%'     │      97      │
│   detector.detect    │  'on'   │ '16,631'  │    '±0.21%'     │      96      │
└──────────────────────┴─────────┴───────────┴─────────────────┴──────────────┘
-----
UA Mozilla/5.0 (Linux; Android 12; M2101K9AG Build/SKQ1.210908.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.5005.125 Mobile Safari/537.36 UCURSOS/v1.6_273-android
┌──────────────────────┬─────────┬──────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │ ops/sec  │ margin of error │ runs sampled │
├──────────────────────┼─────────┼──────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'on'   │ '13,671' │    '±0.42%'     │      96      │
│ detector.parseClient │  'on'   │ '9,154'  │    '±0.26%'     │      98      │
│   detector.parseOS   │  'on'   │ '15,087' │    '±0.36%'     │      99      │
│   detector.detect    │  'on'   │ '3,192'  │    '±0.29%'     │      97      │
└──────────────────────┴─────────┴──────────┴─────────────────┴──────────────┘
-----
UA Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 239.2.0.17.109 (iPhone9,3; iOS 15_5; it_IT; it-IT; scale=2.00; 750x1334; 376668393) NW/3
┌──────────────────────┬─────────┬───────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │  ops/sec  │ margin of error │ runs sampled │
├──────────────────────┼─────────┼───────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'on'   │  '6,570'  │    '±0.30%'     │      98      │
│ detector.parseClient │  'on'   │ '113,007' │    '±0.41%'     │      99      │
│   detector.parseOS   │  'on'   │ '18,882'  │    '±0.24%'     │      99      │
│   detector.detect    │  'on'   │  '3,849'  │    '±0.46%'     │      97      │
└──────────────────────┴─────────┴───────────┴─────────────────┴──────────────┘
-----
UA Mozilla/5.0 (Linux; Android 8.0.0; RNE-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36
┌──────────────────────┬─────────┬──────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │ ops/sec  │ margin of error │ runs sampled │
├──────────────────────┼─────────┼──────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'on'   │ '3,951'  │    '±0.37%'     │      97      │
│ detector.parseClient │  'on'   │ '47,425' │    '±0.28%'     │      93      │
│   detector.parseOS   │  'on'   │ '21,305' │    '±0.39%'     │      96      │
│   detector.detect    │  'on'   │ '2,587'  │    '±0.39%'     │      98      │
└──────────────────────┴─────────┴──────────┴─────────────────┴──────────────┘
-----
UA Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.124 Safari/537.36 Edg/102.0.1245.44
┌──────────────────────┬─────────┬───────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │  ops/sec  │ margin of error │ runs sampled │
├──────────────────────┼─────────┼───────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'on'   │ '280,116' │    '±1.63%'     │      97      │
│ detector.parseClient │  'on'   │ '58,553'  │    '±0.31%'     │      98      │
│   detector.parseOS   │  'on'   │ '38,153'  │    '±0.31%'     │      94      │
│   detector.detect    │  'on'   │ '15,530'  │    '±0.73%'     │      96      │
└──────────────────────┴─────────┴───────────┴─────────────────┴──────────────┘
-----
UA Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
┌──────────────────────┬─────────┬───────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │  ops/sec  │ margin of error │ runs sampled │
├──────────────────────┼─────────┼───────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'off'  │ '584,609' │    '±0.30%'     │      96      │
│ detector.parseClient │  'off'  │   '668'   │    '±70.73%'    │      97      │
│   detector.parseOS   │  'off'  │  '4,355'  │    '±0.31%'     │      98      │
│   detector.detect    │  'off'  │   '774'   │    '±0.23%'     │      96      │
└──────────────────────┴─────────┴───────────┴─────────────────┴──────────────┘
-----
UA Mozilla/5.0 (Linux; Android 5.0; NX505J Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36
┌──────────────────────┬─────────┬─────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │ ops/sec │ margin of error │ runs sampled │
├──────────────────────┼─────────┼─────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'off'  │  '343'  │    '±49.33%'    │      94      │
│ detector.parseClient │  'off'  │  '526'  │    '±0.26%'     │      97      │
│   detector.parseOS   │  'off'  │ '3,694' │    '±0.23%'     │      97      │
│   detector.detect    │  'off'  │  '220'  │    '±27.12%'    │      87      │
└──────────────────────┴─────────┴─────────┴─────────────────┴──────────────┘
-----
UA Mozilla/5.0 (Linux; Android 12; M2101K9AG Build/SKQ1.210908.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.5005.125 Mobile Safari/537.36 UCURSOS/v1.6_273-android
┌──────────────────────┬─────────┬─────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │ ops/sec │ margin of error │ runs sampled │
├──────────────────────┼─────────┼─────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'off'  │  '424'  │    '±0.25%'     │      95      │
│ detector.parseClient │  'off'  │ '6,414' │    '±0.43%'     │      96      │
│   detector.parseOS   │  'off'  │ '7,193' │    '±0.33%'     │      96      │
│   detector.detect    │  'off'  │  '268'  │    '±30.56%'    │      93      │
└──────────────────────┴─────────┴─────────┴─────────────────┴──────────────┘
-----
UA Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 239.2.0.17.109 (iPhone9,3; iOS 15_5; it_IT; it-IT; scale=2.00; 750x1334; 376668393) NW/3
┌──────────────────────┬─────────┬──────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │ ops/sec  │ margin of error │ runs sampled │
├──────────────────────┼─────────┼──────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'off'  │ '2,990'  │    '±0.33%'     │      97      │
│ detector.parseClient │  'off'  │ '34,868' │    '±0.21%'     │      99      │
│   detector.parseOS   │  'off'  │ '3,379'  │    '±0.42%'     │      95      │
│   detector.detect    │  'off'  │ '1,274'  │    '±0.24%'     │      99      │
└──────────────────────┴─────────┴──────────┴─────────────────┴──────────────┘
-----
UA Mozilla/5.0 (Linux; Android 8.0.0; RNE-L21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Mobile Safari/537.36
┌──────────────────────┬─────────┬─────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │ ops/sec │ margin of error │ runs sampled │
├──────────────────────┼─────────┼─────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'off'  │  '603'  │    '±84.34%'    │      97      │
│ detector.parseClient │  'off'  │  '583'  │    '±0.38%'     │      97      │
│   detector.parseOS   │  'off'  │ '9,073' │    '±0.33%'     │      96      │
│   detector.detect    │  'off'  │  '272'  │    '±28.33%'    │      90      │
└──────────────────────┴─────────┴─────────┴─────────────────┴──────────────┘
-----
UA Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.124 Safari/537.36 Edg/102.0.1245.44
┌──────────────────────┬─────────┬───────────┬─────────────────┬──────────────┐
│    parse method      │ indexes │  ops/sec  │ margin of error │ runs sampled │
├──────────────────────┼─────────┼───────────┼─────────────────┼──────────────┤
│ detector.parseDevice │  'off'  │ '223,548' │    '±0.36%'     │      96      │
│ detector.parseClient │  'off'  │  '1,268'  │    '±0.47%'     │      99      │
│   detector.parseOS   │  'off'  │  '4,509'  │    '±0.59%'     │      94      │
│   detector.detect    │  'off'  │   '880'   │    '±0.25%'     │      96      │
└──────────────────────┴─────────┴───────────┴─────────────────┴──────────────┘

What about tests?

Yes we use tests, total tests: ~86.1k

Get more information about a device (experimental)

This parser is experimental and contains few devices. (2156 devices, alias devices 3995)

Support detail brands/models list:
Show details
Brand Device count Alias count - Brand Device count Alias count
360 12 13 - 8848 4 0
2e 2 2 - 3q 2 37
4good 10 1 - ace 8 0
acer 5 4 - agm 4 1
ainol 2 2 - airo wireless 1 0
airtel 1 0 - akai 2 1
alcatel 25 154 - alcor 1 0
alldocube 2 1 - allview 97 7
altek 1 0 - amazon 19 10
amgoo 2 2 - amoi 62 0
apple 46 101 - archos 89 7
arian space 4 4 - ark 1 1
asanzo 1 0 - assistant 2 2
asus 80 242 - at&t 1 1
atol 1 1 - avenzo 1 2
avh 1 0 - avvio 3 4
barnes & noble 1 0 - bb mobile 2 2
beeline 11 1 - bellphone 1 1
bezkam 1 0 - bigben 1 0
bihee 2 0 - billion 1 1
biorugged 1 0 - bird 1 0
bitel 4 0 - bitmore 2 1
bittium 1 0 - bkav 1 0
black bear 2 0 - black fox 18 18
blackview 97 19 - blu 23 16
bravis 24 16 - byju\'s 1 1
cgv 1 0 - clarmin 3 0
cobalt 1 0 - colors 7 2
cyrus 1 1 - dewalt 1 0
deyi 1 1 - dialog 1 0
digi 6 0 - digidragon 3 0
digifors 1 1 - doogee 3 1
engel 1 1 - estar 2 0
evoo 1 0 - firefly mobile 4 0
formuler 2 0 - geotel 3 0
gionee 4 0 - glocalme 1 0
google 3 4 - hafury 1 0
hisense 2 0 - hoffmann 1 1
hotwav 18 2 - huawei 217 665
i-mobile 1 0 - imo mobile 5 5
infinix 26 42 - inoi 4 0
intex 18 4 - ipro 6 6
irbis 15 0 - just5 1 0
kalley 3 1 - kapsys 1 0
kiowa 1 0 - krip 3 0
kurio 3 3 - kzen 1 0
lava 1 1 - lg 117 393
malata 1 0 - maze 4 0
minix 1 1 - mipo 2 0
miray 1 0 - mitsui 1 0
mivo 3 1 - mobicel 3 2
motorola 28 39 - newland 1 0
noa 1 0 - nomi 1 1
nuu mobile 9 8 - nuvo 3 2
oneplus 18 55 - oppo 109 241
oukitel 8 0 - öwn 1 2
palm 1 2 - panasonic 5 4
parrot mobile 1 0 - pipo 5 1
pixpro 1 0 - poco 9 26
premier 1 0 - realme 66 116
samsung 166 971 - sankey 1 0
sansui 1 0 - senseit 2 0
sharp 2 5 - sony 37 169
sprint 2 0 - supra 1 0
tecno mobile 91 162 - teracube 2 0
tiphone 1 0 - tps 1 0
ulefone 8 0 - utok 1 0
uz mobile 1 0 - vernee 9 2
viewsonic 1 0 - visual land 2 2
vivo 203 325 - walton 112 2
we 8 0 - weimei 1 0
wiko 7 16 - wileyfox 9 1
wink 4 0 - winmax 1 0
x-age 1 1 - xiaomi 9 26
yumkem 1 0 - zen 1 0
zik 1 0 - zync 2 1
zyq 1 1 -
const DeviceDetector = require('node-device-detector');
const detector = new DeviceDetector();
const infoDevice = detector.getParseInfoDevice();
const result = infoDevice.info('Asus', 'Zenfone 4');
console.log('Result information', result);
// or 
const InfoDevice = require('node-device-detector/parser/device/info-device');
const infoDevice = new InfoDevice();
const result = infoDevice.info('Asus', 'Zenfone 4');
console.log('Result information', result);

/*
result
{
  display: {
    size: '5.5',
    resolution: '1080x1920',  // width+height
    ratio: '16:9',
    ppi: "401"
  },
  size: '155.4x75.2x7.7',    // width+height+thickness
  weight: '165',
  hardware: {
    // ...
  }
  os: "Android 7.1",
  release: "2017.08",
  sim": "2",
}
is not found result null
*/

Cast methods

const InfoDevice = require('node-device-detector/parser/device/info-device');
const infoDevice = new InfoDevice;
infoDevice.setSizeConvertObject(true);
infoDevice.setResolutionConvertObject(true);
const result = infoDevice.info('Asus', 'Zenfone 4');
console.log('Result information', result);
/*
result
{  
  display: {
    size: "5.5",  // value in inchs
    resolution: {
      width: "1080", // value in px
      height: "1920" // value in px
    },
    ratio: "16:9",   // calculated field
    ppi: "401"       // calculated field
  },
  hardware: {
    ram: "4096",   // RAM value in megabytes
    cpu_id: 19,  // id cpu model in collection
    cpu: {
      name: "Qualcomm Snapdragon 630",  // brand + name
      type: "ARM",                      // architecture type 
      cores: "8",                       // number of cores / threads 
      clock_rate: 2200,                 // value in MHz
      gpu_id: 16                        // id gpu model in collection
	},
    gpu: {
      name: "Qualcomm Adreno 508",
      clock_rate: 650
    }
  },
  os: "Android 7.1",   // initial OS version
  release: "2017.08",  // date release or anonce
  sim": "2",           // count SIM 
  size: {           
    width: "75.2",     // physical width in millimeters
    height: "155.4",   // physical height in millimeters
    thickness: "7.7"   // physical thickness in millimeters
  },
  weight: "165"        // in grams
};
*/

Others

[top]

Examples

Support detect brands list (2154):
Show details
Brand Brand Brand Brand Brand Brand Brand
10moons 2E 360 3GNET 3GO 3Q 4Good
4ife 5IVE 7 Mobile 7Ke tree 8848 A&K A1
A95X AAUW Accent Accesstyle ACD Ace Aceline
Acepad Acer Acteck actiMirror Adreamer Adronix Advan
Advance Advantage Air AEEZO AFFIX AfriOne AG Mobile AGM
AI+ AIDATA AileTV Ainol Airis Airness AIRON
Airpha Airtel Airties AirTouch AIS Aiuto Aiwa
Ajib Akai AKIRA Alba Alcatel Alcor ALDI NORD
ALDI SÜD Alfawise Alienware Aligator All Star AllCall AllDocube
allente ALLINmobile Allview Allwinner Alps alpsmart Altech UEC
Altibox Altice Altimo altron Altus AMA Amazon
Amazon Basics AMCV AMGOO Amigoo Amino Amoi ANBERNIC
ANCEL andersson Andowl Angelcare AngelTech Anker Anry
ANS ANXONIT AOC Aocos Aocwei AOpen Aoro
Aoson AOYODKG ApoloSign Apple Aquarius Arçelik Archos
Arian Space Arival Ark ArmPhone Arnova ARRIS Arrow
Artel Artizlee ArtLine Asano Asanzo Ask Aspera
ASSE Assistant astro (MY) Astro (UA) Asus AT&T Athesi
ATLANTIC Atlantic Electrics Atmaca Elektronik ATMAN ATMPC ATOL Atom
Atouch Atozee Attila Atvio Audiovox AUPO AURIS
Autan AUX Avaya Avenzo AVH Avvio Awow
AWOX AXEN Axioo AXXA Axxion AYA AYYA
Azeyou AZOM Azumi Mobile Azupik b2m Backcell BAFF
BangOlufsen Barnes & Noble BARTEC BAUHN BB Mobile BBK BDF
BDQ BDsharing Beafon Becker Beeline Beelink Beetel
Beista Beko Bell Bellphone Benco Benesse BenQ
BenQ-Siemens BenWee Benzo Beyond Bezkam BGH Biegedy
Bigben BIHEE BilimLand Billion Billow BioRugged Bird
Bitel Bitmore Bittium Bkav Black Bear Black Box Black Fox
Blackpcs Blackphone Blackton Blackview Blaupunkt Bleck BLISS
Blloc Blow Blu Bluboo Bluebird Bluedot Bluegood
BlueSky Bluewave BluSlate BMAX Bmobile BMW BMXC
BNCF Bobarry bogo Bolva Bookeen Boost Botech
Boway bq Bqeel BrandCode Brandt BRAVE Bravis
BrightSign Brigmton Brondi BROR BS Mobile Bubblegum Bulsatcom
Bundy Bush BuzzTV BYD BYJU'S BYYBUO C Idea
C5 Mobile CADENA CAGI Caixun CALME Camfone Canaima
Canal Digital Canal+ Canguro Capitel Captiva Carbon Mobile Carrefour
Casio Casper Cat Cavion CCIT Cecotec Ceibal
Celcus Celkon Cell-C Cellacom CellAllure Cellution CENTEK
Centric CEPTER CG Mobile CGV Chainway Changhong CHCNAV
Cherry Mobile Chico Mobile ChiliGreen China Mobile China Telecom Chuwi CipherLab
Citycall CKK Mobile Claresta Clarmin CLAYTON ClearPHONE Clementoni
Clikon Cloud Mobile Cloudfone Clout Clovertek CMF CnM
Cobalt Coby Kyros Cogeco Coles COLORROOM Colors Comio
CommScope Compal Compaq COMPUMAX ComTrade Tesla Conceptum Concord
ConCorde Condor Connectce Connex Conquest CONSUNG Continental Edison
Contixo coocaa COOD-E Coolpad Coopers copa CORN
Cosmote Covia Cowon COYOTE CPDEVICE CreNova Crescent
Crestron Cricket Crius Mea Crony Crosscall Crown CRUA
Ctroniq Cube CUBOT CUD Cuiud Cultraview CVTE
Cwowdefu CX Cyrus D-Link D-Tech Daewoo Danew
DangcapHD Dany Daria DASS Datalogic Datamini Datang
Datawind Datsun Dawlance DbPhone Dbtel Dcode DEALDIG
DEC Dell Denali Denka Denver Desay Devant
DeWalt DEXP DEYI DF DGTEC DIALN Dialog
Dicam Digi Digicel DIGICOM Digidragon DIGIFORS Digihome
Digiland Digit Digma DIJITSU DIKOM DIMO Dinalink
Dinax DING DING Diofox DIORA DISH Disney Ditecma
Diva DiverMax Divisat DIXON DL DMOAO DNS
DoCoMo Doffler Dolamee Dom.ru Doogee Doopro Doov
Dopod Doppio Dora DORLAND Doro DPA DRAGON
Dragon Touch Dream Multimedia Dreamgate DreamStar Droidlogic Droxio DSDevices
DSIC Dtac Dual DUDU AUTO Dune HD DUNNS Mobile DuoTV
Durabase Durabook Duubee Dykemann Dyon E-Boda E-Ceros
E-TACHI E-tel Eagle EagleSoar EAS Electric Easypix EBEN
EBEST Echo Mobiles ecom ECON ECOO EcoStar ECS
Edanix Edenwood EE EFT EGL EGOTEK Ehlel
Einstein EKO Eks Mobility EKT ELARI ELCO ELE-GATE
Elecson Electroneum ELECTRONIA Elekta Elektroland Element Elenberg
Elephone Elevate Elista elit Elong Mobile Eltex Ematic
Emporia ENACOM ENDURO Energizer Energy Sistem Engel ENIE
Enot eNOVA Entity Envizen Ephone Epic EPIK Learning
Epik One Eplutus Epson Equator Ergo Ericsson Erisson
Essential Essentielb eSTAR ETOE Eton eTouch Etuline
Eudora Eurocase EUROLUX Eurostar EUROVIEW Evercoss Everest
Everex Everfine Everis Eversteel Evertek Evolio Evolveo
Evoo EVPAD EvroMedia evvoli EWIS EXCEED Exertis
Exmart ExMobile EXO Explay Express LUCK ExtraLink Extrem
Eyemoo EYU Ezio Ezze F&U F+ F150
F2 Mobile Facebook Facetel Facime Fairphone Famoco Famous
Fantec Fanvace FaRao Pro Farassoo FarEasTone Fengxiang Fenoti
FEONAL Fero FFF SmartLife Figgers FiGi FiGO FiiO
Filimo FILIX FinePower FINIX Finlux FireFly Mobile FISE
Fision FITCO FLEXY Fluo Fly FLYCAT FLYCOAY
FMT FNB FNF Fobem Fondi Fonos FONTEL
FOODO FORME Formovie Formuler Forstar Fortis FortuneShip
FOSSiBOT Four Mobile Fourel FOX Foxconn FoxxD FPT
free Freetel FreeYond FRESH Frunsi Fuego FUJICOM
Fujitsu Funai Fusion5 Future Mobile Technology Fxtec G-Guard G-PLUS
G-Tab G-TiDE G-Touch G-Vill Galactic Galatec Galaxy Innovations
Gamma Garmin-Asus Gateway Gazal Gazer GDL Geanee
Geant Gear Mobile GEEPAS Gemini General Mobile Genesis Genius Devices
Geo Phone GEOFOX Geotel Geotex GEOZON Getnord GFive
Gfone Ghia Ghong Ghost Gigabyte Gigaset Gini
Ginzzu Gionee GIRASOLE GlobalSec Globex Globmall GlocalMe
Glofiish GLONYX Glory Star GLX GN Electronics GOCLEVER Gocomma
GoGEN Gol Mobile GOLDBERG GoldMaster GoldSky GoldStar Goly
Gome GoMobile GOODTEL Google Goophone Gooweel GOtv
Gplus Gradiente Graetz Grandin Grape Great Asia Gree
Green Lion Green Orange Greentel Gresso Gretel GroBerwert Grünberg
Grundig Gtel GTMEDIA GTX Guophone GVC Pro H133
H96 HAAM Hafury Haier Haipai Haixu Hamlet
Hammer Handheld HannSpree Hanseatic Hanson HAOQIN HAOVM
Hardkernel Harper Hartens Hasee Hathway HAVIT HDC
HeadWolf HEC Heider Heimat Helio Hemilton HERO
HexaByte Hezire Hi Hi Nova Hi-Level Hiberg HiBy
HIGH1ONE Highscreen HiGrace HiHi HiKing HiMax HIPER
Hipstreet Hiremco Hisense Hitachi Hitech HKC HKPro
HMD hoco HOFER Hoffmann HOLLEBERG Homatics Hometech
HOMII Homtom Honeywell HongTop HONKUAHG Honor Hoobart
Hoozo Hopeland Horion Horizon Horizont Hosin Hot Pepper
HOTACK Hotel TV Company HOTREALS Hotwav How HP HTC
Huadoo Huagan Huavi Huawei Hugerock Humanware Humax
HUMElab Hurricane Huskee Hyatta Hykker Hyrican Hytera
Hyundai Hyve I KALL i-Cherry I-INN i-Joy i-mate
i-mobile I-Plus iBall iBerry ibowin iBrit IconBIT
Icone Gold iData IDC iDEA iDino iDroid iFIT
iGet iHome Life iHunt Ikea IKI Mobile iKoMo iKon
iKonia IKU Mobile iLA iLepo iLife iMan Imaq
iMars iMI IMO Mobile Imose Impex Impression iMuz
iNavi INCAR Inch Inco Indurama iNew Infiniton
InfinityPro Infinix InFocus InfoKit Infomir InFone Inhon
Inka Inkti InnJoo Inno Hit Innos Innostream iNo Mobile
Inoi iNOVA inovo INQ Insignia INSYS Intek
Intel Intex Invens Inverto Invin iOcean ioplee
IOTWE iOutdoor iPEGTOP iPro iQ&T IQM IRA
Irbis iReplace Iris iRobot iRola iRulu iSafe Mobile
iStar iSWAG IT iTel iTruck IUNI iVA
iView iVooMi ivvi iWaylink IXI iXTech iYou
iZotron Jambo JAY-Tech Jckkcfug Jeep Jeka Jesy
JFone Jiake Jiayu Jide Jin Tu Jinga Jio
Jivi JKL johnson Jolla Joy JoySurf JPay
JREN Jumper Juniper Systems Just5 JUSYEA JVC JXD
K-Lite K-Touch Kaan Kaiomy Kalley Kanji KAP
Kapsys Karbonn Kata KATV1 Kazam Kazuna KDDI
Kempler & Strauss Kenbo Kendo Keneksi KENSHI KENWOOD Kenxinda
KGTEL Khadas Kiano kidiby Kingbox Kingelon Kingstar
Kingsun KINGZONE Kinstone Kiowa Kivi KIWI Klipad
KMC KN Mobile Kobo Kocaso Kodak Kogan Komu
Konka Konrow Koobee Koolnee Kooper KOPO Korax
Koridy Koslam Kraft KREZ KRIP KRONO Krüger&Matz
KT-Tech KTC KUBO KuGou Kuliao Kult Kumai
Kurio KVADRA Kvant Kydos Kyocera Kyowon Kzen
KZG L-Max LAGENIO LAIQ Land Rover Landvo Lanin
Lanix Lark Laser Laurus Lava LCT Le Pan
Leader Phone Leagoo Leben LeBest Lectrus Ledstar LeEco
Leelbox Leff Legend Leke Lemco LEMFO Lemhoov
Lenco Lenovo Leotec Lephone Lesia Lexand Lexibook
LG Liberton Lifemaxx Lime Lingbo Lingwin Linnex
Linsar Linsay Listo LNMBBS Loewe LOGAN Logic
Logic Instrument Logicom Logik Logitech LOKMAT LongTV Loview
Lovme LT Mobile Lumigon Lumitel Lumus Luna LUNNEN
LUO Luxor Lville LW LYF LYOTECH LABS M-Horse
M-KOPA M-Tech M.T.T. M3 Mobile M4tel MAC AUDIO Macoox
Mafe MAG MAGCH Magenta Magicsee Magnus Majestic
Malata Mango Manhattan Mann Manta Multimedia Mantra Mara
Marshal Mascom Massgo Masstel Master-G Mastertech Matco Tools
Matrix Maunfeld Maxcom Maxfone Maximus Maxtron MAXVI
Maxwell Maxwest MAXX Maze Maze Speed MBI MBK
MBOX McLaut MDC Store meanIT Mecer MECHEN Mecool
Mediacom Medion MEEG MEGA VISION Megacable MegaFon MEGAMAX
Meitu Meizu Melrose MeMobile Memup MEO MESWAO
Meta Metz MEU Microlab MicroMax Microsoft Microtech
Mightier MIIA Minix Mint Mintt Mio Mione
mipo MIRAL Miray Mitchell & Brown Mito Mitsubishi Mitsui
MIVO MIWANG MIXC MiXzo MLLED MLS Mobell
Mobicel MobiIoT Mobiistar Mobile Kingdom Mobiola Mobistel MobiWire
Mobo Mobvoi Mode 1 Mode Mobile Modecom Mofut Moondrop
MORTAL Mosimosi Motiv Motorola Motorola Solutions Movic MOVISUN
Movitel Moxee mPhone Mpman MSI MStar MTC
MTN multibox Multilaser MultiPOS MultiSmart MULTYNET MwalimuPlus
MYFON MyGica MygPad Mymaga MyMobile MyPhone (PH) myPhone (PL)
Myria Myros Mystery MyTab MyWigo N-one Nabi
NABO Nanho Naomi Phone NASCO National National PRO Navcity
Navitech Navitel Navon NavRoad NEC Necnot Nedaphone
Neffos NEI NEKO NEO neoCore Neolix Neomi
Neon IQ Neoregent Nesons NetBox Netgear Netmak NETWIT
NeuImage NeuTab NEVIR New Balance New Bridge Newal Newgen
Newland Newman Newsday NewsMy Nexa Nexar NEXBOX
Nexian NEXON NEXT Next & NextStar Nextbit NextBook NextTab
NG Optics NGM NGpon NIKAI Nikon NILAIT NINETEC
NINETOLOGY Nintendo nJoy NOA Noain Nobby Nobel
Noblex NOBUX noDROPOUT NOGA Nokia Nomi Nomu
Noontec Nordfrost Nordmende NORMANDE NorthTech NORTHWAY Nos
Nothing Nous Novacom Novex Novey NOVIS NoviSea
NOVO NTT West NuAns Nubia NUU Mobile NuVision Nuvo
Nvidia NYX Mobile O+ O2 Oale Oangcc OASYS
Obabox Ober Obi OCEAN OCEANIC Odotpad Odys
Oilsky OINOM ok. Okapi Okapia Oking OKSI
OKWU Olax Olkya Ollee ollz OLTO Olympia
OMIX Onda OneClick OneLern OnePlus Onida Onix
Onkyo ONN ONVO ONYX BOOX Ookee Ooredoo OpelMobile
Openbox Ophone OPPO Opsson Optoma Orange Orange Pi
Orava Orbic Orbita Orbsmart Ordissimo Orion OSCAL
OTT OTTO OUJIA Ouki Oukitel OUYA Overmax
Ovvi öwn Owwo OX TAB OYSIN Oysters Oyyu
OzoneHD Pacific Research Alliance Packard Bell PAGRAER Paladin Palm Panacom
Panasonic Panavox Pano Panodic Panoramic Pantech PAPYRE
Parrot Mobile Partner Mobile PC Smart PCBOX PCD PCD Argentina PEAQ
Pelitt Pendoo Penta Pentagram Perfeo Phicomm Philco
Philips Phonemax phoneOne Pico PINE64 Pioneer Pioneer Computers
PiPO PIRANHA Pixela Pixelphone PIXPRO Pixus Planet Computers
Platoon Play Now PLDT Ployer Plum PlusStyle Pluzz
PocketBook POCO Point Mobile Point of View Polar PolarLine Polaroid
Polestar PolyPad Polytron Pomp Poppox POPTEL Porsche
Portfolio Positivo Positivo BGH Powerway PPDS PPTV PREMIER
Premier Star Premio Prestigio PRIME Primepad Primux PRISM+
Pritom Prixton ProCaster PROFiLO Proline Prology ProScan
PROSONIC Protruly ProVision PULID Punos Purism PVBox
Q-Box Q-Touch Q.Bell QFX Qilive QIN Qiuwoky
QLink QMobile Qnet Mobile QTECH Qtek Quanta Computer Quantum
Quart Quatro Qubo Quechua Quest Quipus Qumo
Qupi Qware QWATT R-TV R3Di Rakuten Ramos
Raspberry Ravoz Raylandz Razer RAZZ RCA Tablets RCT
Reach Readboy Realix Realme RED RED-X Redbean
Redfox RedLine Redway Reeder REGAL RelNAT Relndoo
Remdun Renova RENSO rephone Retroid Pocket Revo Revomovil
Rhino Ricoh Rikomagic RIM Ringing Bells Rinno Ritmix
Ritzviva Riviera Rivo Rizzen ROADMAX Roadrover Roadstar
Roam Cat ROCH Rocket Rokid Rokit Roku Rombica
Romsat Ross&Moor Rover Rover Computers Royole RoyQueen RT Project
RTK RugGear RuggeTech Ruggex Ruio Runbo RunGee
Rupa Ryte S-Color S-TELL S2Tel Saba Safaricom
Sagem Sagemcom Saiet SAILF Salora Sambox Samsung
Samtech Samtron Sanei Sankey Sansui Santin SANY
Sanyo Savio Sber SCHAUB LORENZ Schneider Schok SCHONTECH
Scoole Scosmos Seatel SEBBE Seeken SEEWO SEG
Sega SEHMAX Selecline Selenga Selevision Selfix SEMP TCL
Sencor Sencrom Sendo Senkatel SENNA Senseit Senwa
SERVO Seuic Sewoo SFR SGIN Shanling Sharp
Shift Phones Shivaki Shtrikh-M Shuttle Sico Siemens Siera
Sigma Silelis Silent Circle Silva Schneider Simbans simfer Simply
SINGER Singtech Siragon Sirin Labs Siswoo SK Broadband SKG
SKK Mobile Sky Skyline SkyStream Skytech Skyworth Smadl
Smailo Smart Smart Electronic Smart Kassel Smart Tech Smartab SmartBook
SMARTEC Smartex Smartfren Smartisan Smarty Smooth Mobile Smotreshka
SMT Telecom SMUX SNAMI SobieTech Soda Softbank Soho Style
Solas SOLE SOLO Solone SONASHI Sonim SONOS
Sony Sony Ericsson SOSH SoulLink Soundmax SOWLY Soyes
Spark NZ Sparx SPC Spectralink Spectrum Spice Spider
SPURT SQOOL SSKY Ssmart Star-Light Starlight Starmobile
Starway Starway (SA) Starwind STF Mobile STG Telecom Stilevs STK
Stonex Storex StrawBerry StreamSystem STRONG Stylo SUAAT
Subor Sugar SULPICE TV Sumvision SUNGATE Sunmax Sunmi
Sunny Sunstech SunVan Sunvell SUNWIND Super General SuperBOX
Supermax SuperSonic SuperTab SuperTV Supra Supraim Surfans
SURFTV Surge Suzuki Sveon Swipe SWISSMOBILITY Swisstone
Switel SWOFY Syco SYH Sylvania Symphony Syrox
System76 SZ TPS T-Mobile T96 TADAAM TAG Tech Taiga System
Takara TALBERG Talius Tambo Tanix TAUBE TB Touch
TCL TCL SCBC TD Systems TD Tech TeachTouch Techmade Technical
Technicolor Technika TechniSat Technopc TECHNOSAT TechnoTrend TechPad
Techstorm Techwood Teclast Tecno Mobile TecToy TEENO Teknosa
TELE System Tele2 Telefunken Telego Telenor Telia Telit
Telkom Telly Telma TeloSystems Telpo Temigereev TENPLUS
Teracube Terra Tesco Tesla TETC Tetratab teXet
ThL Thomson Thuraya TIANYU Tibuta Tigers Time2
Timovi TIMvision Tinai Tinmo TiPhone Tivax TiVo
TJC TJD TOKYO Tolino Tone TOOGO Tooky
Top House Top-Tech TopDevice TOPDON Topelotek Toplux TOPSHOWS
Topsion Topway Torex TORNADO Torque TOSCIDO Toshiba
Touch Plus Touchmate TOX Transpeed Trecfone TrekStor Trevi
TriaPlay Tricolor Trident Trifone Trimble Trio Tronsmart
True True Slim Tsinghua Tongfang TTEC TTfone TTK-TV TuCEL
TUCSON Tunisie Telecom Turbo Turbo-X TurboKids TurboPad Türk Telekom
Turkcell Türksat Tuvio TV+ TVC TwinMOS TWM
TWZ Corporation TYD Tymes U-Magic U.S. Cellular UD UGINE
Ugoos Uhans Uhappy Ulefone Umax UMIDIGI Umiio
Unblock Tech Uniden Unihertz Unikalne Smartphones Unimax Uniqcell Uniscope
Unistrong Unitech UNITED United Group UNIWA Unknown Unnecto
Unnion Technologies UNNO Unonu UnoPhone Unowhy UOOGOU Urovo
UTime UTOK UTStarcom UZ Mobile V-Gen V-HOME V-HOPE
v-mobile V7 VAIO VALE VALEM VALTECH VANGUARD
Vankyo VANWIN Vargo VASOUN Vastking VAVA VC
VDVD Vega Veidoo Vekta Venso Venstar Venturer
VEON Verico Verizon Vernee Verssed Versus Vertex
Vertu Verykool Vesta Vestel VETAS Vexia VG
VGO TEL ViBox Victurio VIDA Videocon Videoweb Viendo
ViewSonic VIIPOO VIKUSHA VILLAON VIMOQ Vinabox Vinga
Vinsoc Vios Viper Vipro Virzo Vision Technology Vision Touch
Visitech Visual Land Vitelcom Vitumi Vityaz Viumee Vivax
VIVIBright VIVIMAGE Vivo VIWA Vizio Vizmo VK Mobile
VKworld VNPT Technology VOCAL Vodacom Vodafone VOGA VOIX
Völfen VOLIA VOLKANO Volla Volt Vonino Vontar
Vorago Vorcom Vorke Vormor Vortex VORTEX (RO) Voto
VOX Electronics Voxtel Voyo Vsmart Vsun VUCATIMES Vue Micro
Vulcan VVETIME W&O WAF Wainyok waipu.tv Walker
Waltham Walton Waltter WANSA WE We. by Loewe. Web TV
Webfleet WeChip Wecool Weelikeit Weiimi Weimei WellcoM
WELLINGTON Western Digital Weston Westpoint Wexler Whoop Wieppo
Wigor Wiko WildRed Wileyfox Winds Wink Winmax
Winnovo Winstar Wintouch Wiseasy WIWA WizarPos Wizz
Wolder Wolfgang Wolki WONDER Wonu Woo Woxter
WOZIFAN WS X-AGE X-BO X-Mobile X-TIGI X-View
X.Vision X88 X96 X96Q XB Xcell XCOM
Xcruiser XElectron XGEM XGIMI Xgody Xiaodu Xiaolajiao
Xiaomi Xion Xolo Xoro XPPen XREAL Xshitou
Xsmart Xtouch Xtratech Xwave XY Auto Yandex Yarvik
YASIN YELLYOUTH YEPEN Yes Yestel Yezz YIKEMI
Yoka TV Yooz Yota YOTOPT Youin Youwei Ytone
Yu YU Fly Yuandao YUHO YUMKEM YUNDOO Yuno
YunSong Yusun Yutmart Yxtel Z-Kai Zaith ZALA
Zamolxe Zatec Zealot Zeblaze Zebra Zeeker Zeemi
Zen Zenek Zentality Zfiner ZH&K Zhongyu Display Zidoo
ZIFFLER ZIFRO Zigo ZIK Zimmer Zinox ZIOVO
Ziox Zonda Zonko Zoom ZoomSmart Zopo ZTE
Zuum Zync ZYQ Zyrex ZZB

[top]

Support device types:
type id
desktop 0
smartphone 1
tablet 2
feature phone 3
console 4
tv 5
car browser 6
smart display 7
camera 8
portable media player 9
phablet 10
smart speaker 11
wearable 12
peripheral 13
Support detect browsers list (721):
Show details
Browser Browser Browser Browser Browser Browser Browser
115 Browser 18+ Privacy Browser 1DM Browser 1DM+ Browser 2345 Browser 360 Phone Browser 360 Secure Browser
7654 Browser 7Star ABrowse Ace Acoo Browser AdBlock Browser Adult Browser
Ai Browser Airfind Secure Browser Aloha Browser Aloha Browser Lite AltiBrowser ALVA Amaya
Amaze Browser Amerigo Amiga Aweb Amiga Voyager Amigo Android Browser Anka Browser
Anonyv Browser ANT Fresco ANTGalio AOL Desktop AOL Explorer AOL Shield AOL Shield Pro
Aplix APN Browser AppBrowzer AppTec Secure Browser APUS Browser Arachne Arc Search
Arctic Fox Armorfly Browser Arora ArtisBrowser Arvin Ask Browser Ask.com
Asus Browser Atlas Atom Atomic Web Browser Avant Browser Avast Secure Browser AVG Secure Browser
Avira Secure Browser Awesomium AwoX Azka Browser B-Line Baidu Browser Baidu Spark
Bang Bangla Browser Basic Web Browser Basilisk Beaker Browser Beamrise Belva Browser
Beonex Berry Browser Beyond Private Browser BF Browser Bitchute Browser Biyubi BizBrowser
Black Browser Black Lion Browser BlackBerry Browser BlackHawk Blazer Bloket Blue Browser
Bluefy Bonsai Borealis Navigator Brave BriskBard BroKeep Browser Browlser
BrowsBit Browse Safe BrowseHere Browser Hup Pro Browser Mini BrowseX Browspeed Browser
Browzar Bunjalloo BXE Browser Byffox Cake Browser Camino Catalyst
Catsxp Cave Browser CCleaner Centaury CG Browser ChanjetCloud Charon
ChatGPT Atlas Chedot Cheetah Browser Cherry Browser Cheshire Chim Lac Chowbo
Chrome Chrome Frame Chrome Mobile Chrome Mobile iOS Chrome Webview ChromePlus Chromium
Chromium GOST Clario Browser Classilla Clear TV Browser Cliqz Cloak Private Browser CM Browser
CM Mini Coast Coc Coc Colibri Colom Browser Columbus Browser Comet
CometBird Comfort Browser Comodo Dragon Conkeror CoolBrowser CoolNovo Cornowser
COS Browser Craving Explorer Crazy Browser Cromite Crow Browser Crusta Cunaguaro
Cyberfox CyBrowser Dark Browser Dark Web Dark Web Browser Dark Web Private dbrowser
DDU Browser Debuggable Browser Decentr Deepnet Explorer deg-degan Deledao Delta Browser
Desi Browser DeskBrowse Dezor Diigo Browser Dillo DoCoMo Dolphin
Dolphin Zero Dooble Dorado Dot Browser Doubao Dragon Browser DUC Browser
DuckDuckGo Privacy Browser East Browser Easy Browser Ecosia Edge WebView EinkBro Element Browser
Elements Browser Elinks Eolie Epic Espial TV Browser EudoraWeb EUI Browser
Every Browser Explore Browser eZ Browser Falkon Fast Browser UC Lite Fast Explorer Faux Browser
Fennec fGet Fiery Browser Fire Browser Firebird Firefox Firefox Focus
Firefox Klar Firefox Mobile Firefox Mobile iOS Firefox Reality Firefox Rocket FireSend Browser Fireweb
Fireweb Navigator Flash Browser Flast Float Browser Flock Floorp Flow
Flow Browser Fluid Flyperlink FOSS Browser Freedom Browser FreeU Frost
Frost+ Fulldive G Browser Galeon Gener8 Ghostery Privacy Browser GinxDroid Browser
Glass Browser GNOME Web GO Browser GoBrowser Godzilla Browser GOG Galaxy GoKu
Good Browser Google Earth Google Earth Pro GreenBrowser Habit Browser Halo Browser Harman Browser
Harmony 360 Browser HasBrowser Hawk Quick Browser Hawk Turbo Browser Headless Chrome Headless Edge Helio
Herond Browser Hexa Web Browser HeyTapBrowser Hi Browser hola! Browser Holla Web Browser HONOR Browser
HotBrowser HotJava HTC Browser Huawei Browser Huawei Browser Mobile HUB Browser IBrowse
iBrowser iBrowser Mini iCab iCab Mobile IceCat IceDragon Iceweasel
iDesktop PC Browser IE Browser Fast IE Mobile Ifbrowser Impervious Browser InBrowser Incognito Browser
Indian UC Mini Browser iNet Browser Inspect Browser Insta Browser Internet Browser Secure Internet Explorer Internet Webbrowser
Intune Managed Browser Involta Go Iridium Iron Iron Mobile Isivioo Island
iTop Private Browser IVVI Browser Japan Browser Jasmine JavaFX Jelly Jig Browser
Jig Browser Plus JioSphere JUZI Browser K-meleon K-Ninja K.Browser Kapiko
Kazehakase Keepsafe Browser KeepSolid Browser Keyboard Browser Kids Safe Browser Kindle Browser Kinza
Kitt Kiwi Kode Browser Konqueror KUN KUTO Mini Browser Kylo
Ladybird Lagatos Browser Lark Browser Legan Browser Lemur Browser Lenovo Browser Lexi Browser
LG Browser LieBaoFast Light Lightning Browser Lightning Browser Plus Lightpanda Lilo
Links Liri Browser LogicUI TV Browser Lolifox Lotus Lovense Browser LT Browser
LuaKit LUJO TV Browser Lulumi Lunascape Lunascape Lite Lynket Browser Lynx
Maelstrom Mandarin Maple MarsLab Web Browser MAUI WAP Browser MaxBrowser Maxthon
MaxTube Browser mCent Me Browser Meizu Browser Mercury Mi Browser MicroB
Microsoft Edge Midori Midori Lite Minimo Mint Browser Mises MixerBox AI
MMBOX XBrowser Mmx Browser Mobicip Mobile Safari Mobile Silk Mogok Browser Monument Browser
Motorola Internet Browser MxNitro Mypal MySudo Naenara Browser Naked Browser Naked Browser Pro
Navigateur Web NCSA Mosaic NetFront NetFront Life NetPositive Netscape NetSurf
Neuro Browser NextWord Browser NFS Browser Ninesky Ninetails Nintendo Browser Nokia Browser
Nokia OSS Browser Nokia Ovi Browser NOMone VR Browser Nook Browser Norton Private Browser Nova Browser Nova Video Downloader Pro
Nox Browser NTENT Browser Nuanti Meta Nuviu Obigo Ocean Browser OceanHero
Oculus Browser Odd Browser Odin Odin Browser Odyssey Web Browser Off By One Office Browser
OH Browser OH Private Browser OhHai Browser OJR Browser OmniWeb OnBrowser Lite ONE Browser
Onion Browser ONIONBrowser Open Browser Open Browser 4U Open Browser fast 5G Open Browser Lite Open TV Browser
OpenFin Openwave Mobile Browser Opera Opera Air Opera Crypto Opera Devices Opera GX
Opera Mini Opera Mini iOS Opera Mobile Opera Neon Opera Next Opera Touch Oppo Browser
Opus Browser Orbitum Orca Ordissimo Oregano Origin In-Game Overlay Origyn Web Browser
OrNET Browser Otter Browser Owl Browser Pale Moon Palm Blazer Palm Pre Palm WebPro
Palmscape Panda Browser Pawxy Peach Browser Peeps dBrowser Perfect Browser Perk
Phantom Browser Phantom.me Phoenix Phoenix Browser Photon Pi Browser PICO Browser
Pintar Browser PirateBrowser PlayFree Browser Pluma Pocket Internet Explorer PocketBook Browser Polaris
Polarity PolyBrowser Polypane Power Browser Presearch Prism Privacy Browser
Privacy Explorer Fast Safe PrivacyWall Private Internet Browser PrivateBrowsing PronHub Browser Proxy Browser ProxyFox
Proxyium ProxyMax Proxynet PSI Secure Browser Puffin Cloud Browser Puffin Incognito Browser Puffin Secure Browser
Puffin Web Browser Pure Lite Browser Pure Mini Browser Qazweb Qiyu QJY TV Browser Qmamu
QQ Browser QQ Browser Lite QQ Browser Mini QtWeb QtWebEngine Quark QuarkPC
Quetta Quiche Browser Quick Browser Quick Search TV QupZilla Qutebrowser Qwant Mobile
Rabbit Private Browser Raise Fast Browser Rakuten Browser Rakuten Web Search Raspbian Chromium Ray RCA Tor Explorer
Realme Browser Rekonq Reqwireless WebViewer Roccat RockMelt Roku Browser Safari
Safari Technology Preview Safe Exam Browser SafeBrowser Sailfish Browser SalamWeb Samsung Browser Samsung Browser Lite
Savannah Browser SavySoda SberBrowser Secure Browser Secure Private Browser SecureX Seekee
Seewo Browser SEMC-Browser Seraphic Sraf Seznam Browser SFive Sharkee Browser Shiira
Sidekick SilverMob US SimpleBrowser Singlebox SiteKiosk Sizzy Skye
Skyfire SkyLeap Sleipnir SlimBoat Slimjet Smart Browser Smart Lenovo Browser
Smart Search & Web Browser Smooz Snap Browser Snowshoe Sogou Explorer Sogou Mobile Browser Sony Small Browser
SOTI Surf Soul Browser Soundy Browser SP Browser Spark Spectre Browser Splash
Sputnik Browser Stampy Browser Stargon START Internet Browser Stay Browser Stealth Browser Steam In-Game Overlay
Streamy Sunflower Browser Sunrise Super Fast Browser SuperBird SuperFast Browser surf
Surf Browser Surfy Browser Sushi Browser Sweet Browser Swiftfox Swiftweasel SX Browser
T-Browser t-online.de Browser T+Browser TalkTo Tao Browser tararia TenFourFox
Tenta Browser Tesla Browser Thor Tincat Browser Tint Browser Tizen Browser ToGate
Tor Browser Total Browser TQ Browser TrueLocation Browser TUC Mini Browser Tungsten TUSK
TV Bro TV-Browser Internet TweakStyle U Browser UBrowser UC Browser UC Browser HD
UC Browser Mini UC Browser Turbo Ui Browser Mini Ume Browser UPhone Browser UR Browser Uzbl
Vast Browser vBrowser VC Browser Mini Pro VD Browser Veera Vegas Browser Venus Browser
Vertex Surf Vewd Browser Via Viasat Browser VibeMate Vision Mobile Browser Vivaldi
Vivaldi Mobile iOS Vivid Browser Mini vivo Browser VMS Mosaic VMware AirWatch Vonkeror Vuhuv
w3m Waterfox Wave Browser Wavebox Wear Internet Browser Web Browser & Explorer Web Explorer
WebDiscover Webian Shell WebPositive Weltweitimnetz Browser WeTab Browser Wexond Whale Browser
Whale TV Browser Wolvic World Browser wOSBrowser Wukong Browser Wyzo X Browser Lite
X-VPN xBrowser XBrowser Mini xBrowser Pro Super Fast Xiino XnBrowse XNX Browser
Xooloo Internet XPlay Browser xStand XtremeCast Xvast Yaani Browser YAGI
Yahoo! Japan Browser Yandex Browser Yandex Browser Corp Yandex Browser Lite Yo Browser Yolo Browser YouBrowser
YouCare Yuzu Browser Zetakey Zirco Browser Zordo Browser ZTE Browser Zvu

[top]

About

Universal library for detecting devices based on the string `UserAgent`. We can identify: App, Bot, OS, Browser, Device brand, Device model and Device type (smartphone, phablet, tablet, desktop, TV and other types, total 13)

Topics

Resources

Stars

184 stars

Watchers

3 watching

Forks

Releases

Used by

Contributors

Languages