Puffin Browser's new User Agent format

Posted on 10 June 2013

I take a lot of care and a lot of pride in making the user agent parsing on WhatIsMyBrowser.com the most accurate and extensive on the internet.

Occasionally when I encounter a fragment that I'm not 100% sure about, I'll contact the manufacturer to ensure that I'm parsing their user agent properly.

Most companies that I've contacted are pretty cool and get back to me with helpful information, and just recently the makers of the Puffin Web Browser were no exception.

I emailed their support with a question about their "X11" and "Linux" fragments, because as far as I could tell from their website they only made Puffin for Android and iOS devices. My assumption was that since Android uses the Linux kernel, user agents which had those fragments should be considered to be running Android (i.e. to not actually report the Operating System as being "Linux" even though the "Linux" fragment typically would cause this to happen).

Not only did Puffin get back to me, but because of my question they actually made a straightforward but vastly helpful change to the way they format their User Agent. Since it was prompted by my question and since they've given me insight into this change, I wanted to share it with anyone else.

It remains the same that the fragment to look for is "Puffin/3.9174IT".

The first part: Of course the "Puffin" obviously indicates that it is the Puffin browser.

Secondly, the following 3.9174 is the Major and Minor version numbers

Thirdly, the change that they made is to add the "IT". This can be one of four possibilities.

  • IP means iOS-Phone
  • IT means iOS-Tablet
  • AP means Android-Phone
  • AT means Android-Tablet.

The developers also advised me that when they release the Windows version of Puffin, they will also have:

  • WP means Windows-Phone
  • WT means Windows-Tablet

So in that example fragment, you can now tell that the "IT" denotes iOS Tablet (in other words iPad).

So you may see something like (the relevant parts are underlined):

iOS Phone:

Mozilla/5.0 (iPod; U; CPU iPhone OS 6_1 like Mac OS X; en-HK) AppleWebKit/534.35 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.35 Puffin/3.9174IP Mobile

iOS Tablet (iPad):

Mozilla/5.0 (X11; U; Linux x86_64; en-AU) AppleWebKit/534.35 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.35 Puffin/3.9174IT

Android Phone:

Mozilla/5.0 (X11; U; Linux x86_64; en-gb) AppleWebKit/534.35 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.35 Puffin/2.9174AP

Android Tablet:

Mozilla/5.0 (X11; U; Linux x86_64; en-us) AppleWebKit/534.35 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.35 Puffin/2.9174AT

The existing detection needs to remain though; as there are still older versions of Puffin running on people's devices. So you also need to check for the version fragment with the single "M" that has been appearing (which denotes Mobile).

Mozilla/5.0 (X11; U; Linux i686; en-gb) AppleWebKit/534.35 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.35 Puffin/2.0.5603M

Some versions of Puffin also don't have any trailing letter either:

Mozilla/5.0 (X11; U; Linux i686; en-CA) AppleWebKit/534.35 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.35 Puffin/2.0.5603

I have updated WhatIsMyBrowser.com's detection to include these possibilities, hopefully this information will help others as well.

If you're interested in using the same powerful User Agent parsing that WhatIsMyBrowser.com provides, check out our API

And a big thanks to Puffin for their helpful reply and for making a small but helpful change to their browser.

Back to the Blog index

Get a VPN to help stay safe online