Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

node-device-detector

Package Overview
Dependencies
Maintainers
1
Versions
65
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-device-detector

Nodejs device detector (port matomo-org/device-detector)

  • 2.0.10
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
16K
decreased by-9.09%
Maintainers
1
Weekly downloads
 
Created
Source

node-device-detector

Last update: 10/12/2022

Description

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

Code Status

Chai YAML Lint Prettier CodeQL Featured on Openbase

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,
  deviceAliasCode: false,
});
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);

PS: When creating an objectdetector = new DeviceDetector; data for parsing is reloaded from files, consider this, the best option is initialization at application start I recommend seeing examples

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) 
  }
}

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,
  deviceAliasCode: false,
  // ... all options scroll to Setter/Getter/Options
});

const clientHints = new ClientHints();
const userAgent = res.headers['user-agent'];
const clientHintData = clientHints.parse(res.headers);
const result = detector.detect(userAgent, clientHintData);

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

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,
  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,
    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,
  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)
  deviceAliasCode: false,    // adds the device code to result device.code as is (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.deviceAliasCode = true;

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

Getting device code as it (experimental)

[top]

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:

Test 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
-----
detector.parseDevice (deviceIndexes on) x 10,449 ops/sec ±0.27% (93 runs sampled)
detector.parseDevice (deviceIndexes off) x 261 ops/sec ±88.58% (92 runs sampled)
detector.parseClient (clientIndexes on) x 1,703 ops/sec ±0.36% (92 runs sampled)
detector.parseClient (clientIndexes off) x 859 ops/sec ±0.46% (93 runs sampled)
detector.parseOS x 10,034 ops/sec ±0.23% (94 runs sampled)
detector.detect (indexes off) x 254 ops/sec ±0.46% (85 runs sampled)
detector.detect (indexes on) x 1,114 ops/sec ±1.44% (91 runs sampled)
Other tests
Test 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
-----
detector.parseDevice (deviceIndexes on) x 5,457 ops/sec ±0.23% (95 runs sampled)
detector.parseDevice (deviceIndexes off) x 220 ops/sec ±31.15% (87 runs sampled)
detector.parseClient (clientIndexes on) x 5,797 ops/sec ±0.32% (92 runs sampled)
detector.parseClient (clientIndexes off) x 6,243 ops/sec ±0.47% (93 runs sampled)
detector.parseOS x 7,570 ops/sec ±0.92% (93 runs sampled)
detector.detect (indexes off) x 203 ops/sec ±78.87% (86 runs sampled)
detector.detect (indexes on) x 1,695 ops/sec ±1.49% (88 runs sampled)

Test 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
-----
detector.parseDevice (deviceIndexes on) x 2,315 ops/sec ±0.62% (94 runs sampled)
detector.parseDevice (deviceIndexes off) x 448 ops/sec ±78.47% (89 runs sampled)
detector.parseClient (clientIndexes on) x 1,664 ops/sec ±0.69% (92 runs sampled)
detector.parseClient (clientIndexes off) x 844 ops/sec ±1.09% (93 runs sampled)
detector.parseOS x 10,258 ops/sec ±0.31% (95 runs sampled)
detector.detect (indexes off) x 254 ops/sec ±48.42% (89 runs sampled)
detector.detect (indexes on) x 808 ops/sec ±0.40% (92 runs sampled)
-----
Test 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
-----
detector.parseDevice (deviceIndexes on) x 8,387 ops/sec ±1.21% (94 runs sampled)
detector.parseDevice (deviceIndexes off) x 8,645 ops/sec ±0.32% (95 runs sampled)
detector.parseClient (clientIndexes on) x 1,751 ops/sec ±1.87% (91 runs sampled)
detector.parseClient (clientIndexes off) x 1,227 ops/sec ±0.57% (93 runs sampled)
detector.parseOS x 4,921 ops/sec ±0.25% (97 runs sampled)
detector.detect (indexes off) x 799 ops/sec ±1.04% (92 runs sampled)
detector.detect (indexes on) x 1,032 ops/sec ±0.61% (94 runs sampled)
-----

