M-LAB
Macの遊び方

WEB制作

Macの標準機能でスクリーンショットを撮る方法

ブログ記事を書いているとスクリーンショットを撮る機会が多いのですが、Macは色々な方法でスクリーンショットが撮れるので、外部のアプリを探す前にMacの標準機能でスクリーンショットを撮る方法(6種類)についてまとめてみました。

使用バーション

  • macOS Sonoma 14.1.2

目次

方法1:キーボードショートカット

キーボードショートカットを使ってスクリーンショットを撮る方法です。

使い方

動作キー
画面全体をファイルに保存するShift+Command+3
画面全体をクリップボードにコピーするCtrl+Shift+Command+3
画面の一部分をファイルに保存するShift+Command+4
画面の一部分をクリップボードにコピーするCtrl+Shift+Command+4
スクリーンショット.appを起動するShift+Command+5
Touch Barをファイルに保存するShift+Command+6
Touch BarをクリップボードにコピーするCtrl+Shift+Command+6

画面の一部分を撮影する場合の操作

「Shift+Command+4」か「Ctrl+Shift+Command+4」で画面の一部を撮る場合、マウスドラッグでスクリーンショットを撮る範囲が指定できますが、マウスドラッグの前にスペースキーを押すことでウインドウが選択できるようになります。

ウインドウが選択できるようになると、ポインターの形がカメラになり、マウスクリックで選択中のウインドウだけのスクリーンショットが撮れます。

ウインドウ内にポップアップ画面が表示されている場合は、そのままだとポップアップ画面も含めて1つのウインドウとして認識されますが、commandキーを押している間は、ポップアップ画面も別ウインドウとして判定されます。

また、ウインドウのスクリーンショットにはデフォルトで影が付きますが、影を付けたくない場合は、optionキーを押しながらスクリーンショットを撮ると、影のない画像が撮れます。

ファイルの保存場所

ファイルはスクリーンショット.appと同じ場所に保存されます。保存場所を変更したい場合はスクリーンショット.appで保存場所を変更する必要があります。

キーの変更

システム設定→キーボード→キーボードショートカット→スクリーンショットでキーの変更ができます。

メリット

キーを覚えてしまえば早くて手軽

ショートカットキーを覚えてしまえば、早くて手軽にスクリーンショットが撮れるので便利です。

ただし、影なしウインドウのスクリーンショットを撮る場合は

「Shift+Command+4」→「スペース」→「optionキーを押しながらマウスクリック」

という手順になるのでちょっと面倒です。

デメリット

しばらく使わないとキーを忘れる

スクリーンショットの種類が複数あるので、しばらく使わないと目的のショートカットキーを忘れてしまうこともあると思います。

使う頻度が低くショートカットキーを忘れてしまう場合は、都度調べるよりも他の方法を使った方が楽かもしれません。

タイマー機能がない

撮影対象を決めてから撮影をするまでの時間にタイマーを設定することができないので、タイマー撮影をしたい場合は他の方法を使う必要があります。

スクリーンショットと形状変化のキーが競合する場合がある

例えば、撮影したいポイントがshiftを押すことで形が変わる場合、スクリーンショットを撮るためにshiftを押すと元の形のスクリーンショットを撮ることができません。

このように、スクリーンショットのキーボード操作によって撮りたい状態が維持できない場合は、どちらかのショートカットキーを変更したり、他の方法でスクリーンショットを撮る必要が出てきます。

ファイル名が指定できない

現在の仕様では、ファイル名が「スクリーンショット 日付 時間.png」という固定ルールで命名されてしまいます。

ファイル名を別の名前で使いたい場合は、毎回ファイル名を変更する必要があります。

方法2:スクリーンショット.app

Macにデフォルトでインストールされているスクリーンショット.appを使ってスクリーンショットを撮る方法です。

使い方

スクリーンショット.appを起動します。

画面の中央下側にスクリーンショットのモードを選択する画面が表示されます。

