ユーザーエージェント確認

ブラウザーが送信しているユーザーエージェントを分解して確認できます。Windows 11がWindows 10と表示されるなど、ブラウザーが固定した部分の実際の値もわかります。任意のユーザーエージェントの解析や、クローラーが本物かどうかの確認も可能です。

ブラウザーと、ブラウザーが当サイトに送ったヘッダーから取得 · Client Hints · Google、OpenAI、Anthropicなどのクローラー用IPリスト · 保存は一切なし
お使いのブラウザー読み取り中…ページを開いた時点の情報

ブラウザーを読み取り中…

あなたのユーザーエージェントを分解固定:ブラウザーがもう更新しない決まった値

文字列が示す内容と、実際の値

  • 1ブラウザー
  • 2エンジン
  • 3オペレーティングシステム
  • 4端末
  • 5CPU
  • 6フォームファクター

ユーザーエージェントとは?なぜMozilla/5.0と表示されるのか

ユーザーエージェントとは、ブラウザーがすべてのリクエストに添えて送る1行のテキストで、ブラウザーの種類、エンジン、動作しているシステムを伝えるものです。

サーバーはユーザーエージェント文字列を読んで、ブラウザーごとの癖に対応したり、訪問者数を集計したりします。文字列はプロダクトトークンとコメントの並びで、重要なものから順に並んでいます。先頭のMozilla/5.0は歴史的な名残で、意味はありません。「Mozilla互換」を表すトークンで、ほぼすべてのブラウザーが送ります。

ブラウザーは、サイトに締め出されないよう他のエンジンの名前を次々に加えてきました。そのため、現在のChromeの文字列にはMozilla、WebKit、KHTML、Gecko、Safariの名前も含まれています。読むときは右から:最後のブラウザートークンが本当の名前です。

現在のChromeの文字列を層ごとに見る
  1. 19981MozillaMozilla/5.0Netscapeのソースコードを元にMozillaプロジェクトが始まります。
  2. 20012WebKit(KHTML, like Gecko)KDEのKHTMLエンジンからWebKitが生まれます。
  3. 20133BlinkAppleWebKit/537.36GoogleのBlinkがWebKitに代わりますが、トークンは残ります。
  4. 20204SafariMac OS X 10_15_7SafariがmacOSのバージョンを10.15で止めます。
  5. 20225Chrome 101から107Chrome/141.0.0.0Chromeはマイナーバージョンを固定し、続いてプラットフォームも固定します。
  6. 20256Safari 26iPhone OS 18_6SafariはiOSのバージョンも固定します。
現在のChrome
Mozilla/5.011998(Windows NT 10.0; Win64; x64)52022AppleWebKit/537.3632013(KHTML, like Gecko)22001Chrome/141.0.0.052022Safari/537.3622001
文字列の各部分に、由来する時点の番号を付けています。日付はMozilla、WebKit、Chromiumのブログ、WebKitのバグトラッカーによるものです。Chrome 141は現行のどのバージョンでも代用できます。
ユーザーエージェント確認の結果画面:Chromeのユーザーエージェント文字列を分解し、固定された部分に印を付け、横に実際のWindows 11のバージョンを表示ユーザーエージェント確認の結果画面:Chromeのユーザーエージェント文字列を分解し、固定された部分に印を付け、横に実際のWindows 11のバージョンを表示ひと目でわかる結果ブラウザーとシステムを1行で表示し、6項目のうち文字列で固定されている項目の数も示します。分解した文字列各トークンを種類ごとに色分けして表示します。破線は固定されたトークンで、その下に実際の値を表示します。文字列の内容と実際の値項目ごとに1行:文字列の内容、実際の値、そして取得元(文字列、Client Hints、タッチ判定)を示します。サーバーへの送信とJavaScript当サーバーが受け取ったヘッダーとJavaScriptの値を並べて表示します。違いがあれば、拡張機能か上書きがどちらかを書き換えています。
Windows 11上のChrome 141を、このページが読み取った例です。分解した文字列、固定された各部分の実際の値、そして当サーバーが受け取った情報とJavaScriptの値を並べて表示します。番号を選ぶと、各部分に何が表示されているかを確認できます。

Windows 11なのに、ユーザーエージェントがWindows 10になるのはなぜ?