Get more information about a device (experimental)

This parser is experimental and contains few devices. (1813 devices, alias devices 3879)

Support detail brands/models list:
Show details
BrandDevice countAlias count-BrandDevice countAlias count
3601213-884840
2e22-3gnet01
3q1462-4good101
4ife01-a101
accent05-ace80
acer568-acteck00
advan01-advance014
afrione02-agm40
ainol216-airness00
airo wireless10-airties00
ais02-aiuto00
aiwa00-akai25
alba01-alcatel29433
alcor10-alfawise00
aligator00-allcall03
alldocube26-allview046
allwinner03-altech uec00
altek10-altice00
altron01-amazon1930
amgoo215-amigoo00
amoi622-andowl00
anry00-ans00
aoc00-aoson06
apple4644-archos897
arian space42-ark136
armphone00-arnova036
arris00-artel02
artizlee01-asano01
asanzo10-ask00
assistant219-asus81230
at&t12-atom03
atvio00-avenzo13
avh10-avvio32
axxion00-azumi mobile01
bangolufsen00-barnes & noble16
bb mobile210-beeline111
bellphone11-benq01
beyond07-bezkam10
bigben10-bihee21
billion11-bird10
bitel41-bitmore21
bkav10-black bear20
black fox1812-blackview159
blu1315-bravis2417
cgv10-clarmin30
colors72-cyrus10
digifors11-engel11
firefly mobile41-formuler20
geotel30-gionee40
google35-hisense20
hoffmann11-hotwav181
huawei226586-i-mobile10
imo mobile50-infinix2438
inoi40-intex183
ipro67-irbis150
kiowa10-kurio33
lg127286-malata10
maze40-minix11
mivo32-mobicel31
motorola2724-noa10
nomi11-nuu mobile93
nuvo32-oneplus1848
oppo103202-oukitel80
öwn12-panasonic58
pipo50-poco814
realme6594-samsung167714
sony44172-supra10
tecno mobile91131-tiphone10
utok10-uz mobile10
vernee92-vivo196286
walton130-we80
weimei10-wiko712
wileyfox90-wink40
zync20-zyq113
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 (1510):
Show details
BrandBrandBrandBrandBrandBrandBrand
10moons2E3603GNET3GO3Q4Good
4ife7 Mobile8848A1AccentAceAcer
ActeckactiMirrorAdronixAdvanAdvanceAFFIXAfriOne
AG MobileAGMAIDATAAinolAirisAirnessAIRON
AirtelAirtiesAISAiutoAiwaAkaiAKIRA
AlbaAlcatelAlcorALDI NORDALDI SÜDAlfawiseAligator
AllCallAllDocubeALLINmobileAllviewAllwinnerAlpsAltech UEC
AlticealtronAMAAmazonAMCVAMGOOAmigoo
AminoAmoiAndowlAngelcareAnkerAnryANS
AOCAocosAOpenAoroAosonAOYODKGApple
AquariusArchosArian SpaceArkArmPhoneArnovaARRIS
ArtelArtizleeArtLineAsanoAsanzoAskAspera
AssistantAstroAsusAT&TAthesiAtmaca ElektronikATMAN
ATOLAtomAtvioAudiovoxAURISAutanAUX
AvayaAvenzoAVHAvvioAwowAxiooAXXA
AxxionAYYAAzumi Mobileb2mBackcellBangOlufsenBarnes & Noble
BB MobileBBKBDFBDQBDsharingBeckerBeeline
BeelinkBeetelBeistaBellphoneBencoBenesseBenQ
BenQ-SiemensBenzoBeyondBezkamBGHBigbenBIHEE
BilimLandBillionBillowBioRuggedBirdBitelBitmore
BittiumBkavBlack BearBlack FoxBlackpcsBlackviewBlaupunkt
BleckBLISSBllocBlowBluBlubooBluebird
BluedotBluegoodBlueSkyBluewaveBMAXBmobileBobarry
bogoBoostBowaybqBrandCodeBrandtBravis
BrightSignBrondiBRORBS MobileBubblegumBundyBush
BuzzTVC5 MobileCAGICamfoneCanal DigitalCapitelCaptiva
Carbon MobileCarrefourCasioCasperCatCavionCeibal
CelcusCelkonCell-CCellacomCellAllureCellutionCentric
CG MobileCGVChainwayChanghongCherry MobileChico MobileChiliGreen
China MobileChina TelecomChuwiCipherLabCitycallClarestaClarmin
ClearPHONEClementoniCloudCloudfoneCloudpadCloutCnM
CobaltCoby KyrosColorsComioCompalCompaqCOMPUMAX
ComTrade TeslaConcordConCordeCondorConnectceConnexConquest
ContixoCoolpadCoopersCORNCosmoteCoviaCowon
COYOTECreNovaCrescentCricketCrius MeaCronyCrosscall
CrownCubeCUBOTCVTECyrusD-LinkD-Tech
DaewooDanewDanyDASSDatalogicDataminiDatang
DatawindDatsunDazenDbPhoneDbtelDcodeDEALDIG
DellDenaliDenverDesayDeWaltDEXPDF
DGTECDialogDicamDigiDigicelDIGICOMDigidragon
DIGIFORSDigihomeDigilandDigit4GDigmaDinaxDING DING
DISHDitecmaDivaDiverMaxDivisatDIXONDL
DMMDNSDoCoMoDofflerDolameeDom.ruDoogee
DooproDoovDopodDoppioDORLANDDoroDRAGON
Dragon TouchDreamgateDreamStarDreamTabDroxioDtacDune HD
DUNNS MobileDuubeeE-BodaE-CerosE-telEagleEasypix
EBENEBESTEcho MobilesecomECONECOOECS
EEEFTEGLEinsteinEKOEks MobilityEKT
ELARIElecsonElectroneumELECTRONIAElektaElementElenberg
ElephoneElevateElong MobileEltexEmaticEmporiaENACOM
EnergizerEnergy SistemEngelENIEEnoteNOVAEnvizen
Epik OneEpsonEquatorErgoEricssonEricyErisson
EssentialEssentielbeSTAREtoneTouchEtulineEurocase
EurostarEvercossEvertekEvolioEvolveoEvooEVPAD
EvroMediaEWISEXCEEDExmartExMobileEXOExplay
ExtremEYUEzioEzzeF&UF150F2 Mobile
FacebookFacetelFacimeFairphoneFamocoFamousFantec
FaRao ProFarassooFarEasToneFengxiangFEONALFeroFiggers
FiGiFiGOFiiOFILIXFinePowerFinluxFireFly Mobile
FISEFluoFlyFLYCATFMTFNBFNF
FondiFonosFOODOFORMEFormulerForstarFortis
Four MobileFourelFoxconnFoxxDFPTFreetelFuego
FujitsuFunaiFusion5Future Mobile TechnologyFxtecG-TiDEG-Touch
Galaxy InnovationsGarmin-AsusGatewayGazerGeaneeGear MobileGemini
General MobileGenesisGEOFOXGeotelGeotexGEOZONGFive
GhiaGhongGhostGigabyteGigasetGiniGinzzu
GioneeGlobexGlofiishGLONYXGLXGOCLEVERGocomma
GoGENGol MobileGoldMasterGolyGomeGoMobileGoogle
GoophoneGooweelGplusGradienteGrapeGreeGreentel
GressoGretelGrundigGtelH133H96Hafury
HaierHaipaiHamletHammerHandheldHannSpreeHAOVM
HardkernelHarperHartensHaseeHDCHelioHERO
HexaByteHezireHiHi NovaHi-LevelHibergHigh Q
HighscreenHiHiHiKingHiMaxHipstreetHisenseHitachi
HitechHKProHLLOHoffmannHometechHomtomHoneywell
HoozoHorizonHorizontHosinHot PepperHotelHOTREALS
HotwavHowHPHTCHuadooHuaganHuavi
HuaweiHugerockHumaxHurricaneHuskeeHykkerHyrican
HyteraHyundaiHyvei-CherryI-INNi-Joyi-mate
i-mobileiBalliBerryiBritIconBITiDataiDroid
iGetiHuntIkeaIKI MobileiKoMoiKonIKU Mobile
iLAiLifeiManiMarsiMIIMO MobileImose
ImpressioniMuziNaviINCARInchIncoiNew
InfinitonInfinixInFocusInfoKitInFoneInktiInnJoo
InnosInnostreamiNo MobileInoiiNOVAINQInsignia
INSYSIntekIntelIntexInvensInvertoInvin
iOceaniOutdooriPEGTOPiProiQ&TIQMIRA
IrbisiReplaceIrisiRolaiRuluiSafe MobileiStar
iSWAGITiTeliTruckIUNIiVAiView
iVooMiivviiWaylinkiXTechiYouiZotronJAY-Tech
JediJekaJesyJFoneJiakeJiayuJinga
JioJiviJKLJollaJoyJPayJREN
JumperJuniper SystemsJust5JVCJXDK-LiteK-Touch
KaanKaiomyKalleyKanjiKarbonnKataKATV1
KazamKazunaKDDIKempler & StraussKenboKeneksiKenxinda
KianoKingboxKingstarKingsunKINGZONEKiowaKivi
KlipadKocasoKodakKoganKomuKonkaKonrow
KoobeeKoolneeKooperKOPOKoridyKoslamKREZ
KRIPKRONOKrüger&MatzKT-TechKUBOKuliaoKult
KumaiKurioKvantKyoceraKyowonKzenKZG
L-MaxLAIQLand RoverLandvoLaninLanixLark
LaurusLavaLCTLe PanLeader PhoneLeagooLeben
LedstarLeEcoLeelboxLeffLegendLekeLEMFO
LemhoovLencoLenovoLeotecLephoneLesiaLexand
LexibookLGLibertonLifemaxxLingwinLinnexLinsar
ListoLNMBBSLoeweLogicLogic InstrumentLogicomLOKMAT
LoviewLovmeLT MobileLumigonLumitelLumusLuna
LuxorLYFM-HorseM-TechM.T.T.M3 MobileM4tel
MAC AUDIOMacooxMafeMagicseeMagnusMajesticMalata
MangoManhattanMannManta MultimediaMantraMaraMarshal
MassgoMasstelMaster-GMastertechMatrixMaxcomMaxfone
MaximusMaxtronMAXVIMaxwestMAXXMazeMaze Speed
MBIMBOXMDC StoreMDTVmeanITMecerMecool
MediacomMediaTekMedionMEEGMegaFonMeituMeizu
MelroseMemupMetaMetzMEUMicroMaxMicrosoft
MicrotechMinixMintMinttMioMioneMiray
MitoMitsubishiMitsuiMIVOMIXCMiXzoMLLED
MLSMMIMobellMobicelMobiIoTMobiistarMobiola
MobistelMobiWireMoboModecomMofutMosimosiMotorola
MovicmPhoneMpmanMSIMStarMTCMTN
MultilaserMYFONMyGicaMygPadMymagaMyMobileMyPhone
MyriaMyrosMysteryMyTabMyWigoNabiNaomi Phone
NASCONationalNavcityNavitechNavitelNavonNavRoad
NECNecnotNeffosNEKONeoneoCoreNeolix
NeomiNeon IQNetgearNetmakNeuImageNew BalanceNew Bridge
NewgenNewlandNewmanNewsdayNewsMyNexaNEXBOX
NexianNEXONNEXTNextbitNextBookNextTabNG Optics
NGMNikonNINETECNintendonJoyNOANoain
NobbyNoblexNOBUXNOGANokiaNomiNomu
NoontecNordmendeNorthTechNosNothing PhoneNousNovex
NoveyNTT WestNuAnsNubiaNUU MobileNuvoNvidia
NYX MobileO+O2OaleOASYSObaboxObi
OdotpadOdysOINOMOkOkapiaOKSIOKWU
OlleeOMIXOndaOneClickOnePlusOnixOnkyo
ONNONYX BOOXOokeeOpelMobileOpenboxOphoneOPPO
OpssonOptomaOrangeOrbicOrbitaOrbsmartOrdissimo
OrionOSCALOTTOOUJIAOukiOukitelOUYA
OvermaxOvviöwnOwwoOYSINOystersOyyu
OzoneHDP-UPPackard BellPaladinPalmPanacomPanasonic
PantechPAPYREParrot MobilePartner MobilePCBOXPCDPCD Argentina
PEAQPelittPendooPentagramPerfeoPhicommPhilco
PhilipsPhonemaxphoneOnePicoPINEPioneerPioneer Computers
PiPOPIRANHAPixelaPixelphonePixusPlanet ComputersPloyer
PlumPlusStylePluzzPocketBookPOCOPoint MobilePoint of View
PolarPolarLinePolaroidPolestarPolyPadPolytronPomp
PoppoxPOPTELPorschePositivoPositivo BGHPPTVPremio
PrestigioPRIMEPrimepadPrimuxPritomPrixtonPROFiLO
ProlinePrologyProScanProtrulyProVisionPULIDPurism
Q-BoxQ-TouchQ.BellQFXQiliveQLinkQMobile
Qnet MobileQTECHQtekQuantumQuatroQuboQuechua
QuestQuipusQumoQwareR-TVRakutenRamos
RaspberryRavozRaylandzRazerRCA TabletsReachReadboy
RealmeREDRedbeanRedfoxRedwayReederREGAL
RemdunRetroid PocketRevoRevomovilRicohRikomagicRIM
RinnoRitmixRitzvivaRivieraRivoRizzenROADMAX
RoadroverRokitRokuRombicaRoss&MoorRoverRoverPad
RoyoleRoyQueenRT ProjectRugGearRuioRunboRyte
S-TELLS2TelSabaSafaricomSagemSaietSalora
SamsungSaneiSansuiSantinSanyoSavioSCBC
SchneiderSchokScosmosSeatelSeekenSEGSega
SeleclineSelengaSelevisionSelfixSEMP TCLSencorSendo
SenkatelSenseitSenwaSeuicSewooSFRShanling
SharpShift PhonesShivakiShtrikh-MShuttleSicoSiemens
SigmaSilelisSilent CircleSimbansSimplySingtechSiragon
Sirin LabsSK BroadbandSKGSkySkylineSkyworthSmadl
SmailoSmartSmart ElectronicSmart KasselSmartabSmartBookSMARTEC
SmartexSmartfrenSmartisanSmartySmooth MobileSmotreshkaSNAMI
SodaSoftbankSoho StyleSOLESOLOSoloneSonim
SONOSSonySony EricssonSoundmaxSoyesSparkSPC
SpectralinkSpectrumSpiceSprintSQOOLStarStarlight
StarmobileStarwayStarwindSTF MobileSTG TelecomSTKStonex
StorexStrawBerryStreamSTRONGStyloSuborSugar
SumvisionSunmiSunnySunstechSunVanSunvellSUNWIND
SuperSonicSuperTabSupraSuzukiSwipeSWISSMOBILITYSwisstone
SwitelSWTVSylvaniaSymphonySyroxT-MobileT96
TAG TechTaiga SystemTakaraTaliusTamboTanixTB Touch
TCLTD SystemsTD TechTeachTouchTechnicolorTechnikaTechniSat
TechnopcTechnoTrendTechPadTechwoodTeclastTecno MobileTecToy
TEENOTeknosaTele2TelefunkenTelegoTelenorTelia
TelitTelmaTelpoTENPLUSTeracubeTescoTesla
TETCTetratabteXetThLThomsonThurayaTIANYU
TibutaTigersTime2TimoviTIMvisionTinaiTinmo
TiPhoneTiVoTJCTOKYOTolinoToneTooky
Top HouseTOPDONTopelotekTopluxTopsionTopwayTorex
TorqueTOSCIDOToshibaTouch PlusTouchmateTOXTranspeed
TrekStorTreviTridentTrifoneTrioTronsmartTrue
True SlimTTECTTK-TVTuCELTunisie TelecomTurboTurbo-X
TurboKidsTurboPadTürk TelekomTurkcellTVCTWMTwoe
TWZTymesU-MagicU.S. CellularUEUgoosUhans
UhappyUlefoneUmaxUMIDIGIUnblock TechUnidenUnihertz
UnimaxUniscopeUnistrongUNIWAUnknownUnnectoUnnion Technologies
UNNOUnonuUnowhyUrovoUTimeUTOKUTStarcom
UZ MobileV-HOMEV-HOPEv-mobileVAIOVALEMVankyo
VargoVastkingVAVAVCVDVDVegaVenso
VenstarVenturerVEONVericoVerizonVerneeVerssed
VertexVertuVerykoolVestaVestelVexiaVGO TEL
VicturioVIDAVideoconVideowebViewSonicVinaboxVinga
VinsocViosViproVirzoVision TouchVitelcomViumee
VivaxVivoVIWAVizioVizmoVK MobileVKworld
VodacomVodafoneVOGAVölfenVoninoVontarVorago
VorcomVorkeVortexVotoVOXVoxtelVoyo
VsmartVsunVUCATIMESVue MicroVulcanVVETIMEWalton
WanmukangWEWeb TVWeelikeitWeimeiWellcoMWELLINGTON
Western DigitalWestpointWexlerWhite MobileWieppoWigorWiko
WileyfoxWindsWinkWinmaxWinnovoWintouchWiseasy
WIWAWizarPosWizzWolderWolfgangWolkiWonu
WooWortmannWoxterX-AGEX-BOX-TIGIX-View
X.VisionX88X96X96QXcruiserXGIMIXgody
XiaoduXiaolajiaoXiaomiXionXoloXoroXshitou
XtouchXtratechXwaveYandexYarvikYASINYEPEN
YesYezzYoka TVYoozYotaYOTOPTYtone
YuYU FlyYuandaoYUHOYUMKEMYUNDOOYuno
YusunYxtelZaithZatecZealotZebraZeeker
ZeemiZenZenekZentalityZfinerZH&KZidoo
ZIFROZIKZinoxZioxZondaZonkoZopo
ZTEZuumZyncZYQZyrex

