In-app browser user agents

Facebook, Instagram, TikTok, WeChat, LINE, Snapchat and Twitter webviews, plus Electron-based desktop applications.

108 user agents

0 matching user agents ·

User agent string Browser Platform Device Actions

Why in-app browsers matter

A large share of mobile traffic from social platforms never touches the real browser. Tapping a link inside Instagram or TikTok opens an embedded webview — the underlying engine is still WebKit or Chromium, but the environment is materially different, and those differences break things.

In-app browsers commonly lack access to the system browser's cookies, restrict or disable features like clipboard access and file downloads, ignore some PWA install paths, and inject their own JavaScript into the page. Bugs reported as “the checkout doesn't work on mobile” frequently turn out to be in-app browser bugs.

How they identify themselves

Each app appends its own token to an otherwise standard platform string.

AppToken
FacebookFBAN/FBIOS, FB_IAB/FB4A, FBAV/<version>
MessengerFBAN/MessengerForiOS, FB_IAB/Orca-Android
InstagramInstagram <version>
TikTokmusical_ly_<version>, trill_<version>, BytedanceWebview
WeChatMicroMessenger/<version>
LINELine/<version>
SnapchatSnapchat/<version>
X (Twitter)Twitter for iPhone, Twitter for Android
Android WebView; wv) plus Version/4.0

The generic Android signal is wv inside the platform block, paired with Version/4.0. Any app embedding a WebView emits it, including apps with no branded token of their own.

Electron desktop apps

On the desktop the same pattern appears in reverse: Slack, Discord, VS Code, Figma and Spotify are Chromium instances wrapped in Electron, and each appends its own product token plus an Electron/<version> marker. If you are building something that renders inside one of them, the Electron version tells you exactly which Chromium you are targeting.

Frequently asked questions

How do I detect an in-app browser?

Check for the app-specific tokens listed above, plus the generic Android WebView marker wv. Our parser sets an isWebView flag that covers all of them, so you can branch on one boolean rather than maintaining the pattern list yourself.

Why does my site break inside the Instagram browser?

Usually one of three causes: the webview blocks third-party cookies your auth flow depends on, it does not support a specific API such as clipboard or file downloads, or an injected script from the host app conflicts with yours. The standard mitigation is an “Open in browser” prompt for flows that genuinely need a full browser.

Can I force a link to open in the real browser?

Not reliably, and not from the page. Each app controls that behaviour and most deliberately keep users inside their webview. The practical approach is detecting the webview and showing instructions — usually a menu item labelled “Open in Safari” or “Open in Chrome”.

Other categories