ブラウザーが文字列のその部分を更新しなくなったからです。Windows 10もWindows 11もWindows NT 10.0を送り、Microsoftは文字列を変えないと述べています。

Macも同様で、10_15_7のまま固定され、Apple siliconもIntelと表示されます。AndroidではChromeがどのスマートフォンからもAndroid 10; Kを送り、iOS 26のSafariは18_6または18_7を送ります。数字が変わるとサイトが壊れたため、ブラウザーは固定しました。

実際の値はClient Hintsにあります。Windowsでは、Sec-CH-UA-Platform-Versionが13以上ならWindows 11です。Chrome、Edge、Operaは送りますが、Firefoxは送らないため、Firefoxではサイト側から見分けられません。

文字列では固定、Client Hintsでは実際の値
お使いの環境文字列の内容固定された時期実際の値の場所
Windows 11Windows NT 10.011向けに更新されていませんSec-CH-UA-Platform-Version13.0.0以上
Windows on ARMWin64; x64ChromeとFirefoxでは固定トークンSec-CH-UA-Arch"arm"
macOS 11から26Intel Mac OS X 10_15_7Safari 2020 · Firefox 87 · Chrome 107Sec-CH-UA-Platform-VersionChromium系ブラウザーのみ
Apple siliconIntelFirefox 87 · Chrome 107Sec-CH-UA-Arch"arm" · Chromium系ブラウザーのみ
Android 11から16Android 10; KChrome 110(2023年2月)Sec-CH-UA-Platform-Version · Sec-CH-UA-Model"16.0.0" · "SM-S931B"
iOS 26iPhone OS 18_7Safari 26(2025年)Version/26.0Safari自身のバージョン
WindowsでのSec-CH-UA-Platform-Version
0Windows 7 · 8 · 8.11から12Windows 1013以上Windows 1119.0.0
Microsoftの基準(サンプルコードより):13以上がWindows 11、1から12がWindows 10、0がそれ以前です。EdgeのガイドではWindows 11の境目を14としています。

自分が使っているブラウザーは何?

ページ上部のツールが答えを表示します。ユーザーエージェントと、ブラウザーが共有していればClient Hintsから、ブラウザー名、完全なバージョン、その下のエンジンがわかります。

文字列を自分で読むには、右から見ていきます。最後のブラウザートークンが名前を表し、その前にあるものは、古いサイトにブラウザーが断られないようにするためのものです。Edg/はEdge、OPR/はOpera、SamsungBrowser/はSamsung Internet、CriOS/はiPhone版Chrome、FxiOS/はiPhone版Firefoxです。

BraveとVivaldiは、Chromeとまったく同じ文字列を送ります。Braveは代わりに独自のnavigator.brave.isBrave()でサイトに知らせる仕組みを用意しており、このページはそれを実行しています。

各ブラウザーを示すトークン
ブラウザー名前を示すトークンエンジンClient Hints
ChromeChrome/141.0.0.0Blink
EdgeEdg/141.0.0.0Blink
OperaOPR/124.0.0.0Blink
Samsung InternetSamsungBrowser/28.0Blink
Braveなし:Chromeの文字列Blink
FirefoxFirefox/144.0Gecko
SafariVersion/26.0 … Safari/605.1.15WebKit
iPhone版ChromeCriOS/141.0.7390.96WebKit未確認
iPhone版FirefoxFxiOS/144.0WebKit未確認
バージョンは例です。Client Hints:Chromeは89以降、Samsung Internetは23以降が対応し、FirefoxとSafariは送りません。

User-Agent Client Hintsとは?

Client Hintsは、ユーザーエージェントの情報を個別のヘッダーに分けて送る仕組みで、詳細な情報は要求したサイトにだけ送られます。固定された文字列が伝えなくなった内容を、Chromium系ブラウザーが共有する手段です。

3つのヒントは、要求されなくてもすべてのサイトに送られます:ブランドの一覧、スマートフォンかどうか、プラットフォームです。さらに情報が必要なサイトはAccept-CHを送り、ブラウザーはそのヒントを以降のリクエストに加えます。スクリプトからも、navigator.userAgentData.getHighEntropyValues()で要求できます。

