A lightweight, zero-dependency User-Agent parsing library for Node.js with built-in bot, AI, and crawler detection.
Triva UA-Parser is designed as a pragmatic alternative to heavy UA parsers. It focuses on:
- ⚡ Fast, synchronous parsing
- 🧠 Explicit bot / AI / crawler detection
- 🔍 Clear, auditable logic (no massive hidden regex tables)
- 📦 Zero dependencies
Ideal for analytics, middleware, dashboards, admin panels, and security tooling.
npm install @trivajs/ua-parserimport{parseUA}from'@trivajs/ua-parser';constresult=parseUA("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36");console.log(result);import{parseUA}from'@trivajs/ua-parser'app.get("/",(req,res)=>{constparsed=parseUA(req.headers);res.json(parsed);});import{parseUA}from'@trivajs/ua-parser'module.exports=functionuparsejsMiddleware(req,res,next){req.ua=parseUA(req.headers);next();};Usage:
constexpress=require("express");constuparsejsMiddleware=require("./uparsejs-middleware");constapp=express();app.use(uparsejsMiddleware);app.get("/",(req,res)=>{res.json(req.ua);});import{parseUA}from'@trivajs/ua-parser'asyncfunctionuparsePlugin(fastify){fastify.addHook("onRequest",async(req)=>{req.ua=parseUA(req.headers);});}module.exports=uparsePlugin;{
"browser": { "name": "Chrome", "version": "143.0.0.0", "major": "143" },
"engine": { "name": "Blink" },
"os": { "name": "Windows", "version": "10.0" },
"device": { "type": "desktop" },
"cpu": { "architecture": "amd64" },
"bot": { "isBot": false, "isAI": false }
}MIT License