ユーザーエージェント解析 — 自分のユーザーエージェントは?ブラウザ、OS、デバイス
自分のユーザーエージェントとクライアントヒントを確認したり、任意の UA 文字列をブラウザ、エンジン、OS、デバイス、CPU に分解したりできます。CSV 対応の一括モード付き。
不具合や改善できそうな点を見つけましたか?いただいたメッセージはすべて読み、すぐに対応します。
このユーザーエージェント解析ツールは、ブラウザが送信しているユーザーエージェント文字列を表示し、ブラウザ、レンダリングエンジン、OS、デバイスの種類、メーカー、モデル、CPU アーキテクチャに分解します。サーバーのログやバグ報告にある別の UA 文字列を貼り付ければ同じように解析でき、一括モードに切り替えれば何千行もまとめて解析して CSV に書き出せます。Googlebot、Bingbot、GPTBot、ClaudeBot などの既知のクローラー、リンクプレビューの取得ボット、curl のような HTTP クライアントは判別して表示します。
ユーザーエージェント文字列から得られる情報は、以前より少なくなっています。Chrome は現在、バージョンを固定した(129.0.0.0)簡略化された UA を送り、Android ではデバイスのモデルを偽の「K」にしています。Mac のブラウザはすべて macOS 10.15.7 と報告し、Windows 11 は Windows 10 と名乗ります。ブラウザが User-Agent Client Hints に対応していれば、ツールはそこからわかる情報も、画面、ビューポート、言語、タイムゾーンとともに表示します。解析にはオープンソースの ua-parser-js ライブラリを使い、端末上で実行されます。何も記録されません。
使い方
- ページを開きます。自分のユーザーエージェントがすぐに入力・解析され、右側にクライアントヒントとブラウザの詳細が表示されます。
- 別のユーザーエージェントを解析するには、ボックスに貼り付けるか、例(iPhone、Android、Googlebot など)のいずれかをクリックします。
- 結果の下の注記を読みます。macOS のバージョンの固定や Chrome の簡略化された文字列など、項目が信用できない場合を説明しています。
- ログを解析するには「一括解析」を選び、1 行に 1 つのユーザーエージェントを貼り付けて、表を CSV でダウンロードします。
よくある質問
ユーザーエージェント文字列とは何ですか?
ブラウザなどのクライアントがリクエストのたびに送信する User-Agent HTTP ヘッダーの値で、リクエストを行っているソフトウェアを表します。サイトはこれをアクセス解析、ボットの検出、そして賢明とは言えませんが、ブラウザごとに異なるコンテンツを配信するために使います。歴史的な互換性の理由から、ほぼすべてのブラウザの文字列は今も「Mozilla/5.0」で始まっており、これがわかりにくさの原因です。
Mac で macOS 10.15.7 と表示されるのはなぜですか?
Safari、Chrome、Edge、Firefox はいずれも、実際に使っているバージョンにかかわらず、ユーザーエージェントの macOS のバージョンを 10.15.7(Catalina)に固定しています。プライバシーのため、そしてバージョン番号が 11 になったときに一部のサイトが動かなくなったためです。本当のバージョンは UA 文字列には含まれず、Chromium 系のブラウザではサイトが Sec-CH-UA-Platform-Version クライアントヒントで要求できます。
Windows 10 と Windows 11 を見分けるには?
ユーザーエージェントでは見分けられません。どちらも「Windows NT 10.0」を送るからです。Chrome と Edge では、プラットフォームのバージョンのクライアントヒント(navigator.userAgentData.getHighEntropyValues または Sec-CH-UA-Platform-Version ヘッダー)が、Windows 11 では 13 以上、Windows 10 では 10 以下を返します。Firefox と Safari はクライアントヒントに対応していないため、これらのブラウザでは確実な方法はありません。
User-Agent Client Hints とは何ですか?
Chromium 系のブラウザ(Chrome、Edge、Opera、Samsung Internet)で、ユーザーエージェント文字列に代わる仕組みです。ブラウザのブランド、メジャーバージョン、プラットフォーム、モバイル端末かどうかといった低エントロピーのヒントは既定で送信されます。正確な OS のバージョン、デバイスのモデル、ブラウザの完全なバージョンといった高エントロピーのヒントは、サイトが要求したときにしか送信されないため、受動的なフィンガープリンティングが難しくなります。
ボットの検出にユーザーエージェントを信用してよいですか?
最初のふるい分けとしてだけです。どのクライアントもどんなユーザーエージェントでも送れますし、スクレイパーは日常的に Chrome や Googlebot になりすましています。リクエストが本当に Googlebot や Bingbot からのものかを確認するには、IP の逆引き DNS を行って googlebot.com、google.com、search.msn.com に解決されることを確認し、さらに正引きで同じ IP に戻ることを確かめます。OpenAI など、クローラーの IP 範囲を公開している運営元もあります。
このツールは自分のユーザーエージェントをどこかに送信しますか?
いいえ。ページはブラウザからユーザーエージェントを読み取り、JavaScript でローカルに解析します。もちろん、訪れるすべての Web サイトはリクエストヘッダーでいずれにせよユーザーエージェントを受け取っています。このツールは、それらのサイトに何が見えているかを示すだけです。
ユーザーエージェント文字列の読み方
Windows の Chrome の典型的な文字列を例にとります:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36。
• Mozilla/5.0 は、現代のすべてのブラウザが送る互換性のためのトークンで、今では何の意味もありません。
• (Windows NT 10.0; Win64; x64) はプラットフォームで、Windows 10 または 11 の 64 ビット版です。
• AppleWebKit/537.36 (KHTML, like Gecko) も互換性のためのトークンです。Chrome のエンジンは実際には Blink です。
• Chrome/129.0.0.0 が本当のブラウザとそのメジャーバージョンです。マイナーバージョン部分は Chrome の UA 簡略化によってゼロになっています。
• Safari/537.36 は、Safari かどうかを判定するサイトに Chrome を WebKit 互換として扱わせるためのものです。Edge は Edg/、Opera は OPR/、Samsung Internet は SamsungBrowser/ を同じ基本の文字列に追加するため、パーサーはまずこれらのトークンをチェックします。
ユーザーエージェントの判定より機能の検出を
ブラウザごとに異なるコードを配信したくてこれを読んでいるなら、代わりにその機能があるかをテストしましょう。CSS の @supports、「'serviceWorker' in navigator」、ライブラリの機能チェックなどです。ユーザーエージェントは偽装され、固定され、簡略化されており、今日の文字列に合わせて書いた判定は、ブラウザがバージョンの形式を変えると壊れます。UA の解析は、たまに推測を誤っても害のないアクセス解析、デバッグ用のレポート、ボットのふるい分けにとどめましょう。
よくあるクローラーとボットのユーザーエージェント
• Googlebot:「Googlebot/2.1」を含みます。Google-Extended は AI 学習での利用を制御する robots.txt のトークンで、別のクローラーの文字列ではありません。
• Bingbot:「bingbot/2.0」を含みます。
• GPTBot、OAI-SearchBot、ChatGPT-User(OpenAI)、ClaudeBot、Claude-User(Anthropic)、PerplexityBot:AI のクローラーとユーザー操作による取得ボットで、いずれも運営元が文書化しており、robots.txt で制御できます。
• facebookexternalhit、Twitterbot、LinkedInBot、Slackbot、Discordbot:誰かが URL を共有したときに、リンクプレビューを作るためにページを取得します。
• curl/、Wget/、python-requests/、Go-http-client/、okhttp/:スクリプトやバックエンドのサービス。悪意があるとは限りませんが、ブラウザを使う人ではありません。
関連する無料ツール
- HTTP ステータスコード — 100 から 511 までのすべての公式 HTTP ステータスコードと、nginx・Cloudflare・AWS のコードを、それぞれの使いどころとともに掲載。
- 正規表現テスター — サンプルテキストに対して正規表現をテストし、マッチのハイライト、キャプチャグループ、置換のプレビューをリアルタイムで確認。無料、ブラウザ上で動作。
- JSON 整形 — JSON を整形、圧縮(minify)、検証し、解析エラーは行と列で位置を示します。ブラウザ上で動作、アップロード不要。
- robots.txt ジェネレーター — すべて許可、ステージング、WordPress のプリセット、AI クローラーのセクション(学習はブロック、AI 検索は維持)、インデックスから消えるミスへの警告付きで robots.txt を作成します。