What device.type am I using?

{UAParser.js} detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data with relatively small footprint (~17KB minified, ~6KB gzipped) that can be used either in browser (client-side) or node.js (server-side).

Now, detecting browser is as simple as ua.getBrowser()

FROM OUR SPONSORS :
51Degrees

UAParser.js has been upgraded to detect comprehensive device data based on the User-Agent and User-Agent Client Hints.

This package supports all device types including Apple and Android devices and can be used either in a browser (client-side) or Node.js environment (server-side).

Visit ↗ 51Degrees UAParser to get started.

On 6 March, we’ll be hosting a demonstration of the 51Degrees UAParser. Register your place for the webinar ↗ here.

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:

{UAParser.js} reads this as:

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

Extract Only What's Valuable

It's widely known that User-Agent string as of today is a mess. On the other hand, there is no reliable way to identify browser. {UAParser.js} fills this gap by filtering the noise away and extracts only the most relevant data available: Browser, Engine, OS, CPU, and Device.

Relatively Small Footprint

Started from JavaScript approach, {UAParser.js} is optimized to be used with 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).

100% Free & Open Source

Licensed under a permissive MIT license. {UAParser.js} is free to use, free to modify, free of charge. Get as-is, no support or guarantee offered. Use, extend, or replace with your own set of rules. Don't forget to contribute back by submitting a pull request or consider donating if you want.

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 --save

0-dependency Vanilla JS

No framework needed. No transpiler required. Just a good ol' ES3-compatible syntax that is able to run on relatively old browsers while also perform on most modern devices. Just insert the code and you're good to go.

Made by and for Developer

Having large user base, whenever jQuery is present, {UAParser.js} will detect and generate $.ua plugin automatically. Also, for TypeScript user, there is a community-maintained typed: @types/ua-parser-js.

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

TRUSTED BY COMPANIES
SUPPORTED BY THE AMAZING OPEN-SOURCE COMMUNITIES

Backers & Sponsors
Those who give back and generously keep this library alive

Contributors
Those who collaborate and continuosly improve the code to be awesome