Chrome で Cookie を編集する方法
TL;DR:Chrome で Cookie を編集するには、DevTools(F12)→ Application → Cookie を開き、任意のセルをダブルクリックして値、有効期限、SameSite、HttpOnly、Secure フラグを変更します。DevTools を使わない高速なワークフローには、CookieVault Editor をインストールしてツールバーポップアップからインライン編集します。どちらの方法も Cookie ストアを即座に変更します。
Chrome で Cookie を編集するとは、あるサイトに保存された任意の Cookie の値、有効期限、ドメイン、パス、セキュリティフラグを変更できるブラウザ操作のことです。主な用途はセッションバグのデバッグ、フラグ別挙動のテスト(SameSite、Secure、HttpOnly)、ユーザー報告の問題の再現、開発中のセッション寿命の延長です。Chrome は信頼できる手段を 2 つ提供します —— 標準の DevTools Application パネルと Manifest V3 拡張機能 —— それぞれ異なるワークフローに向いています1。
クイック比較:DevTools と拡張機能
要点:DevTools は標準搭載でインストール不要ですが、1 回の編集に複数クリックが必要です。拡張機能はツールバーから高速で繰り返し可能なワークフローを提供します —— 特に複数ドメインで Cookie を編集する場合や、同じ変更を何度も行う場合に有効です。
| 機能 | DevTools(標準) | CookieVault Editor(拡張機能) |
|---|---|---|
| Cookie 値の編集 | あり —— セルをダブルクリック | あり —— インラインフィールド |
| 有効期限 / Max-Age の編集 | あり —— セルをダブルクリック | あり —— 日付ピッカー |
| SameSite / Secure / HttpOnly の編集 | あり —— セルをダブルクリック | あり —— トグルスイッチ |
| 他のドメインの Cookie 編集 | 現在のページで Cookie を設定したドメインに限る | あり —— 「chrome.cookies」API で任意のドメイン |
| 新規 Cookie の作成 | あり —— 末尾の空行をクリック | あり —— 「Cookie を追加」ボタン |
| 編集前のエクスポート(バックアップ) | なし | あり —— JSON / Netscape / HAR |
| 複数 Cookie の一括編集 | なし | あり —— 複数選択+一括編集 |
| シークレットモードで動作 | あり | あり(シークレットモードで有効化した場合) |
Chrome DevTools の Application パネルのドキュメントは、Cookie テーブルを開発中の Cookie 検査と変更のための「編集可能なスプレッドシート」と表現しています1。繰り返し編集を伴う本番デバッグや QA ワークフローでは、拡張機能は 1 回あたりのステップ数を 6 から 2 に減らします。
方法 1:Chrome DevTools(標準の経路)
要点:DevTools はテーブル形式ですべての Cookie 属性に直接アクセスできます。任意のセルをダブルクリックして編集します。変更は Cookie ストアに即座に反映されます —— ページを再読み込みするとサーバー側への影響が確認できます。DevTools を開いてから編集を確認するまで 8 ステップ。
8 ステップの DevTools Cookie 編集ワークフロー:
- 対象サイトを開く —— 編集したい Cookie のあるサイトに移動します。Cookie はそのドメイン向けにブラウザのストアに既に存在している必要があります。
- Chrome DevTools を開く —— 「F12」(または Windows/Linux では「Ctrl+Shift+I」、Mac では「Cmd+Option+I」)を押します。ページを右クリックして「検証」でも構いません。
- 「Application(アプリケーション)」タブへ移動 —— DevTools 上部バーの「Application」をクリック。見当たらなければシェブロン(「>>」)をクリックしてオーバーフローメニューを展開します。
- 左サイドバーで Cookie を展開 —— 「Storage(ストレージ)」配下で「Cookies」を展開します。メインドメインに加え、このページで Cookie を設定したサードパーティドメインも表示されます。
- 対象ドメインをクリック —— メインパネルに Name、Value、Domain、Path、Expires、Size、HttpOnly、Secure、SameSite、Priority を表示するテーブルが現れます。
- 任意のセルをダブルクリックして編集 —— セルが入力フィールドになります。値を変更して Enter を押します。編集可能なフィールドは Value、Expires/Max-Age、Domain、Path、SameSite、Secure、HttpOnly。
- Enter で確定 —— Cookie ストアは即座に更新されます。確認ダイアログはなく、取り消しもありません。
- ページを再読み込みして確認 —— 「F5」を押します。次のリクエストで変更後の Cookie がサイトに送られます。期待した挙動を確認してください。
重要:Name フィールドの編集は Cookie の名前変更ではありません —— 古い Cookie が削除され、新しい名前で新規 Cookie が作成されます。値だけを変えたいときは Name フィールドには触れないでください。
方法 2:CookieVault Editor(拡張機能)
要点:CookieVault Editor はツールバーポップアップとインライン編集を提供します —— Cookie をクリック、フィールドを変更、保存をクリック。DevTools は不要です。拡張機能は Chrome の「chrome.cookies」API を使うため、HttpOnly Cookie の編集や、現在のページに限らず任意のドメインの Cookie へのアクセスができます。
8 ステップの拡張機能ワークフロー:
- CookieVault Editor をインストール —— Chrome ウェブストアからインストールします。Cookie の読み書きに必要な「cookies」と「tabs」の権限を要求します。
- 対象サイトに移動 —— 編集したい Cookie のあるサイトを開きます。
- ツールバーアイコンをクリック —— ポップアップに現在のドメインの全 Cookie がファーストパーティとサードパーティに分けて表示されます。
- Cookie 名をクリック —— 詳細ビューが開き、Value、Domain、Path、Expires、SameSite、Secure、HttpOnly、Size が表示されます。
- フィールドを編集 —— 各フィールドをインラインで変更します。SameSite、Secure、HttpOnly はトグルスイッチ。Expires は日付ピッカー。Value はテキスト入力です。
- 保存をクリック —— 拡張機能が「chrome.cookies.set()」で更新済み Cookie を書き込みます。変更は即座に適用されます。
- 確認 —— ページを再読み込みするか、ネットワークパネルを見て、次のリクエストで変更後の Cookie が送られていることを確認します。
- 任意:編集前にエクスポート —— 不可逆なセッション(ネットバンキング、管理画面)では、先に JSON にエクスポートします。編集でセッションが壊れたら、バックアップをインポートして復元できます。
このワークフローは、1 日に数十のテストドメインで Cookie を編集する QA エンジニアや、複数オリジンにわたる SameSite 挙動をテストする開発者に特に効率的です。
よくある Cookie 編集シナリオ
要点:Cookie を編集する最も頻繁な理由は、セッションの延長、SameSite 挙動のテスト、別ユーザーのシミュレート、CSRF トークン不一致のデバッグです。各シナリオは特定のフィールド編集に対応します。
Cookie 編集が正しいデバッグ手法となる 6 つの実用シナリオ:
- デバッグ中のセッション延長 —— Expires セルをダブルクリックし、はるか未来の日付(例えば 1 年後)を設定します。コードをステップ実行している間にセッションが切れるのを防げます。長い多段階フォームのデバッグに有用。
- SameSite 挙動のテスト —— SameSite を「Lax」から「Strict」に変更し、クロスサイトナビゲーションが期待通りに認証を壊すか確認します。「None」に変更(Secure=true 必須)してクロスオリジン iframe 埋め込みが動くか確認します。
- 別ユーザーのシミュレート —— セッション Cookie の値を別のブラウザプロファイルからコピーして貼り付けます。再認証なしに正確なセッション状態を再現できます。サーバーがセッションを IP や User-Agent に紐付けていない場合に限ります。
- CSRF トークン不一致のデバッグ —— CSRF トークンはしばしば Cookie に保存されます(「csrftoken」「XSRF-TOKEN」)。Cookie 値を既知の不正値に変更し、サーバーがリクエストを拒否することを確認して CSRF 保護を検証します。
- Cookie を Secure 限定に強制 —— Cookie の Secure フラグを true に設定し、HTTP で読み込んだときにサイトが壊れることを確認します。混在コンテンツ時の Secure フラグ処理が正しいかを検証できます。
- Cookie のパススコープのテスト —— Path を「/」から「/admin」に変更し、Cookie が「/dashboard」へのリクエストで送られなくなることを確認します。パススコープの挙動を検証できます。
編集可能な Cookie 属性リファレンス
要点:Chrome は Cookie ごとに 8 個の編集可能な属性を公開します。各属性は Cookie がいつ、どこへ、どのように送られるかの異なる側面を制御します。これらを理解することは効果的なデバッグに不可欠です。
| 属性 | 何を制御するか | 編集の例 |
|---|---|---|
| Value | サーバーに送られるデータ本体 | セッション固定をテストするためセッション ID を変更 |
| Domain | どのドメインが Cookie を受け取るか | 「.example.com」を「app.example.com」に変えてスコープを制限 |
| Path | どの URL パスが Cookie を受け取るか | 「/」を「/api」に変えて送信範囲を限定 |
| Expires / Max-Age | いつ Cookie がブラウザに削除されるか | 長寿のセッションをテストするため延長 |
| Secure | Cookie は HTTPS でのみ送られる | トグルして混在コンテンツ挙動をテスト |
| HttpOnly | Cookie は「document.cookie」からアクセス不可 | トグルして XSS Cookie 窃取シナリオをテスト |
| SameSite | クロスサイト送信規則(Strict / Lax / None) | 変更して CSRF と iframe 埋め込みをテスト |
| Priority | Cookie 上限到達時の退避順 | Low に変えて Chrome がどの Cookie を先に落とすかテスト |
Chromium プロジェクトはドメインあたり約 180 個の Cookie の上限を強制します。この上限に達すると、Chrome は Priority 順(Low が先、次に Medium、High)に Cookie を退避し、同じ優先度内では最も古くアクセスされた順に退避します2。
限界とエッジケース
要点:一部の Cookie 編集はブラウザのセキュリティポリシーで制約されます。これらの限界を理解しておくと、デバッグの無駄を防げます。
- クロスオリジン Cookie —— DevTools では、現在のページで Cookie を設定していないドメインの Cookie は編集できません。クロスドメインのアクセスには拡張機能を使ってください。
- 分割 Cookie(CHIPS) —— Chrome の分割 Cookie 機能では、同じ Cookie 名でもトップレベルサイトごとに異なる値を持ちえます。1 つのパーティションを編集しても他には影響しません。
- サーバー側の検証 —— セッション Cookie の値を任意の文字列に変更すると、サーバー側の検証で失敗します。サーバーは変更後の値を無効なセッションとして扱い、次のレスポンスで新しい Cookie を発行します。
- Cookie のサイズ上限 —— 1 つの Cookie は約 4096 バイト(Name と Value の合計)を超えられません。DevTools は上限を超える値を黙って切り詰めます。
- 「__Host-」と「__Secure-」プレフィックス —— これらの名前プレフィックスを持つ Cookie には追加の制約があります。「__Host-」プレフィックスの Cookie は Secure=true、Path=「/」、Domain 属性なしが必要です。プレフィックス規則に違反するように編集すると、Chrome はその Cookie を拒否します。
- サードパーティ Cookie の廃止 —— Chrome がサードパーティ Cookie を段階的に廃止する中で、DevTools でサードパーティ Cookie を編集しても警告が表示されたり、Privacy Sandbox に登録されたサイトでは効果がなかったりすることがあります。
関連ページ
- Chrome で Cookie を削除する方法 —— 編集ではなく完全に削除する
- Chrome の Cookie を JSON にエクスポートする方法 —— 編集前のロールバック経路としてバックアップ
- Cookie を消去してもログイン状態を保つ —— セッションを保ちながら選択的削除
- タブを閉じたら Cookie を自動削除 —— プライバシーのための自動クリーンアップ
- CookieVault Editor —— Chrome 向けオープンソースの Manifest V3 Cookie エディター
- Cookie とは? —— 基盤となる HTTP Cookie プロトコル
Footnotes
-
Cookie の検査、編集、削除のための Chrome 公式 DevTools ドキュメントは https://developer.chrome.com/docs/devtools/storage/cookies にあります。Application パネルの Cookie テーブルはすべての標準 Cookie 属性のインライン編集をサポートします。 ↩ ↩2
-
Chromium の Cookie ストレージ上限と退避挙動は Chromium のソースコードに文書化され、Cookie 関連機能の Chrome Platform Status エントリで議論されています。ドメインあたり約 180 個という上限と優先度ベースの退避順は、Chrome バージョンをまたいで安定している実装の詳細です。 ↩