awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
bowser-js avatar

bowser-js/bowser

0
View on GitHub↗
5,739 stars·485 forks·JavaScript·19 viewsbowser-js.github.io/bowser↗

Bowser

Bowser is a browser detection library that parses user-agent strings to identify a browser's name, version, rendering engine, and operating system. It functions as a user-agent parser and version constraint checker, extracting structured browser and platform details from raw user-agent strings without external dependencies.

The library distinguishes itself by integrating User-Agent Client Hints alongside traditional user-agent data for more accurate browser identification in modern environments. It provides cross-platform browser detection that works consistently across desktop and mobile operating systems, and includes version constraint evaluation to test whether a detected browser satisfies version requirements defined per platform or browser name.

Bowser covers browser engine classification, operating system detection, and platform identification, enabling environment-aware logic for compatibility checks or analytics. The library is available for both client-side and server-side use.

Features

  • User Agent Detection Libraries - Parses user-agent strings to identify browser name, version, engine, and operating system for client-side or server-side use.
  • Cross-Platform Browser Detectors - Identifies browser properties consistently across desktop and mobile operating systems from a single library.
  • Browser Name Resolutions - Provides a dictionary-based mapping from user-agent patterns to canonical browser names.
  • Operating System Detection - Identifies operating system name, version, and version name from the user-agent string.
  • Browser Engine Classifications - Classifies the browser's rendering engine (e.g., WebKit, Gecko) from user-agent data.
  • Browser Environment Detection - Identifies browser name, version, and rendering engine by parsing the user-agent string.
  • Browser Engine Classifications - Reports the rendering engine (e.g., WebKit, Gecko) used by the browser.
  • Client Hint Parsing - Parses User-Agent Client Hints alongside traditional user-agent data for more accurate browser identification.
  • Device and OS Detectors - Identifies operating system and device platform by scanning user-agent tokens for known patterns.
  • User Agent Parsers - Extracts structured browser and platform details from raw user-agent strings without external dependencies.
  • Version String Extractions - Isolates version numbers from user-agent substrings using regular expressions and numeric parsing.
  • Browser Version Constraint Checkers - Tests whether a detected browser satisfies version requirements defined per platform or browser name.
  • Browser Version Constraint Evaluations - Evaluates whether a detected browser version satisfies semantic version constraints per platform or browser name.
  • Browser Version Constraint Filters - Checks whether a browser satisfies version requirements defined per platform, OS, or browser name.
  • Browser Version Constraint Filters - Filters browsers by checking if they satisfy version constraints defined per platform, OS, or browser name.
  • Client Hint Integration - Integrates HTTP Client Hint headers alongside user-agent data for more accurate browser identification.

Star history

Star history chart for bowser-js/bowserStar history chart for bowser-js/bowser

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Bowser

These projects share indexed features with Bowser. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • hgoebl/mobile-detect.jshgoebl avatar

    hgoebl/mobile-detect.js

    4,137View on GitHub↗

    mobile-detect.js is a JavaScript library for user agent detection. It analyzes browser request headers to identify hardware types, operating systems, and browser versions. The library includes a client hardware profiler that assigns performance and capability grades to mobile devices based on their characteristics. It also provides tools to apply specific CSS classes to the document body based on detected hardware to enable responsive styling. The project covers broad analysis capabilities, including the detection of mobile phones, tablets, and desktop computers. It extracts operating system

    JavaScript
    View on GitHub↗4,137
  • faisalman/ua-parser-jsfaisalman avatar

    faisalman/ua-parser-js

    10,140View on GitHub↗

    ua-parser-js is a JavaScript library used to extract browser, operating system, and device information from raw user agent strings and client hints. It functions as a cross-platform tool that runs in both web browsers and Node.js server environments to identify web visitors. The library integrates modern HTTP client hint headers to retrieve hardware and browser details with higher accuracy than standard string parsing. It also includes a specialized detector to identify automated AI agents, web crawlers, and bots to distinguish human traffic from automated scripts. The project covers hardwar

    JavaScriptanalyticsbot-detectionbrowser-detection
    View on GitHub↗10,140
  • matthewhudson/current-devicematthewhudson avatar

    matthewhudson/current-device

    3,934View on GitHub↗

    current-device is a JavaScript device detection library used to identify operating systems, device categories, and screen orientations within a web browser environment. It serves as a browser environment detector and client-side mapper that translates browser metadata and user-agent strings into predefined device labels and hardware categories. The library provides tools for executing specific JavaScript logic based on the detected mobile or desktop platform. It also functions as a conditional styling tool and document body class injector, applying descriptive HTML classes to enable device-sp

    TypeScriptdevice-detectionjavascriptmobile
    View on GitHub↗3,934
  • arasatasaygin/is.jsarasatasaygin avatar

    arasatasaygin/is.js

    9,078View on GitHub↗

    is.js is a JavaScript validation library and data type checker. It provides a suite of utilities to verify whether variables are primitives, arrays, functions, or specific object types. The project allows for the implementation of custom validation logic and the use of naming namespaces to override default rules and regular expressions. It covers a broad range of validation capabilities, including numeric arithmetic properties, date and time analysis for relative and absolute ranges, and string format verification for patterns such as emails, URLs, and IP addresses. The library also includes

    JavaScript
    View on GitHub↗9,078
Compare all 19 related projects→

Frequently asked questions

What does bowser-js/bowser do?

Bowser is a browser detection library that parses user-agent strings to identify a browser's name, version, rendering engine, and operating system. It functions as a user-agent parser and version constraint checker, extracting structured browser and platform details from raw user-agent strings without external dependencies.

What are the main features of bowser-js/bowser?

The main features of bowser-js/bowser are: User Agent Detection Libraries, Cross-Platform Browser Detectors, Browser Name Resolutions, Operating System Detection, Browser Engine Classifications, Browser Environment Detection, Client Hint Parsing, Device and OS Detectors.

Which projects share features with bowser-js/bowser?

Projects with overlapping indexed features include: hgoebl/mobile-detect.js — mobile-detect.js is a JavaScript library for user agent detection. It analyzes browser request headers to identify… faisalman/ua-parser-js — ua-parser-js is a JavaScript library used to extract browser, operating system, and device information from raw user… matthewhudson/current-device — current-device is a JavaScript device detection library used to identify operating systems, device categories, and… arasatasaygin/is.js — is.js is a JavaScript validation library and data type checker. It provides a suite of utilities to verify whether… layui/layer — This project is a JavaScript UI component library and frontend utility toolkit. It serves as a web modal framework and… jenssegers/agent — This project is a PHP user agent parser and mobile device detector. It analyzes HTTP user agent strings to identify…