使いたい撮影モードを選択します。

画面全体を取り込む画面全体を撮影します。
選択したウインドウを取り込むマウスクリックでウインドウを選択して撮影します。
選択部分を取り込むマウスドラッグで範囲を選択して撮影します。
画面全体を収録画面全体を動画で収録します。
選択部分を収録マウスドラッグで範囲を選択して動画を収録します。

撮影をキャンセルしたい場合は左の×ボタンをクリックするとアプリが終了して撮影がキャンセルできます。

撮影する際、controlキーを押しながら撮影するか、command+cを押すとクリップボードに保存されます。

「optionを押しながら撮影するとウインドウの影が付かない」「commandを押している間はポップアップ画面も別ウインドウとして認識される」という動きはキーボードショートカットと同じです。

オプションを指定することでもう少し細かく撮影条件を指定できます。

保存先

撮影した画像ファイルの保存先を変更できます。

変更した保存先の設定は次回以降の使用でも引き続き適応されるため、一時的に変更したい場合は元に戻す必要があります。

保存先はフォルダ以外も指定できます。

クリップボードクリップボードに保存されます。撮影時にcontrolキーを押す必要がなくなります。
メール撮影したスクリーンショットが添付された新規メールが立ち上がります。
メッセージ撮影したスクリーンショットがメッセージに添付される?(自分の環境では動きませんでした)
プレビュー撮影したスクリーンショットがプレビュー.appで表示されます。

ちなみに、ここで指定した保存先はキーボードショートカットのスクリーンショットにも適応されます。

タイマー

撮影までの時間を5秒か10秒遅らせることができます。指定した秒数は次回以降の使用でも引き続き適用されます。

スクリーンショットを撮影すると、指定した秒数のカウントダウンが始まり、カウントダウンをクリックするとキャンセルができます。

タイマーの設定はキーボードショートカットでの撮影には適用されません。

フローティングサムネールを表示

有効にすると、スクリーンショットを撮影した後、終秒間だけ画面右下に小さいウインドウが表示されます。

このウインドウをクリックすると、撮影したスクリーンショットが表示されて、簡単な編集や保存のキャンセルができるようになります。

ウインドウをクリックせずに放置すると、数秒後に消えて指定場所にファイルが保存されます。

最後の選択部分を記憶

有効にすると、「選択部分を取り込む」または「選択部分を収録」を使用する際、前回撮影時の範囲が選択された状態になります。

マウスポインタを表示

有効にすると、「画面全体を取り込む」でスクリーンショットを撮影した際、マウスポインタが映るようになります。

ちなみに、無効でも画面収録の場合はマウスポインターは映ります。

マイク

動画収録をする場合は、マイクの選択ができるようになります。

メリット

キーボードショートカットを覚える必要がない

マウスクリックだけでスクリーンショットの撮影ができるので、キーボードショートカットを覚える必要がありません。

撮影時にオプションが選べる

保存先の指定や、タイマー設定等、スクリーンショットを撮影するタイミングでオプションを指定することができます。

動画で画面収録ができる

画像としてスクリーンショットを撮影するだけでなく、手軽に動画として画面収録をすることもできます。

デメリット

キーボードショートカットよりは手間がかかる

アプリ起動→モード選択→撮影という流れなので、キーボードショートカットよりは操作手順が多く、連続して複数枚のスクリーンショットを撮影したい場合などは面倒かもしれません。

スクリーンショット.appをドッグに登録すれば、アプリ起動までの手間は多少減らせると思います。

ファイル名が指定できない

キーボードショートカットと同じ固定ファイル名なので、違う名前にしたい場合は都度ファイル名を変更する必要があります。

方法3:ショートカット.app

Macにデフォルトでインストールされているショートカット.appを使ってスクリーンショットを撮る方法です。

使い方

ショートカット.appを起動します。

新規ショートカットを作成します。