[top]

Support device types:
typeid
desktop0
smartphone1
tablet2
feature phone3
console4
tv5
car browser6
smart display7
camera8
portable media player9
phablet10
smart speaker11
wearable12
peripheral13
Support detect browsers list (497):
Show details
BrowserBrowserBrowserBrowserBrowserBrowserBrowser
115 Browser18+ Privacy Browser1DM Browser1DM+ Browser2345 Browser360 Browser360 Phone Browser
7654 Browser7StarABrowseAdBlock BrowserAdult BrowserAloha BrowserAloha Browser Lite
AmayaAmaze BrowserAmerigoAmiga AwebAmiga VoyagerAmigoAndroid Browser
Anka BrowserANT FrescoANTGalioAOL DesktopAOL ShieldAOL Shield ProAPN Browser
AppBrowzerAPUS BrowserArctic FoxAroraArvinAsk.comAsus Browser
AtlasAtomAtomic Web BrowserAvant BrowserAvast Secure BrowserAVG Secure BrowserAvira Scout
AwoXAzka BrowserB-LineBaidu BrowserBaidu SparkBangla BrowserBasilisk
Beaker BrowserBeamriseBelva BrowserBeonexBerry BrowserBeyond Private BrowserBF Browser
Bitchute BrowserBiyubiBlack Lion BrowserBlackBerry BrowserBlackHawkBloketBlue Browser
BonsaiBorealis NavigatorBraveBriskBardBrowlserBrowseHereBrowser Hup Pro
BrowseXBrowspeed BrowserBrowzarBunjallooByffoxCake BrowserCamino
CCleanerCentauryCG BrowserChanjetCloudCharonChedotCheetah Browser
Cherry BrowserCheshireChim LacChowboChromeChrome FrameChrome Mobile
Chrome Mobile iOSChrome WebviewChromePlusChromiumChromium GOSTCM BrowserCM Mini
CoastCoc CocColibriCometBirdComfort BrowserComodo DragonConkeror
CoolBrowserCoolNovoCornowserCOS BrowserCraving ExplorerCrazy BrowserCrusta
CunaguaroCyberfoxCyBrowserDark Web BrowserdbrowserDebuggable BrowserDecentr
Deepnet Explorerdeg-deganDeledaoDelta BrowserDesi BrowserDeskBrowseDillo
DolphinDolphin ZeroDoobleDoradoDot BrowserDragon BrowserDUC Browser
DuckDuckGo Privacy BrowserEasy BrowserEcosiaEdge WebViewEinkBroElement BrowserElements Browser
ElinksEpicEspial TV BrowserEUI BrowserExplore BrowsereZ BrowserFalkon
Fast Browser UC LiteFast ExplorerFaux BrowserFennecFiery BrowserFirebirdFirefox
Firefox FocusFirefox KlarFirefox MobileFirefox Mobile iOSFirefox RealityFirefox RocketFireweb
Fireweb NavigatorFlash BrowserFlastFloat BrowserFlockFloorpFlow
Flow BrowserFluidFlyperlinkFreeUFrost+FulldiveG Browser
GaleonGener8Ghostery Privacy BrowserGinxDroid BrowserGlass BrowserGNOME WebGoBrowser
GOG GalaxyGoogle EarthGoogle Earth ProHarman BrowserHasBrowserHawk Quick BrowserHawk Turbo Browser
Headless ChromeHelioHexa Web BrowserHi Browserhola! BrowserHotJavaHTC Browser
Huawei BrowserHuawei Browser MobileHUB BrowserIBrowseiBrowseriBrowser MiniiCab
iCab MobileIceCatIceDragonIceweaseliDesktop PC BrowserIE Browser FastIE Mobile
Indian UC Mini BrowserInspect BrowserInternet Browser SecureInternet ExplorerIridiumIronIron Mobile
IsiviooJapan BrowserJasmineJavaFXJellyJig BrowserJig Browser Plus
Jio BrowserJioPagesK-meleonK.BrowserKapikoKazehakaseKeepsafe Browser
Kids Safe BrowserKindle BrowserKinzaKiwiKode BrowserKonquerorKUTO Mini Browser
KyloLagatos BrowserLark BrowserLenovo BrowserLexi BrowserLG BrowserLieBaoFast
LightLightning BrowserLiloLinksLolifoxLovense BrowserLT Browser
LuaKitLulumiLunascapeLunascape LiteLynket BrowserLynxMaelstrom
MandarinMAUI WAP BrowserMaxthonMaxTube BrowsermCentMe BrowserMeizu Browser
MercuryMicroBMicrosoft EdgeMidoriMidori LiteMinimoMint Browser
MIUI BrowserMmx BrowserMobicipMobile SafariMobile SilkMonument BrowserMxNitro
MypalNaked BrowserNaked Browser ProNavigateur WebNCSA MosaicNetFrontNetFront Life
NetPositiveNetscapeNetSurfNextWord BrowserNFS BrowserNokia BrowserNokia OSS Browser
Nokia Ovi BrowserNova Video Downloader ProNox BrowserNTENT BrowserObigoOceanHeroOculus Browser
OdinOdin BrowserOdyssey Web BrowserOff By OneOffice BrowserOH BrowserOH Private Browser
OhHai BrowserOmniWebONE BrowserOpen BrowserOpen Browser 4UOpen Browser fast 5GOpenFin
Openwave Mobile BrowserOperaOpera CryptoOpera DevicesOpera GXOpera MiniOpera Mini iOS
Opera MobileOpera NeonOpera NextOpera TouchOppo BrowserOrcaOrdissimo
OreganoOrigin In-Game OverlayOrigyn Web BrowserOtter BrowserPale MoonPalm BlazerPalm Pre
Palm WebProPalmscapePeeps dBrowserPerfect BrowserPhantom BrowserPhantom.mePhoenix
Phoenix BrowserPi BrowserPlayFree BrowserPlumaPocketBook BrowserPolarisPolarity
PolyBrowserPolypanePrivacy Explorer Fast SafePrivacyWallPronHub BrowserPSI Secure BrowserPuffin
Puffin Web BrowserPure Lite BrowserPure Mini BrowserQazwebQQ BrowserQQ Browser LiteQQ Browser Mini
QtWebEngineQuarkQuick BrowserQupZillaQutebrowserQwant MobileRabbit Private Browser
Raise Fast BrowserRealme BrowserRekonqReqwireless WebViewerRockMeltSafariSafari Technology Preview
Safe Exam BrowserSailfish BrowserSalamWebSamsung BrowserSavannah BrowserSavySodaSecure Browser
Secure Private BrowserSeewo BrowserSEMC-BrowserSeraphic SrafSeznam BrowserSFiveSharkee Browser
ShiiraSidekickSilverMob USSimpleBrowserSiteKioskSizzySkyfire
SleipnirSlimjetSmart BrowserSmart Lenovo BrowserSmart Search & Web BrowserSmoozSnowshoe
Sogou ExplorerSogou Mobile BrowserSony Small BrowserSOTI SurfSoul BrowserSP BrowserSpectre Browser
SplashSputnik BrowserStampy BrowserStargonSTART Internet BrowserSteam In-Game OverlayStreamy
SunriseSuper Fast BrowserSuperBirdSuperFast BrowsersurfSurf BrowserSushi Browser
Sweet BrowserSwiftfoxSX BrowserT-Browsert-online.de BrowserT+BrowserTao Browser
TenFourFoxTenta BrowserTesla BrowserTint BrowserTizen BrowserToGateTUC Mini Browser
TungstenTV BroTweakStyleU BrowserUBrowserUC BrowserUC Browser HD
UC Browser MiniUC Browser TurboUi Browser MiniUme BrowserUR BrowserUzblVast Browser
vBrowserVegas BrowserVenus BrowserViaViasat BrowserVision Mobile BrowserVivaldi
Vivid Browser Minivivo BrowserVMware AirWatchWaterfoxWave BrowserWear Internet BrowserWeb Browser & Explorer
Web ExplorerWebPositiveWeTab BrowserWhale BrowserwOSBrowserX Browser LiteX-VPN
xBrowserXBrowser MinixBrowser Pro Super FastXiinoXNX BrowserXooloo InternetxStand
XtremeCastXvastYaani BrowserYAGIYahoo! Japan BrowserYandex BrowserYandex Browser Lite
Yo BrowserYolo BrowserYouCareYuzu BrowserZetakeyZirco BrowserZvu

[top]

Keywords

FAQs

Package last updated on 10 Dec 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc