User-Agent解析(ブラウザ・OS・デバイス判定)
このページを開いているブラウザの navigator.userAgent を自動で表示し、ブラウザ・OS・レンダリングエンジン・デバイス種別に分解します。ログやお問い合わせで受け取ったUser-Agent文字列を貼り付けて判定することもできます。ブラウザ内で処理され、UAがサーバーに送信されることはありません。画面サイズやDPRは スクリーンサイズ・Viewportチェッカー、HTTPヘッダー全体の確認は HTTPヘッダー解析 をご利用ください。
🔒 ブラウザ内で完結・入力データはサーバーに送信されません
あなたのブラウザの情報
| ブラウザ | |
|---|---|
| レンダリングエンジン | |
| OS | |
| デバイス種別 | |
| 機種名 |
Client Hints(userAgentData)
このブラウザは navigator.userAgentData に対応していないため、Client Hintsの情報は表示できません(FirefoxやSafariなど)。
| ブランドとバージョン | |
|---|---|
| プラットフォーム | |
| アーキテクチャ | |
| 機種名 | |
| モバイル端末 |
User-Agent文字列を解析する
User-Agent文字列を入力すると、ここに判定結果が表示されます。
注意事項
- User-Agentは自己申告の文字列で、偽装や変更が可能です。判定は正規表現による推定であり、セキュリティ判断やアクセス制御の根拠にはしないでください。
- Chromeなど一部ブラウザはUser-Agentの情報を縮小しており、Windows 10とWindows 11は区別できず(どちらも「Windows NT 10.0」)、macOSは常に「10_15_7」、Androidの機種名は「K」になることがあります。
- iPadのSafariは既定で「Macintosh」を名乗るため、貼り付けた文字列だけではMacと区別できません。このブラウザの自動表示では、タッチ点の数も参考にiPadOSを判定しています。
- Brave、Arc、各種アプリ内ブラウザなど、UA上は別のブラウザ(主にChrome)に見えるものは正確に判別できません。判定対象外のものは「不明」と表示します。
用語解説
User-Agent
ブラウザがHTTPリクエストの`User-Agent`ヘッダーやJavaScriptの`navigator.userAgent`で送る、ブラウザ・OS・端末を示す文字列です。互換性のため先頭が`Mozilla/5.0`で始まるなど、歴史的な経緯で複雑な形式になっています。
Client Hints(userAgentData)
User-Agent文字列の縮小に伴って導入された、より構造化された端末情報の取得方法です。`navigator.userAgentData`で基本情報を、`getHighEntropyValues()`でOSバージョンやアーキテクチャなどの詳細値を取得できます。主にChrome系ブラウザが対応しています。
レンダリングエンジン
HTMLやCSSを解釈して画面に描画するブラウザの中核部分です。Chrome・Edge・Operaは Blink、Firefoxは Gecko、Safariは WebKit を使います。iOSでは、どのブラウザでもWebKitが使われます。
よくある質問
Windows 10とWindows 11を区別できないのはなぜですか?
User-Agent文字列ではどちらも「Windows NT 10.0」と表示されるためです。区別するにはClient Hints(userAgentData)のplatformVersionが必要で、このブラウザの情報欄では対応ブラウザに限り「Windows 11」などと表示します。
iPadがMacと判定されることがあるのはなぜですか?
iPadOS 13以降のSafariは、既定でMacと同じ「Macintosh」を名乗るためです。貼り付けたUA文字列だけでは区別できません。このブラウザの自動表示では、タッチ操作の対応数も参考にiPadOSと判定しています。
BraveやArcが「Chrome」と表示されます。
これらのブラウザは、User-Agent上はChromeとほぼ同一の文字列を送るため、UAからは区別できません。判定は文字列に含まれるトークンに基づく推定です。
Client Hintsが表示されないのはなぜですか?
navigator.userAgentDataに対応しているのは主にChrome・Edgeなどのブラウザで、FirefoxやSafariでは利用できません。また、HTTPS以外のページでは高エントロピー値を取得できない場合があります。
このページをシェア
