What device.type am I using?

{UAParser.js} is a JavaScript library to detect user's Browser, Engine, OS, CPU, and Device type/model. Runs either in browser (client-side) or node.js (server-side).

FEATURED : OUR SPONSORS
DEMO : A USER-AGENT PLAYGROUND

{UAParser.js} abstracts away the hassle of User-Agent detection by turning them into a set of simple & meaningful data. As an example, this is what we get from your browser's User-Agent information:

In addition with some browser-supplied data, {UAParser.js} will transforms it into a well-structured format:

Browser
Engine
OS
Type
Model
CPU
TRY MORE EXAMPLES
CHECK
DETECT GPU FROM WEBGL DATA (EXPERIMENTAL FEATURE)
GPU
FEATURES: WHEN LESS IS MORE

Extract Only What's Valuable

User-Agent string as of today is a mess. On the other hand, there is no reliable way to identify user details.

{UAParser.js} filters the noise away & extracts only the most meaningful data: Browser, Engine, OS, CPU, & Device in a well-structured format.

Relatively Small Footprint

{UAParser.js} starts from and is optimized to be used within browser. While it covers a vast range of detection, the size always kept to be as light as possible.

For extra cache performance, {UAParser.js} also available in popular CDN services: jsDelivr / CDNJS

Zero-deps Vanilla JS

No dependencies. No bloated framework. No transpiler needed. No unnecessary boilerplate. No large-sized files required.

Just a good ol' ES3-compatible syntax that is able to run on relatively old browsers while also performs on most modern devices.

100% Free & Open Source

Licensed under open-source terms, {UAParser.js} is free to use & modify at no charge. PRO licenses also available for non-open-source purpose.

Contribute back in form of a PR, or donate if you find it helpful for your business.

Best Developer Experience

For jQuery user, {UAParser.js} automatically detects and generates a plugin as $.ua

Also, for TypeScript user, there is a community-maintained types: @types/ua-parser-js

Client-side & Server-side

Whether it's a client-side webpage running in a browser, or a server-side node.js app, simply type:

$ npm i ua-parser-js
TESTIMONIALS : LOVED BY DEVELOPERS
Great Utility!
5/5

"A great utility library to have when you're investigating what kind of users are visiting your website and how you can improve their UX. Supports most browsers out there."

Gabrijel Golubić - Frontend Web Developer

Totally Rocks!

"I've been using your library for a long time and it totally rocks!".

Christian Rich - Web Developer

Very Useful!

"Thank you for putting out this very useful library!".

Anuj Nijhawan - Web Developer

SHOWCASES : TRUSTED BY TOP COMPANIES WORLDWIDE
DOWNLOADS : CHOOSE YOUR PACKAGE

Package Options
Comparison between our regular open-source & PRO licenses

Open-Source Editions Commercial Editions
License MIT AGPL PRO Personal PRO Business PRO Enterprise
Browser detection
CPU detection
Device detection
Engine detection
OS detection
Enhanced detection
Client Hints support
Extras (Apps, Bots, Libs, Emails, Media Players, etc)
CommonJS support
ES modules support
TypeScript declarations available
Public npm module available
Direct downloads available
Allowed for commercial use
Permissive license
Unlimited use per 1 license
1-year limited support
Lifetime updates
Price FREE FREE $12 $25 $500
GET THE PACKAGE
CONTRIBUTORS : SUPPORTED BY THE AMAZING OPEN-SOURCE COMMUNITIES

Contributors
Those who collaborate and continuosly improve this library to be awesome

Backers & Sponsors
Those who give back and get the value from using this library

Contribute to UAParser.js
It's free to use, but feel free to contribute if you find it helpful

ONE-TIME SPONSOR MONTHLY SPONSOR GITHUB SPONSOR