本文へスキップ

User-Agent解析

User-Agent Parser

User-Agent文字列をブラウザ・エンジン・OS・端末に分解し、今つないでいる自分のものも並べて見せます。

User-Agentの文字列を、そこで名乗っているブラウザ・エンジン・OS・端末に分解し、その下にRFC 9110のproduct/comment構造も示します。端末のデータベースを引くのではなく文字列を読むので、確かなこと以上に確からしく見せることはありません。

🔒 ブラウザの中だけで動きますuser-agentparsebrowser

User-Agent文字列

端末データベースではなく、文字列の構造を読むものです。Androidのモデルトークンは書かれたまま見せ、商品名に置き換えたりしません。今どきのブラウザーはUAの一部をわざと固定しています。Windows 11もNT 10.0と言い、macOSは10.15.7に留め置かれ、Androidのモデルは「K」と書きます。文字列が実際より控えめに言っていると分かっている場所では、事実のように見せずにそのことをお伝えします。

使い方

  1. 空のままにすれば自分のものを見られます

    何も入れなければ、自分のUser-Agentをパースします。サイトから自分がどう見えているのかを、いちばん早く確かめる方法です。

  2. あるいはログから取ってきたものを貼り付けます

    アクセスログの1行、問い合わせのチケット、解析ツールの書き出しなどです。クローラーも識別して赤く表示するので、トラフィックの中のボットが目につきます。

  3. 注記を読みます

    文字列が実際より控えめに言うと分かっている場所——固定されたOSのバージョン、隠されたAndroidの機種——では、その値を事実として出さずに、そうであることを伝えます。

よくある質問

Windows 11なのにNT 10.0と出るのはなぜですか

ブラウザがそう送っているからです。マイクロソフトはWindows 11でUAのプラットフォームのバージョンを上げなかったので、User-Agentだけでは10と11を区別できません。区別できるのはClient Hints APIだけで、それにも許可が要ります。

Androidの機種名がただの「K」なのはなぜですか

Chromeが意図的に固定しました。macOSが10.15.7に留め置かれているのと同じ理由で、機種のトークンが強力なフィンガープリントの手がかりだったからです。実際の端末を知る必要があるなら、Client Hintsが用意された経路です。

どのブラウザも「Mozilla/5.0」と名乗るのはなぜですか

30年にわたって、サーバーが名前で機能を判別してきたからです。新しいブラウザは、よいほうのページを受け取るために、その前に流行っていたブラウザのふりをし、誰もやめられなくなりました。要約の下にある構造の表示が、その歴史の地層を見せます。

機能の判定にUser-Agentを使ってもいいですか

いけません。あれは主張にすぎず、いくらでも詐称できますし、ところどころ意図的に固定されていますし、まだ出ていないブラウザにはすべて外れます。機能そのものを検査してください。UAは統計とバグ報告にだけ使うのが正しい使い方です。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。