ブランドの一覧には、意図的に作り物の名前が1つ含まれています(GREASE)。サイトが許可するブラウザーの一覧を作れないようにするためです。ヒントはHTTPSでのみ送られます。FirefoxとSafariは何も送りません。

このページが実際のWindowsのバージョンを取得する流れ
  1. 1
    GET /what-is-my-user-agent→
    Sec-CH-UA: "Google Chrome";v="141", "Chromium";v="141", "Not?A_Brand";v="8"Sec-CH-UA-Mobile: ?0Sec-CH-UA-Platform: "Windows"
    要求されなくても、すべてのサイトに送られます · "Not?A_Brand"が作り物のブランドです
  2. 2
    ←200 OK
    Accept-CH: Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Model, Sec-CH-UA-Full-Version-List
    ページがさらに情報を要求します
  3. 3
    GET /api/user-agent→
    Sec-CH-UA-Platform-Version: "19.0.0"Sec-CH-UA-Arch: "x86"Sec-CH-UA-Bitness: "64"Sec-CH-UA-Model: ""
    次のリクエストに付いてきます:19はWindows 11を意味します
  4. 4
    navigator.userAgentData.getHighEntropyValues([…])
    { platformVersion: "19.0.0", architecture: "x86", bitness: "64", model: "" }
    または、スクリプトがリクエストなしで取得します
送信するブラウザーChrome89以降EdgeOperaSamsung Internet23以降FirefoxSafari
Windows 11上のChrome 141の値です。サイトによるヒントの要求は、ブラウザーがそのサイトのデータを消去するまで続きます。

iPadがMacと表示されるのはなぜ?

iPadOS 13以降、iPadのSafariはウェブサイトに対してMacを名乗るからです。Macのユーザーエージェントをそっくりそのまま送り、iPad版Firefoxも同じです。

AppleがこうしたのはiPadでデスクトップ版サイトを表示するためで、サイトには文字列ではなく機能の有無で判定するよう求めています。ページにできるのは推測だけです。navigator.maxTouchPointsは画面が対応するタッチポイントの数を返し、Macの画面はタッチ操作に対応していません。

このページは、Macの文字列にタッチ画面が伴う場合におそらくiPadと表示し、事実ではなくタッチ判定による推測であることを明記します。SafariはClient Hintsを共有しないため、iPadOSのバージョンは不明のままです。

1つの文字列、2つの端末
iPadmaxTouchPoints5navigator.platform"MacIntel"
MacmaxTouchPoints0navigator.platform"MacIntel"
どちらも送信Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15
iPadとMacの値の例です。AppleのWWDC 2019のデスクトップクラスiPadブラウザーのセッションでは、サイトに機能検出を使うよう求めています。

ユーザーエージェントを変更するには?

デスクトップブラウザーでは開発者ツールを使います:ChromeとEdgeはNetwork conditions、FirefoxはResponsive Design Mode、SafariはDevelopメニューです。スマートフォンでは、デスクトップ版サイトの表示を要求する方法しかありません。

注意点は、サイトが見るのは文字列だけではないことです。ChromeとEdgeのパネルではClient Hintsも合わせて設定できますが、そのままにすると実際のブラウザーを示し続け、このページは不一致を表示します。

ヘッダーを書き換える拡張機能で変わる範囲はさらに小さく、スクリプトは実際のnavigator.userAgentを読めます。また、名乗ったブラウザー向けのページがサイトから送られてくることもあります。

  1. 1Network conditionsを開くChromeのDevToolsで
  2. 2「Use browser default」のチェックを外す一覧と入力欄が使えるようになります
  3. 3ブラウザーを選ぶか、文字列を入力続いて「User agent client hints」を開き、合わせて設定します
  4. 4このページを再読み込みヘッダーとnavigator.userAgentが変わります
EdgeCtrl+Shift+P → Show Network conditions → 「Use browser default」のチェックを外す
FirefoxCtrl+Shift+M(Responsive Design Mode)→ デバイスを選択
MacのSafariSettings → Advanced → 「Show features for web developers」を有効にし、Develop → User Agent
Android版Chrome⋮ → Desktop site(1ページのみ)· Settings → Site settings → Desktop site(すべてのページ)
iPhoneのSafariページメニュー → Request Desktop Website
メニュー名は、Chrome、Edge、Firefox、Appleのヘルプページにある英語表記のままです。

