bowser
A small, fast browser, platform, and rendering-engine detector for browser and Node environments
Repository Health
Technical Analysis
Bowser parses a user-agent string and returns structured information about the browser, its rendering engine, the operating system, and the device platform — all without touching the DOM, so it works identically in the browser and in Node.js. It’s built around composable parsers (browser, engine, OS, platform) so consumers can pull in only the detection logic they actually need.
What You Get
Bowser.parse(userAgentString)returning structured{browser, os, platform, engine}infoBowser.getParser(ua)for an instance-based API with helpers like.satisfies()for version-range checks against a support matrix- Separate, composable parser modules for browsers, rendering engines, operating systems, and platform types
- Works identically in browser and Node.js since it operates purely on a user-agent string, with no DOM dependency
- Bundled TypeScript type declarations (
index.d.ts)
Common Use Cases
- Showing browser-specific upgrade prompts or compatibility warnings based on parsed browser name and version
- Gating a feature or applying a workaround only for specific browser/engine combinations (e.g. Safari-only CSS bugs)
- Server-side analytics or logging pipelines parsing the
User-Agentheader from incoming requests in Node.js - Using
.satisfies()to declare a minimum supported browser version matrix and warn users below it
Under The Hood
Architecture The library is organized as a pipeline of independent parser modules — parser-browsers.js (1,231 lines of browser-detection rules), parser-engines.js, parser-os.js, and parser-platforms.js — each holding a table of regex-based detection rules, orchestrated by the top-level parser.js which runs a user-agent string through all four and assembles the combined result; bowser.js exposes the public static/instance API on top of that. Tech Stack Plain JavaScript (ES5-compatible output plus a modern src/) bundled via Webpack, published with hand-written TypeScript declarations; the library has no runtime dependencies, keeping its ~4.8kB gzipped footprint. Code Quality Tests are split into test/unit (parser-level unit tests) and test/acceptance (broader end-to-end UA-string fixtures), giving reasonable coverage of the detection tables, though as a regex/rule-table-driven library the main quality risk is keeping pace with new browser UA string formats rather than logic bugs. API Design Two API styles are offered side by side: the static one-shot Bowser.parse(ua) for a quick structured read, and Bowser.getParser(ua) for a reusable instance exposing convenience methods like .satisfies() for declarative version-range support checks — this covers both quick one-off checks and more elaborate browser-support-matrix logic without extra boilerplate.
Used by 11 apps in this directory
APITable
Low Code Platforms · Databases
API-first collaborative spreadsheet-database platform that auto-generates REST APIs and lets teams build internal tools, CRMs, and dashboards without code.
Blinko
Knowledge Management · Note Taking
A self-hosted, AI-powered card note-taking tool that lets you capture fleeting thoughts instantly and retrieve them with natural language search.
Docmost
Productivity · Note Taking · Collaboration
Self-hosted collaborative wiki and knowledge base with real-time editing, diagrams, AI assistance, and enterprise access controls — a modern alternative to Confluence and Notion.
Grist
Databases · No Code Platforms
A modern relational spreadsheet that combines Python-powered formulas, drag-and-drop dashboards, and granular access controls in a self-hostable, SQLite-backed data platform.
Latitude
AI Agents · Monitoring
Open-source AI agent monitoring that catches what will break next before your users do.
LimeSurvey
Forms Surveys
The world's most flexible open-source survey platform with 900+ templates, conditional logic, 80+ languages, and full GDPR compliance for any scale.
Medplum
Developer Tools · Databases · Authentication
An open-source, FHIR-native healthcare platform that gives developers a compliant backend, authentication, a React component library, and serverless bots to build clinical applications in weeks instead of years.
Metabase
Analytics
The open-source BI platform that lets anyone ask questions and build dashboards without writing SQL — with an embedded analytics SDK and AI-powered query assistant included.
n8n
Automation · No Code Platforms
Code when you need it, UI when you don't — the workflow automation platform built for technical teams who refuse to choose.