ショートカットを作成する画面で、スクリーンショットと検索すると、「スクリーンショットを撮る」というアクションが見つかります。

左側にドラッグしてショートカットに追加すると、撮影モードが選択できます。

フルスクリーンフルスクリーンで撮影します。
インタラクティブウインドウかカスタム(範囲選択)を選択します。

「毎回尋ねる」を選択すると、ショートカットを実行する度に、撮影モード(フルスクリーン、ウインドウ、カスタム)が選択できるようになります。

ディスプレイが複数ある状態でフルスクリーン撮影を行う場合、「主ディスプレイのみ取り込む」にチェックを入れると、システム設定のディスプレイ配置設定でメニューバーを配置しているディスプレイのみ対象になります。

次に、ファイル名と保存場所を指定するアクションを追加します。

ファイル名に撮影日時を入れたい場合は、「変数を設定」というアクションを一番上に追加します。

変数名を「filename(好きな名前でOK)」にして、入力を「現在の日付」にします。

現在の日付をもう一度クリックして設定を表示し、日付フォーマットを「カスタム」、カスタムフォーマットに保存したいファイル名を入力します。

例えば、カスタムフォーマットに「スクリーンショットyyyy-MM-dd_HH.mm.ss」と入力すると、「スクリーンショット2023-11-30_10.20.01.png」のような固定名称+撮影日時付きのファイル名にすることができます。

Mac以外のOSも含めてファイル名に使用できない文字(:/?等)はできるだけ使わないようにしましょう。

変数が設定できたら、「ファイルの名前を変更」というアクションをスクリーンショットを撮るの次に追加し、先ほど作った変数名(filename)にします。

最後に「ファイルを移動」というアクションを追加して、保存したい場所を選択すれば完成です。

保存場所を固定せずに毎回選択したい場合は、最後のアクションを「ファイルを保存」に変えてください。

また、クリップボードに保存したい場合は、「スクリーンショットを撮る」の次に「クリップボードにコピー」を追加するだけでOKです。

作成したショートカットを、好きな方法(ウィジェットやメニューバー)で実行することでスクリーンショットが撮影できるようになります。

メリット

他のショートカット機能と組み合わせて使える

例えば、ウインドウを特定のサイズにリサイズしてから、スクリーンショットを撮るといった組み合わせを作ることもできます。

ショートカットを使ってウインドウを指定サイズにリサイズする方法はこちらの記事をご覧ください。
Macのショートカット.appでウインドウをリサイズする方法Macのショートカット.appでウインドウをリサイズする方法

ブログ用のスクリーンショットを撮る時などに使える、Macのショートカット.appを使ってウインドウを指定サイズにリサイズする方法について解説します。

iCloudで設定の保存、共有ができる

ショートカットは、設定をiCloudに保存することができるので、作った設定の移行が楽にできます。

デメリット

タイマー機能がない

現在の機能では、ショートカットのスクリーンショットの設定には、タイマーの指定がありません。

ショートカットの機能に「待機」という指定秒数後に次の動作を行う機能があるので、フルスクリーンで撮影する場合はタイマーとして使えます。

ウインドウや範囲指定で撮影する場合は、選択できるようになるまでの時間が遅れるだけなのでタイマーとしては使えません。

方法4:Automator.app

MacにデフォルトでインストールされているAutomator.appを使ってスクリーンショットを撮る方法です。

使い方

Automator.appを起動します。

アプリケーションを新規作成します。

アクションで「スクリーンショット」と検索すると、「スクリーンショットを撮る」というアクションが見つかります。

「スクリーンショットを撮る」アクションを右側にドラッグしてワークフローに追加します。

タイプとオプションを選択します。

タイプオプション
フルスクリーン「メインモニターのみ」「撮るタイミングを指定」
インタラクティブ「ウインドウを選択」「選択範囲を選択」

クリップボードではなく、ファイルに保存したい場合は保存先から「新規」を選択します。

ファイル名とパスを指定します。