GooglebotやAIクローラーが本物か確認するには?

確認するのはIPで、ユーザーエージェントではありません。Googlebotの文字列は誰でも送れるからです。確認方法は運営元ごとに公開されており、上の「クローラーを検証」モードがそれを実行します。

Google、Bing、Apple、Yandexの場合は、2段階のDNS確認です。まずIPの逆引き名を調べます。本物のGooglebotなら、名前はgooglebot.com、google.com、googleusercontent.comのいずれかで終わります。次にその名前を引き直し、同じIPに解決されなければ、逆引き名が偽装されています。

Google、OpenAI、Anthropic、Perplexity、Appleは、クローラーのIP範囲をJSONのリストとしても公開しています。ボットのパターンだけでは何も証明できません。作成元自身も、ユーザーエージェントを信用しないよう勧めています。

ターミナル
$ host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.✓ Googleのホスト名
$ host crawl-66-249-66-1.googlebot.com
crawl-66-249-66-1.googlebot.com has address 66.249.66.1✓ 同じIP
GoogleGooglebot, GoogleOther, Google-InspectionToolDNSIPリストcommon-crawlers.json
Microsoft BingbingbotDNSsearch.msn.com · JSONリストは2024年1月のもの
OpenAIGPTBot, OAI-SearchBot, ChatGPT-UserIPリストgptbot.json · searchbot.json · chatgpt-user.json
AnthropicClaudeBot, Claude-User, Claude-SearchBotIPリストclaude.com/crawling/bots.json
PerplexityPerplexityBot, Perplexity-UserIPリストperplexitybot.json · perplexity-user.json
AppleApplebotDNSIPリスト*.applebot.apple.com · applebot.json
ターミナルはGoogleのドキュメントにある例です。ツールは各リストを毎回最新の状態(最大1日前)で読み込みます。

ユーザーエージェントはプライバシーのリスクになる?

小さなリスクはあります。訪問するすべてのサイトにユーザーエージェントが見えますが、それ単体で分かるのはブラウザーとシステムであり、あなた自身ではありません。

IPアドレスやスクリプトが測定できる情報と組み合わさると、ブラウザーを再び見分けられるフィンガープリントの材料になります。そのため、ブラウザーは今ではユーザーエージェントを固定しています。フィンガープリントを完全に防ぐ技術的な方法はありません。

ユーザーエージェントだけを変えると、かえって目立つことがあります。ブラウザーの他の部分は実際のままで、そうした珍しい組み合わせは見つかりやすいからです。VPNが変えるのはIPであり、ユーザーエージェントではありません。このページはブラウザーが送った情報を表示するだけで、保存はしません。

訪問のたびにウェブサイトが読み取れる情報
すべてのリクエストに付いて送られる情報
ユーザーエージェントブラウザーとシステム
IPアドレスネットワークとおおよその場所
Accept-Language設定した言語
ページのスクリプトが読み取る情報
画面サイズ幅、高さ、ピクセル比
タイムゾーン時計に設定したタイムゾーン
Client Hints実際のOSバージョン、機種名
フォントインストールされているもの
CanvasとWebGLグラフィックスの描画結果
偽のユーザーエージェントと他の情報の食い違い
ユーザーエージェント
iPhone Safari
画面
1536 × 864 · デスクトップ
タッチポイント
0
Client Hints
"Windows" · Chrome 141
目立つ
W3Cのフィンガープリンティングに関するガイダンスは、ユーザーエージェントをサイトが無条件に受け取るヘッダーの1つに数えています。EFFは、ユーザーエージェントを入れ替えるとブラウザーが特定されやすくなる場合があると警告しています。

よくある質問

自分のユーザーエージェントを確認するには?

ユーザーエージェントとは、ブラウザーがすべてのリクエストに添えて送る1行のテキストで、ブラウザーとそのバージョン、エンジン、動作しているシステムを示します。このページを開くとすぐに、自分のユーザーエージェントを分解して表示し、コピーボタンも使えます。文字列の一部は固定されているため、ブラウザーのClient Hintsも読み取って実際の値を表示します。

使っているブラウザーとユーザーエージェントの確認方法は?

