#Skip to menu

User agent parsing

useragent is a library written in golang to parse user agent strings.


First install the library with:

go get xojoc.pw/useragent

useragent is simple to use. First parse a string with useragent.Parse and then access the fields of useragent.UserAgent for the required information. Example: * Access fields

see godoc for the complete documentation. # How it works? Lasciate ogne speranza, voi ch’intrate. -Dante Parsing user agent strings is a hell. There is no standard for user agent strings, so useragent must use some heuristics. The site http://www.useragentstring.com/ has been invaluable during development. Some relevant links are also:

for the supported user agents see: * browsers: browser.go * crawlers: crawler.go

If you think useragent doesn’t parse correctly a particular user agent string, just open an issue :).

Why this library?

useragent doesn’t just split the user agent string and look for specific strings like other parsers, but it has specific parser for the most common browsers/crawlers and falls back to a generic parser for everything else. Its main features are:


useragent was written by Alexandru Cojocaru (http://xojoc.pw) and uses blang/semver to parse versions.

Thanks a lot to [@brendanwalters](https://github.com/brendanwalters) (from http://pendo.io) for the contributions.



useragent is released under the GPLv3 or later, see COPYING.

Get the code