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

User agent parser

Ranking updated Aug 7, 2026

For user agent parsers, the strongest matches are jenssegers/agent (This repository provides a dedicated PHP library for parsing), faisalman/ua-parser-js (This is a JavaScript-based user-agent parsing library that extracts) and hgoebl/mobile-detect.js (This JavaScript library parses user agent strings to identify). bowser-js/bowser and selwin/python-user-agents round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Hand-picked open-source user agent parsers ranked by GitHub stars and activity, with features compared to help you find the right fit.

User agent parser

Find the best repos with AI.We'll search the best matching repositories with AI.
  • jenssegers/agentjenssegers avatar

    jenssegers/agent

    4,813View on GitHub↗

    This project is a PHP user agent parser and mobile device detector. It analyzes HTTP user agent strings to identify the visitor's web browser, operating system, and device type. The library provides a dedicated integration for the Laravel web framework. It distinguishes between mobile phones, tablets, and desktop computers while identifying web robots and the specific names of search engine crawlers. The tool's capabilities include extracting preferred languages from request headers and verifying specific user agent properties. It uses regular expression pattern matching and static data mapp

    This repository provides a dedicated PHP library for parsing user agent strings to extract browser, operating system, and device type information with regular expression pattern matching, though it lacks built-in high-performance caching out of the box.

    PHPBrowser and OS IdentificationCrawler DetectionDevice Type Detection
    View on GitHub↗4,813
  • 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

    This is a JavaScript-based user-agent parsing library that extracts browser, operating system, device type, and bot information from raw strings and client hints, directly matching the requested features.

    JavaScriptBot DetectionBot Detection Systems
    View on GitHub↗10,140
  • 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

    This JavaScript library parses user agent strings to identify browsers, operating systems, and device types, directly fitting the core requirements though lacking dedicated bot detection.

    JavaScriptBrowser and OS IdentificationDevice Type DetectionBrowser Environment Detection
    View on GitHub↗4,137
  • bowser-js/bowserbowser-js avatar

    bowser-js/bowser

    5,739View on GitHub↗

    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 ope

    Bowser is a JavaScript user-agent parsing library that identifies browsers, operating systems, and rendering engines with client hint support, though it lacks dedicated bot and crawler detection features.

    JavaScriptUser Agent ParsersBrowser Name ResolutionsBrowser Environment Detection
    View on GitHub↗5,739
  • selwin/python-user-agentsselwin avatar

    selwin/python-user-agents

    1,516View on GitHub↗

    A Python library that provides an easy way to identify devices like mobile phones, tablets and their capabilities by parsing (browser) user agent strings.

    This Python library parses user agent strings to identify browsers, operating systems, and device types, making it a fitting tool for this specific category despite lacking explicit bot detection features.

    PythonDocument ParsersText Processing
    View on GitHub↗1,516
  • tobie/ua-parsertobie avatar

    tobie/ua-parser

    1,968View on GitHub↗

    A multi-language port of Browserscope's user agent parser.

    This multi-language port of the Browserscope parser extracts browser, operating system, and device data using regular expression rules, making it a solid library choice for user-agent parsing despite missing a few advanced features.

    PerlWeb Development Libraries
    View on GitHub↗1,968
  • rust-lang/regexrust-lang avatar

    rust-lang/regex

    3,978View on GitHub↗

    This is a Rust regular expression library that provides a finite automata engine for searching and matching text patterns. It functions as a Unicode-compliant text scanner designed to guarantee linear time execution on all inputs to prevent catastrophic backtracking. The engine supports both single and multi-pattern search capabilities, allowing it to scan a piece of text for multiple regular expressions simultaneously. It operates on both strings and raw byte slices to identify matching text segments. The library covers text parsing, string validation, and pattern searching. It includes cap

    This is a foundational regular expression library in Rust, which can be used to build text-matching tools like a User-Agent parser, but it is not a pre-built parser itself.

    RustFinite Automata Regex EnginesRegular Expression Engines
    View on GitHub↗3,978
  • fake-useragent/fake-useragentfake-useragent avatar

    fake-useragent/fake-useragent

    4,058View on GitHub↗

    fake-useragent is a tool for generating realistic browser identification strings and parsing existing agents into structured metadata. It functions as an HTTP user agent generator and a web scraping utility designed to rotate browser identities to mimic different devices during automated data collection. The project provides capabilities for random user-agent generation and filtering based on specific browsers, operating systems, device platforms, or minimum version numbers. It also includes a user agent parser to extract detailed metadata, such as browser versions and device brands, from age

    It provides user-agent parsing utilities alongside its primary focus on generating and rotating fake user-agent strings for web scraping, making it a tangential fit rather than a dedicated parsing engine.

    PythonUser Agent Parsers
    View on GitHub↗4,058
  • verbalexpressions/jsverbalexpressionsVerbalExpressions avatar

    VerbalExpressions/JSVerbalExpressions

    12,149View on GitHub↗

    JSVerbalExpressions is a JavaScript regex builder and construction library that provides a domain-specific language for assembling complex regular expressions. It replaces the use of dense string literals with a programmatic interface and readable method chains. The library allows for the creation of search patterns and validation rules through a fluent API. This approach enables the development of regular expressions that are maintainable and easy for other developers to understand.

    This repository is a regular expression builder library rather than a user-agent parser, making it a low-level tool you could theoretically use to build one rather than the pre-built service requested.

    JavaScriptRegular Expressions
    View on GitHub↗12,149
  • 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

    Current-device is a client-side JavaScript environment detector focused on CSS styling and conditional DOM classes rather than a dedicated, high-performance User-Agent parsing library for server-side or deep metadata extraction.

    TypeScriptUser Agent Parsers
    View on GitHub↗3,934
  • fingerprintjs/fingerprintjsfingerprintjs avatar

    fingerprintjs/fingerprintjs

    27,334View on GitHub↗

    Fingerprint is a visitor identification and fraud detection platform that generates persistent, unique identifiers by analyzing browser and device attributes. By extracting technical signals from the client environment, it enables reliable user tracking across sessions without relying on traditional cookies. The platform distinguishes itself through its focus on high-accuracy identification and security-first architecture. It employs edge-side proxying to bypass ad-blockers and privacy restrictions, ensuring consistent data collection. To maintain data integrity, it uses cryptographic payload

    Fingerprintjs is a device fingerprinting and identification platform rather than a dedicated User-Agent string parser, making it a neighbouring security tool rather than the exact library requested.

    TypeScriptBot DetectionBot Detection Systems
    View on GitHub↗27,334
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
jenssegers/agent4.8KPHPMITAug 5, 2024
faisalman/ua-parser-js10.1KJavaScriptAGPL-3.0Jun 13, 2026
hgoebl/mobile-detect.js4.1KJavaScriptMITMar 13, 2021
bowser-js/bowser5.7KJavaScriptNOASSERTIONMay 27, 2026
selwin/python-user-agents1.5KPythonMITFeb 16, 2023
tobie/ua-parser2KPerlNOASSERTIONDec 26, 2016
rust-lang/regex4KRustApache-2.0Jun 22, 2026
fake-useragent/fake-useragent4.1KPythonApache-2.0Mar 29, 2026
verbalexpressions/jsverbalexpressions12.1KJavaScriptMITAug 7, 2024
matthewhudson/current-device3.9KTypeScriptMITJun 8, 2026

Related searches

  • an autonomous agent for browser automation
  • a library for parsing unstructured data
  • Web crawler
  • Browser automation libraries
  • JSON parser library
  • File format detection
  • a library for browser automation and scraping
  • a library for browser automation and scraping