UAParser 3.1.32

There is a newer version of this package available.
See the version list below for details.
Install-Package UAParser -Version 3.1.32
dotnet add package UAParser --version 3.1.32
<PackageReference Include="UAParser" Version="3.1.32" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add UAParser --version 3.1.32
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: UAParser, 3.1.32"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install UAParser as a Cake Addin
#addin nuget:?package=UAParser&version=3.1.32

// Install UAParser as a Cake Tool
#tool nuget:?package=UAParser&version=3.1.32
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

ua_parser C# Library

This is the CSharp implementation of ua-parser. You can find the latest binaries on NuGet here.

Build status

The implementation uses the shared regex patterns and overrides from regexes.yaml (found in uap-core). The assembly embeds the latest regex patterns (enabled through a git submodule) which are loaded into the default parser. You can create a parser with more updated regex patterns by using the static methods on Parser to pass in specific patterns in yaml format.

Build and Run Tests:

Make sure you pull down the submodules that includes the yaml files (otherwise you won't be able to compile):

git submodule update --init --recursive

You can then build and run the tests by invoking the build.bat script


Update the embedded regexes

To pull the latest regexes into the project:

cd uap-core
git pull origin master


  using UAParser;


  string uaString = "Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3";

  // get a parser with the embedded regex patterns
  var uaParser = Parser.GetDefault();
  // get a parser using externally supplied yaml definitions
  // var uaParser = Parser.FromYaml(yamlString);

  ClientInfo c = uaParser.Parse(uaString);

  Console.WriteLine(c.UserAgent.Family); // => "Mobile Safari"
  Console.WriteLine(c.UserAgent.Major);  // => "5"
  Console.WriteLine(c.UserAgent.Minor);  // => "1"

  Console.WriteLine(c.OS.Family);        // => "iOS"
  Console.WriteLine(c.OS.Major);         // => "5"
  Console.WriteLine(c.OS.Minor);         // => "1"

  Console.WriteLine(c.Device.Family);    // => "iPhone"


NuGet packages (51)

Showing the top 5 NuGet packages that depend on UAParser:

Package Downloads

.Net Core CMS


A common library for implementing CQRS based CrossCutting layer.


Package Description


Useful tools


Package Description

GitHub repositories (15)

Showing the top 5 popular GitHub repositories that depend on UAParser:

Repository Stars
Open Source ASP.NET MVC Enterprise eCommerce Shopping Cart Solution
Exceptionless server and jobs
Free open source office suite with business productivity tools: document and project management, CRM, mail aggregator.
Build real-time apps (Blazor included) with less than 1% of extra code responsible for real-time updates. Host 10-1000x faster APIs relying on transparent and nearly 100% consistent caching. We call it DREAM, or Distributed REActive Memoization, and it's here to turn real-time on!
Version Downloads Last updated
3.1.47 403,357 5/26/2021
3.1.46 399,684 1/30/2021
3.1.44 1,857,101 2/14/2020
3.1.43 515,470 9/26/2019
3.1.42 36,962 9/20/2019
3.1.41 130,611 8/14/2019
3.1.40 3,907 8/13/2019
3.1.39 422 8/13/2019
3.1.38 358,088 5/29/2019
3.1.36 302,637 2/4/2019
3.1.35 91,443 12/15/2018
3.1.34 705 12/14/2018
3.1.32 13,368 12/1/2018
3.0.0 785,167 9/11/2017
2.1.0 782,292 12/9/2015
2.0.0 10,282 12/7/2015
1.2.0 123,945 10/9/2014
1.1.0 12,205 5/25/2014
1.0.2 12,176 1/31/2014
1.0.1 7,471 11/4/2013
1.0.0 17,106 1/4/2013