保存するファイル名に撮影日時を入れたい場合は、「Finder項目の名前を変更」というアクションを追加します。

メッセージが表示された場合は「追加しない」を選択します。(追加を選択すると違うアクションが追加されます。)

追加する日付のフォーマットを指定します。

時間も追加したい場合は、「Finder項目の名前を変更」アクションをさらに追加して時間を追加します。

作成したアプリケーションに名前をつけて好きな場所に保存します。

作成したアプリケーションでスクリーンショットを撮るためには、システム設定のプライバシーとセキュリティの画面収録で許可する必要があります。

アプリケーションを起動すると、設定したアクションが開始され、スクリーンショットが撮れます。

メリット

他のAutomator機能と組み合わせて使える

他のアクションと組み合わせることで、撮影したスクリーンショットの画像ファイルを自動で加工したり、PDFに変換するといった使い方ができます。

スクリーンショットを撮影する前後にすることが決まっていて、Automatorで自動化できる場合は便利です。

デメリット

タイマー機能がフルスクリーンしかない

撮影時のタイマーを指定することはできますが、フルスクリーンの場合のみオプションとして表示されるため、インタラクティブではタイマー撮影ができません。

設定方法が難しい

他のアクションと組み合わせて使いたい場合、Automatorの設定は分かりにくいので目的のアクションを作るのに苦労することがあります。

単純なアクションであればあまり悩まないと思いますが、全体的にはショートカット.appの方がわかりやすいと思います。

アプリの数が増える

1つの撮影設定につき1つのアプリができてしまうので、使い分けたい設定の数だけアプリ数が増えてしまいます。

また、1アプリ毎に画面収録を許可する必要があるのも面倒です。

方法5:screencaptureコマンド

screencaptureコマンドを使ってスクリーンショットを撮る方法です。

screencaptureはMacでスクリーンショットを撮影するためのコマンドで、ターミナル.appから実行することができます。

ターミナルで毎回コマンドを入力せずに、ショートカット.appやAutomator.appにコマンドを登録して実行することもできます。

使い方

ターミナル.appで以下コマンドを実行します。

screencapture [option] [files]
[option]撮影オプションを入力(何も指定しない場合はフルスクリーンモード)
[files]保存するファイル(パス+ファイル名+拡張子)を入力

フルスクリーン撮影の場合、ディスプレイの数だけ画像ファイルが作成できますが、その場合は[files]をディスプレイの数だけ半角スペースで区切って指定する必要があります。

screencapture [option] /Desktop/1.png /Desktop/2.png /Desktop/3.png

指定できる撮影オプションについては、ターミナルで

screencapture -help

と入力すれば表示されますが、整理すると以下になります。(オプションは大文字と小文字の違いに注意してください)

