User-Agentパーサー
UA 文字列からブラウザ・エンジン・OS・デバイスを判定
ローカル実行
loading…
このツールについて
ログの行、バグレポート、アナリティクスのエクスポートにある User-Agent 文字列を貼り付けると、デコード結果が得られます。ブラウザーとバージョン、レンダリングエンジン、オペレーティングシステム、デバイスタイプ、CPU アーキテクチャです。パーサーは ua-parser-js — 無数のアナリティクスパイプラインを支えるのと同じライブラリ — で、あなたの文字列をローカルで処理します。
User-Agent 文字列は考古学の発掘現場です — どれもいまだに Mozilla/5.0 を名乗り、Chrome は Safari を名乗り、Safari は KHTML を名乗り、本当の正体は後ろのトークンに隠れています。パーサーは目を凝らすより優れています。「CriOS」が iOS 上の Chrome を意味することも、Edge が「Edg/」の後ろに隠れていることも知っているのです。
進行方向に注意してください。ブラウザーは UA 文字列を凍結・縮小しつつあり(Chromium は代わりに UA Client Hints を提供します)、UA 単体から得られるバージョンの詳細はますます粗くなっています。ログの調査やバグのトリアージには依然として不可欠ですが、機能の判断には機能検出を使ってください。
よくある質問
- なぜすべての User-Agent は Mozilla/5.0 で始まるのですか?
- 1990 年代に始まって終わらなかった互換性の芝居です。サーバーは「Mozilla」を嗅ぎ分けてモダンなページを配信していたため、新しいブラウザーはどれも Mozilla を名乗り、続くブラウザーもそれぞれの先人になりすましました。この接頭辞はいまや意味のない伝統です。
- UA 文字列の OS バージョンは信用できますか?
- 年々信用できなくなっています。macOS は UA バージョンを 10_15_7 で凍結し、Windows 11 は Windows NT 10.0 として報告し、UA を縮小したブラウザーは意図的にバージョンを粗くしています。UA から得た OS バージョンは近似値として扱い、クライアントを制御できる場合は UA Client Hints を使ってください。
- 「like Gecko」や「KHTML, like Gecko」は何を意味しますか?
- さらなるなりすましの層です。WebKit は KHTML の子孫で、Gecko(Firefox のエンジン)を特別扱いするページでも動くようにしたかったため、「like Gecko」を付け加えました。すべての WebKit/Blink ブラウザーは今日までこのフレーズを引き継いでいます。
- 機能検出に UA パースを使うべきですか?
- いいえ — 新しいブラウザーバージョンが出た瞬間にスニッフィングは壊れます。機能そのものを検出してください(if ("clipboard" in navigator))。UA パースはアナリティクス、ログ分析、ユーザーが報告したバグの再現のためのものです — 環境を知ることこそが目的である場面のためのものです。