Chromeでページ全体のスクショを撮る3つの方法

Chromeで縦長のWebページ全体のスクリーンショットを、DevToolsやスクリプトで、PC幅でもスマホ幅でも撮る方法と、途切れ・白抜け・重複の直し方。

目次

Chromeで縦長のページ全体をスクリーンショットにする一番手軽な方法には、拡張機能は要りません。F12でDevToolsを開き、Ctrl + Shift + P(MacではCmd + Shift + P)を押して「screenshot」と入力し、フルサイズの項目を選びます。Chromeはページ全体を1枚の縦長PNGとして保存します。多数のページやCIでは、スクリプトでオプションを1つ指定すれば同じことができます。結果が途切れたり、白抜けになったり、ヘッダーが繰り返されたりする原因は、ほとんどが遅延読み込み、高さの上限、固定要素のどれかで、それぞれ下に対処法があります。

方法1:DevTools(インストール不要)

  1. ページを開き、読み込みが完全に終わるまで待ちます。
  2. F12を押してDevToolsを開きます。
  3. Ctrl + Shift + P(MacではCmd + Shift + P)でコマンドメニューを開き、「screenshot」と入力します。
  4. Capture full size screenshotを選びます。ChromeがPNGをダウンロードします。

同じコマンドメニューには、表示範囲や選択した要素を撮る項目もあります。Chromeのドキュメントでは、このショートカットでメニューが開くことと「Capture area screenshot」コマンドがあることが確認でき、DevToolsのスクリーンショットに関するヒントではページ全体、ノード、範囲の撮影が説明されています。

ここで試せます

サイトのアドレスを入力すると、スマートフォンやタブレットの画面で表示できます。左で端末を切り替えると、その端末の実際のサイズで開きます。

方法2:スマホ幅でページ全体を撮る

まず上のプレビューでデバイスを選び、レイアウトを確認してください。スマホが描画するとおりにページ全体を撮るには、デバイスモードを使います。Ctrl + Shift + M(MacではCmd + Shift + M)でデバイスツールバーを表示し、デバイスを選んでMore optionsメニューを開き、Capture full size screenshotを選びます。Chromeのデバイスモードのドキュメントにも同じ項目があり、スマホの輪郭付きで撮るShow device frameも載っています。ピクセル比やファイル名のコツを含む手順は、PCでWebサイトのスマホ表示のスクリーンショットを撮る方法にあります。

方法3:スクリプト(多数のページやCI向け)

数十ページで同じ撮影が必要なら、自動化します。Playwrightではオプションが1つです。

await page.screenshot({ path: 'page.png', fullPage: true });

先にviewport(スマホサイズなら{ width: 390, height: 844 }など)を設定すれば、実行のたびにページごとに1枚の画像が作られます。fullPageはPlaywrightのスクリーンショットガイドに記載があります。

スクショが途切れる、白抜けする、重複する理由

こうした問題は、ページ全体のキャプチャの仕組みから生じます。ブラウザはビューポートを全体の高さまで広げ、スクロールせずに1回だけ描画します。PuppeteerでのフルページスクリーンショットについてのDEV Communityの記事は、原因と対処法を挙げており、Chromeベースのどの撮影にも当てはまります。

  • 遅延読み込みの画像はプレースホルダーのままになります。表示範囲に入ったときに読み込まれるのに、キャプチャはスクロールしないためです。撮影前にページの最後までスクロールして戻り、画像の読み込みが終わるのを待ちます。
  • 非常に縦長のページは切り取られます。筆者はPuppeteerの既定の上限を16,384ピクセルと報告しており、設定によっては32,768ピクセルまで可能です。それを超える場合は、セクションごとに撮影してつなぎ合わせます。
  • 固定要素やstickyの要素が繰り返されたり、おかしな位置に出たりします。撮影前にposition: absoluteに切り替えるか、非表示にします。

用途別の方法

用途 最適な方法
1ページを1回だけ DevToolsのコマンドメニュー
1ページをスマホ幅で DevToolsのデバイスモード
数十ページ、またはリリースごと fullPage: trueのスクリプト
約16,000ピクセルを超えるページ セクションをつなぎ合わせる

よくある質問

拡張機能なしでChromeでページ全体のスクリーンショットを撮るには?

DevToolsを開き、Ctrl + Shift + Pでコマンドメニューを開いて「screenshot」と入力し、Capture full size screenshotを選びます。

ページ全体のスクリーンショットで画像が抜けるのはなぜですか。

遅延読み込みの画像が、一度も表示範囲に入っていないためです。ページ全体をスクロールし、画像の読み込みを待ってから、撮り直してください。

スマホサイズでページ全体のスクリーンショットを撮れますか。

撮れます。DevToolsのデバイスモードでデバイスを選び、More optionsメニューからCapture full size screenshotを選びます。

出典:Chrome DevTools、コマンドメニュー、デバイスモード、スクリーンショットのヒント、Playwrightのスクリーンショット、Puppeteerのフルページスクリーンショット、DEV Community(いずれも2026年10月28日に確認)。

次のサイトをモバイル表示で確認しましょう。

拡張機能を追加して、作業中のタブのまま端末プレビューを開けます。