オプション機能
-cクリップボードに保存します。この場合、[files]の指定は不要です。
-bTouch Barを撮影します。
-Cフルスクリーンで撮影する場合にマウスカーソルを含めます。
-dエラーが発生した場合にポップアップ画面を表示します。
-iインタラクティブモード(範囲選択 or ウィンドウ)で撮影します。spaceキーで撮影モードの変更、escapeキーで撮影キャンセルができます。
-m複数ディスプレイをフルスクリーンで撮影する場合にメインモニタのみ撮影します。
-D  display複数ディスプレイをフルスクリーンで1枚だけ撮影したい場合に、撮影するディスプレイを指定できます。セカンドディスプレイを撮影したい場合は「-D 2」のように半角スペースで区切ってディスプレイの番号を指定します。
-oウインドウモードで撮影する場合に、影のないスクリーンショットを撮影します。
-pファイル名とファイルの保存場所にスクリーンショット.appと同じ設定が使われます。この場合、[files]の指定は不要です。
-M撮影したスクリーンショットが添付された状態でメールの新規メッセージが作成されます。この場合、[files]の指定は不要です。
-P撮影したスクリーンショットがデフォルトのアプリ(プレビューやQuickTime Player)で表示されます。この場合、[files]の指定は不要です。
-I撮影したスクリーンショットがメッセージで開く(とヘルプに書いてありますが、試してもうまく動きませんでした。)
-B bundleid撮影したスクリーンショットを指定アプリで開きます。開きたいアプリのバンドルIDを -Bの後に半角スペースを開けて指定します。例えば、プレビューで開きたい場合は「-B com.apple.Preview」Affinity Photo 2で開きたい場合は「-B com.seriflabs.affinityphoto2」と入力します。
-sインタラクティブモード(範囲選択)で撮影します。spaceキーで撮影モードの変更はできません。
-Sウィンドウモードで撮影する場合に、ウインドウの上に重なって見えているものも撮影します。つまり、選択したウインドウの場所とサイズを元に範囲選択モードとして撮影します。
-J styleインタラクティブモードで撮影する際の初期値を設定します。範囲選択モードの場合は「-J selection」ウインドウモードの場合は「-J window」と入力します。
-t formatスクリーンショットのファイルフォーマットをデフォルトのpngからpdf、jpg、tiff等に変更できます。jpgにする場合は「-t jpg」とした上で[files]の拡張子もjpegやjpgに変更します。
-T seconds撮影までのタイマーを秒数で指定できます。インタラクティブモードでも使えます。3秒後の撮影したい場合は「-T 3」と入力します。
-wインタラクティブモード(ウィンドウ)で撮影します。spaceキーで撮影モードの変更はできません。
-Wインタラクティブモード(範囲選択 or ウィンドウ)で撮影します。spaceキーで撮影モードの変更、escapeキーで撮影キャンセルができます。-iとの違いはウィンドウモードが初期モードになっている点です。
-x撮影時の音をミュートにします。
-aウィンドウモードで撮影する際、ウインドウ内のポップアップを独立して選択できるようになります。
-rファイルにdpiメタ情報を追加しません。(とヘルプに書いてありますが、-rの有無でファイルのメタ情報を比較しても違いは見つけれらませんでした。)
-l windowidウインドウIDを指定することで、特定のウインドウを撮影します。ただし、ウインドウIDはウインドウを開くと毎回変わるので、都度調べる必要があります。ウインドウIDを調べる簡単な方法としては、スクリプトエディタで「tell application "アプリ名" to id of window 1」を実行すると結果に表示されます。
-R x,y,w,h特定の範囲を数値で指定して撮影します。XとYの0位置は画面の左上です。画面左上から右に100px、下に200pxの位置から横300px、縦400pxの範囲を撮影する場合は「-R 100,200,300,400」と入力します。
-v動画を収録します。収録開始後に文字かctrl+cを入力すると終了します。この場合[files]の拡張子は.movにします。-Rと組み合わせると指定範囲の収録ができます。
-V  seconds動画を収録する秒数を指定します。動画の収録を開始して指定秒数が経過すると自動で収録が停止します。
-g動画を収録する際、デフォルトの入力(システム設定→サウンド→入力)からの音声が入ります。
-G id動画を収録する際、指定したオーディオIDからの音声が入ります。(使用可能な入力デバイスのオーディオIDを調べる方法は見つけられませんでした。)
-k動画を収録している最中に画面内でマウスをクリックすると、クリックしたことがわかるように、マウスポインターの周りに黒い縁が表示されるようになります。
-Uインタラクティブモードで撮影する際、スクリーンショット.appと同じツールバーが表示されます。
-uスクリーンショット.appのオプションの「フローティングサムネールを表示」を有効にした場合と同様にスクリーンショットを撮影した際、画面右下に小さいウインドウが数秒表示されます。この場合[files]の指定は無視され、スクリーンショット.appの設定に基づいてファイルが作成されますが、なぜか[files]を書かないと怒られます。

オプションの中には撮影モードが限定されるものもあるので、オプションを指定する際は、組み合わせが矛盾しないように気をつけてください。