ページ上部の結果に、ブラウザー名、完全なバージョン、システムが表示されます。生の文字列を自分で見るには、ブラウザーの開発者ツールでコンソールを開き、navigator.userAgentと入力してください。拡張機能が書き換えている場合、ブラウザーが送るヘッダーはこれと異なることがあり、「ブラウザーが当サイトに送った情報」のパネルで両方を比較できます。

Windows 11なのに、ユーザーエージェントがWindows 10と表示されるのはなぜ?

ブラウザーがそのトークンを更新しなかったからです。Windows 11もWindows 10と同じWindows NT 10.0を送り、Microsoftは文字列を変えないと述べています。Chrome、Edge、Operaは実際のバージョンをClient HintのSec-CH-UA-Platform-Versionで共有し、13以上ならWindows 11です。Firefoxは共有しないため、サイトからは判別できません。

ユーザーエージェントがmacOS 10.15.7と表示されるのはなぜ?

Safari、Firefox、ChromeはいずれもmacOSのバージョンを10.15.7で止めており、Apple siliconのMacもIntelと表示します。「macOS 11」でサイトが壊れたため、WebKitが2020年に固定し、他のブラウザーも追随しました。Chromium系ブラウザーは実際のmacOSのバージョンをClient Hintsで共有し、SafariとFirefoxは非公開です。

ユーザーエージェントの「Android 10; K」とは何?

プレースホルダーです。Chrome 110以降、Android版Chromeはどのスマートフォンからも、Android 10と機種名Kを送ります。Samsung Internetもバージョン24から同様です。文字列はもはや機種名もAndroidのバージョンも示しません。実際の値はClient Hintsにあり、ブラウザーが共有していれば、このページが読み取ります。

iOS 26のSafariがiOS 18と表示されるのはなぜ?

AppleがSafariのユーザーエージェントでiOSのバージョンを固定したからです。iOS 26以降は18_6、18_6_2、18_7と報告され、番号が変わるとサイトが壊れたため、Appleはこのまま維持する予定です。Safari自身のバージョン(Version/トークン)はシステムに連動しているため、このページはそこから実際のバージョンを読み取ります。

ユーザーエージェントは変更できる?変更すれば身元を隠せる?

変更できます。ChromeやEdgeのNetwork conditionsパネル、FirefoxのResponsive Design Mode、SafariのDevelopメニュー、またはスマートフォンのデスクトップ版サイト切り替えを使います。ただし身元は隠せません。IP、Client Hints、スクリプトが測定する情報は変わらず、ブラウザーの他の部分と合わない偽の文字列は、かえって目立つ原因になります。

Client Hintsとは?どのブラウザーが送信する?

Client Hintsは、ユーザーエージェントの情報を個別のヘッダーに分けたものです。ブランド、モバイルかどうか、プラットフォームはすべてのリクエストに付き、詳細な情報(OSバージョン、CPU、機種名、完全なバージョン)はサイトが要求したときだけ送られます。Chromeはバージョン89以降、Samsung Internetは23以降、EdgeとOperaも送信します。FirefoxとSafariは送りません。

任意の文字列を解析できるユーザーエージェントパーサーですか?

はい。「ユーザーエージェントを貼り付け」を選び、ログやバグ報告、クローラーのドキュメントなどにある文字列を貼り付けると、ブラウザー内で解析され、当サーバーには何も送られません。生成されるリンクには文字列が含まれるため、解析結果を共有できます。クローラーも判別し、運営元と確認方法も表示します。

Googlebotが本物かどうか見分けるには?

ユーザーエージェントではなく、IPを確認します。逆引きDNS名がgooglebot.com、google.com、googleusercontent.comのいずれかで終わり、その名前が同じIPに解決されること、またはIPがGoogleの公開クローラーリストに含まれることが条件です。このページの「クローラーを検証」は、Googleについては両方の確認を、OpenAIやAnthropicなどについてはリストでの確認を行います。

サポートに、なぜユーザーエージェントを聞かれるの?

ブラウザー、そのバージョン、システムが1行でわかり、不具合の再現に十分なことが多いからです。このページの「レポートをコピー」は、Client Hintsから得た実際の値を加えるため、Windows 11のPCでWindows 10の問題を調べさせることがありません。内容にあなたを特定できる情報はなく、IPアドレスも位置情報も含まれません。

足りないものはありますか?機能や新しいツールを提案する