matomo-org/device-detector

The Universal Device Detection library will parse any User Agent and detect the browser, operating system, device used (desktop, tablet, mobile, tv, cars,...

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 56 minutes ago
Added to GitGenius on September 19th, 2026
Created on April 2nd, 2014
Open Issues & Pull Requests: 81 (+0)
GitHub issues: Enabled
Number of forks: 513
Total Stargazers: 3,529 (+0)
Total Subscribers: 92 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 9.8 hours
Mean response time: 48.2 days
90th percentile: 16.3 days
Tracked items: 129

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 5% of issues opened in the past year have never received a reply. 85% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 88% of issues opened in the past year have been closed, leaving a working backlog. Three people close 87% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 26
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 484 days
Stale 30+ days: 24
Stale 90+ days: 19

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (2)
  • not-in-changelog (2)
  • Potential Bug (1)
  • detection improvements (1)

Detailed Description

DeviceDetector is a PHP library that parses User Agents and Browser Client Hints to detect devices, clients, operating systems, brands, and models.

The library solves the problem of identifying device and browser information from User Agent strings, which is essential for analytics, content adaptation, and bot detection. It works by parsing User Agent headers and Client Hints through a comprehensive detection system that can identify device types including desktop, tablet, mobile, TV, cars, and consoles, as well as browsers, operating systems, and specific device brands and models. The library offers both full detection capabilities and the option to use specific parsers in isolation, such as a dedicated bot parser for cases where only bot detection is needed.

DeviceDetector suits projects that require reliable device and browser detection in PHP applications, particularly analytics platforms and services that need to categorize traffic by device type. The library supports integration with external caching systems via PSR-6 and PSR-16 compliant caching solutions, allowing performance optimization for high-traffic applications. It can be installed via Composer or used standalone with the included autoloader, and it requires a YAML parser, with Spyc provided as the default option.

The project maintains active engagement with contributions and pull requests, and ports of the library exist for other programming languages beyond PHP. The codebase is organized around a modular parser architecture that allows developers to use only the detection components they need rather than loading the entire library.