このオプションの中から必要なものを連続で入力するか、半角スペースで区切って入力します。

連続で入力する場合

screencapture -Cck [files]

半角スペースで区切って入力する場合

screencapture -C -c -k [files]

ファイル名に撮影日時を入れたい場合はdateコマンドを使って

$(date '+フォーマット')

をファイル名に含めると撮影日時付きのファイル名にすることができます。

例えば、影なしウインドウのスクリーンショットをデスクトップに「スクリーンショット-年-月-日_時.分.秒.png」というファイル名で保存したい場合は

screencapture -o -w ~/Desktop/スクリーンショット-$(date '+%Y-%m-%d_%H.%M.%S').png

のようなコマンドになります。

また、コマンドをターミナルから実行する場合は、システム設定の画面収録でターミナルを有効にする必要があります。

ショートカット.appやAutomator.appから実行したい場合は「シェルスクリプトを実行」アクションにコマンドを登録します。

メリット

指定できるオプションが最も多い

他の撮影方法よりも、指定できるオプションの数が多いので、他の方法ではできなかったことが色々できます。

ショートカット.appやAutomator.appと組み合わせて使える

ショートカット.appやAutomator.appにコマンドを登録して実行することで、コマンドを毎回入力する必要がなくなるだけでなく、他のアクションと組み合わせて使うことができます。

ただし、動画で画面収録をする場合は、録画停止のためのコマンド入力ができないので-Vで録画秒数を指定する必要があります。

デメリット

オプションの意味がわかりにくい

オプションをアルファベットで指定するため、コマンドを見返した際にどのような設定になっているかを理解するのが面倒です。

コマンドで「screencapture -help」と入力すれば、各オプションの解説は表示されますが、英語で簡素な解説なのが難点です。

方法6:Safari.app

MacにデフォルトでインストールされているSafari.appを使ってスクリーンショットを撮る方法です。

使い方

Safariの設定を開き、詳細タブの「Webデベロッパ用の機能を表示」を有効にします。

Safariで撮影したいページを開いている状態で、開発メニューの「Webインスペクタを表示」を選択します、

Webインスペクタの要素タブを開きます。

画面左上にあるhtmlの行を右クリックして「スクリーンショットを取り込む」を選択します。

ファイル名と場所を指定して保存します。

ページの作りによっては、スクロールしないと表示されないコンテンツもあるので、全体がうまく撮影できない場合は、スクリーンショットを撮る前に一番下までスクロールさせるとうまくいく場合があります。

html以外の部分を選択してスクリーンショットを撮ることで、ページの一部分だけを撮影することもできますが、狙った部分を選択するためには多少Webの知識が必要になります。

メリット

スクロール範囲をまとめて1画像にできる

スクロールで隠れてるエリアもまとめて1枚の画像にすることができます。

デメリット

WEBページのみ撮影可能

Safariで開く必要があるため、WEBページ以外では使えません。

WEBページの作りによってはうまく撮れない

スクロールの位置によって動的にレイアウトが変わる場合など、WEBサイトの作りによっては、見た目と画像に違いが出てしまい綺麗にスクリーンショットが撮れない場合があります。

まとめ

それぞれの方法でできることを大まかに整理するとこうなりました。

方法ファイル名指定保存場所指定クリップボードタイマースクロール撮影
キーボードショートカット×××
スクリーンショット.app××
ショートカット.app×
Automator.app×
screencaptureコマンド×
Safari.app××

初期設定は少し面倒ですが、screencaptureコマンドをショートカット.appに登録してメニューバーから実行する、という方法が使い勝手が良さそうですね。

以上、Macの標準機能でスクリーンショットを撮る方法でした。

Macで使えるコントラストを数値化できるフリーソフトMacで使えるコントラストを数値化できるフリーソフト
Macでタイミング良くスクリーンショットを撮る方法Macでタイミング良くスクリーンショットを撮る方法