bowser

A small, fast browser, platform, and rendering-engine detector for browser and Node environments

Library
npm
v2.14.1
5,747stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
60/100Good
Development Activity44
Maintenance24
Community72
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
67/100Good
Architecture65
Code Quality68
Innovation55
Learning Curve80

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} info
  • Bowser.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-Agent header 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

TypeScript
72%
AGPL 3.0

APITable

Low Code Platforms · Databases

15,526

API-first collaborative spreadsheet-database platform that auto-generates REST APIs and lets teams build internal tools, CRMs, and dashboards without code.

View details
53
Repo Health
77
Technical
60
Dependency
Built with
TypeScript72%
Java22%
Updated 9 months ago
TypeScript
92%
GPL 3.0

Blinko

Knowledge Management · Note Taking

10,880

A self-hosted, AI-powered card note-taking tool that lets you capture fleeting thoughts instantly and retrieve them with natural language search.

View details
83
Repo Health
69
Technical
65
Dependency
Built with
TypeScript92%
Updated 2 weeks ago
TypeScript
95%
AGPL 3.0

Docmost

Productivity · Note Taking · Collaboration

21,411

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.

View details
89
Repo Health
70
Technical
71
Dependency
Built with
TypeScript95%
Updated yesterday
TypeScript
83%
Apache 2.0

Grist

Databases · No Code Platforms

11,469

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.

View details
91
Repo Health
93
Technical
68
Dependency
Built with
TypeScript83%
Python11%
Updated yesterday
TypeScript
79%
LGPL 3.0

Latitude

AI Agents · Monitoring

4,593

Open-source AI agent monitoring that catches what will break next before your users do.

View details
86
Repo Health
88
Technical
67
Dependency
Built with
TypeScript79%
Python11%
Updated today
JavaScript
44%
Other

LimeSurvey

Forms Surveys

3,698

The world's most flexible open-source survey platform with 900+ templates, conditional logic, 80+ languages, and full GDPR compliance for any scale.

View details
86
Repo Health
62
Technical
62
Dependency
Built with
JavaScript44%
PHP34%
CSS12%
Updated today
TypeScript
88%
Apache 2.0

Medplum

Developer Tools · Databases · Authentication

2,614

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.

View details
93
Repo Health
90
Technical
72
Dependency
Built with
TypeScript88%
MDX10%
Updated today
Clojure
54%
Other

Metabase

Analytics

48,828

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.

View details
95
Repo Health
84
Technical
65
Dependency
Built with
Clojure54%
TypeScript40%
Updated today
TypeScript
92%
Other

n8n

Automation · No Code Platforms

201,152

Code when you need it, UI when you don't — the workflow automation platform built for technical teams who refuse to choose.

View details
95
Repo Health
87
Technical
66
Dependency
Built with
TypeScript92%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search