Web ページの画像をまとめて集めて、Mac の「写真」へそのまま取り込む
最終更新日: 2026-08-24
Safari で保存できるのは 1 枚ずつで、スクロールして初めて読み込まれる画像は右クリックのメニューにすら出てきません。Emerald Tools は macOS 14.0 以降のメニューバーアプリで、その Safari 拡張機能が今見ているページを走査し、見つかった画像をピクセル寸法つきのサムネイル一覧にして、選んだぶんだけを Mac 上のアプリへ渡します。アプリはそれをダウンロードし、「写真」のアルバムへ一気に取り込みます。アップロードは一切ありません。拡張機能が読むのは開いているそのタブだけで、ファイルはサイトからお使いの Mac へ直接届きます。
手作業でページから保存する場合
- Safari では右クリック 1 回につき 1 枚です。「イメージを保存」を選び、フォルダを指定し、次の 1 枚でまた同じことを繰り返します。
- ページに何があるかを一覧してくれるものはありません。スクロールして初めて現れる画像、picture 要素の中の画像、CSS の背景として使われている画像は、そもそもメニューに出てきません。
- 保存先は Finder なので、「写真」へ入れるにはもう一度、別の取り込み作業が必要になります。
Emerald Tools の画像コレクター
- ページ全体を 1 回で走査します。遅延読み込みの画像が現れるように自動でスクロールし、結果をピクセル寸法つきのサムネイル一覧で見せます。
- 指定した幅・高さに満たない画像を落とすので、アイコンや余白用の画像が一覧に混ざりません。
- 選んだぶんを Mac 上のアプリへ渡し、アプリがダウンロードして、指定した「写真」のアルバムへ取り込みます。
- 取り込みの前にアニメーション WebP を MP4 へ変換します。静止画で「写真」が受け付けなかったものは PNG に変換して入れ直します。
Web ページの画像を「写真」へ取り込む手順
- Safari で拡張機能を有効にするMac App Store から Emerald Tools を入手し、一度起動します。次に Safari の設定を開き、「機能拡張」で左の一覧の項目にチェックを入れます。名前は「Emerald Tools」ではなく「Emerald Tools - 画像コレクター」です。Safari は拡張機能を製品名ではなく機能の名前で並べるためです。ここに出る Safari 自身の権限説明も読んでおく価値があります。動作するのは現在のタブのページに対してだけで、しかも拡張機能を使ったときだけ、と書かれています。

- ページを開いてスキャンする画像を集めたいページを開き、Safari のツールバーにある Emerald Tools のアイコンをクリックします。ポップアップは空の状態で開き、「スキャン」を押すようにとだけ書かれています。スキャン中はページが上から下まで自動でスクロールします。これは意図的な動作です。必要になってから読み込まれる画像は、画面に入るまでページの中に存在しないためです。終わると元の位置に戻ります。
- 絞り込んで、必要なものを選ぶ見つかった画像はすべて選択済みのサムネイルとして並び、寸法が分かっているものには下端にピクセル数が入ります。「最小幅」「最小高」に数値を入れると、それより小さい画像が一覧から外れます。0 はそのフィルタを使わないという意味です。「すべて選択」「すべて解除」は表示中の一覧をまとめて切り替え、サムネイルのクリックで 1 枚ずつ切り替えられます。一覧の上には、選択している枚数、フィルタ後に表示している枚数、スキャンで見つかった総数が出ます。

- 選んだものをアプリへ送る一番下の青いボタンには選択枚数が入ります。9 枚なら「9 枚を収集」です。押すと、画像のアドレスの一覧・ページのアドレス・ページのタイトルが Mac 上の Emerald Tools へ渡ります。画像そのものが拡張機能を通ることはありません。ボタンが送信結果に変わり、少し経つとポップアップは自動的に閉じます。
- 「写真」のどこへ入れるかを決めるEmerald Tools が前面に出て、コレクターの画面でウィザードが「保存先」から始まります。見出しの右には Safari から届いた枚数が出ます。新規アルバムを作る、新規フォルダとその中にアルバムを作る、既にあるアルバムに追加する、アルバムを作らずライブラリへ入れる、のいずれかを選べます。新規アルバムの名前には収集元ページのタイトルがあらかじめ入っており、たいていはそのまま使える名前になっています。「収集開始」でダウンロードが始まります。

- 実行を待ち、変換されたものを確認する「収集」の段では既定で 3 本ずつダウンロードが進み、ログを見ていられます。集めたファイルの中にアニメーション WebP があった場合は「変換」の段が続き、そのあと確認画面が出ます。収集したものがサムネイルで並び、変換された動画には印が付くので、不要なものの選択を外してから取り込めます。変換するものが 1 つも無かった場合は確認画面を挟まずそのまま取り込みが進み、最後に「読み込み完了!」と、「写真」に入った枚数が表示されます。
拡張機能が読むもの、読まないもの
最初にはっきりさせておくべきなのはスキャンの範囲です。ページを読むブラウザ拡張機能は、本来まさに疑ってかかるべき種類のものだからです。
- 動くのは 1 つのタブに対してだけ、しかも指示したときだけです。 拡張機能が Safari に求めているのは、現在のタブへのアクセス、そのタブでスキャンを実行する権限、そして Mac 上のアプリとの通信路の 3 つです。ポップアップを開いて「スキャン」を押すまで何も起きません。Safari も「機能拡張」の画面で同じことを自分の言葉で書いています。現在のタブのページに対して、拡張機能を使ったときだけ、と。
- 集めるのはアドレスであって画像ではありません。 Safari からアプリへ渡るのは、画像の URL の一覧と、ページのアドレスとタイトルです。ダウンロードはそのあとアプリが、サイトから直接行います。
- 送る先がそもそもありません。 Emerald Tools のアカウントもなく、開発者が運用しているサーバーもなく、アプリにも拡張機能にも解析の仕組みは入っていません。拡張機能とアプリをつなぐキューは、お使いの Mac の中の共有された設定領域です。
- サムネイルはその場で作られます。 ポップアップのプレビューは、ページが既に読み込んでいる画像をブラウザの中で長辺 128 ピクセルまで縮小したものです。どこかから取り寄せているわけではなく、残りもしません。
右クリックでは届かない画像を、どうやって見つけるのか
今どきのページが、すべての画像を同時に抱えていることはまずありません。ギャラリーはスクロールに合わせて画像を出し入れし、レスポンシブなレイアウトは同じ絵を何通りかの大きさで用意してブラウザに選ばせ、装飾用の画像に至っては文書の側から見れば画像ですらありません。CSS で当てられた背景です。
スキャンはそれを前提に作られています。1 画面ぶんずつ、最大 30 画面ぶんまでページを下りながら、最後にまとめてではなく各段階で在庫を取ります。これが効くのは、画面の近くにある間だけ画像が存在するような一覧です。スクロールして戻ったころには、その画像はもう消えています。横にスクロールする領域も同じように、最大 20 画面ぶんまで走査します。走査が終わると、まだ通信中の画像が落ち着くのを待ち、最後にもう一度在庫を取り、スクロール位置を元に戻します。
ページが実際に描いている画像とあわせて、ページが言及しているだけのアドレスも読みます。srcset に並ぶ候補、スクリプトが差し替えるまで本来のアドレスを保持している遅延読み込み用の属性、CSS で指定された背景、SNS プレビュー用の og:image、そして noscript の中に置かれた代替の記述です。こうした参照はたいてい寸法を伴わないので、拡張機能は 1 件につき 1 回、2 秒を上限に取得を試み、寸法を測ってプレビューを作ります。測れなかったものも一覧には出します。スキャンが判断できなかった画像は、見せないより見せたほうがましだからです。
ページから「写真」まで、ひと続きで
「収集」を押した時点で選択がアプリへ渡り、ポップアップの役目は終わります。Mac 側ではアプリがコレクターを開き、お客様にしか答えられない問い(これをどこへ入れるか)まで一気に進み、新規アルバムの名前にはページのタイトルを入れておきます。ほぼ確実に、自分で打ち込んだであろう名前です。
そのあとのダウンロードは、意図的に急がない作りになっています。既定は同時 3 本、1 本終わってから次を始めるまでに 0.5 秒、1 ファイルあたり最大 3 回のリトライで待ち時間は 2 秒・4 秒・8 秒、そして収集元ページを名乗る Referer ヘッダを付けます。自分のページから来たリクエストにしか画像を返さないサイトがかなりの数あるためです。404 はリトライしません。待っても何も出てこないからです。実行中の様子は画面のログに 1 ファイル 1 行で書き出され、サイズと、実際にどの形式だったかが分かります。
形式はアドレスではなくファイルそのもので決まります。ダウンロードした先頭のバイト列から WebP・PNG・JPEG・GIF を判別し、それに合った拡張子で保存します。末尾が .jpg の URL から取得したファイルが、実体が WebP なら .webp として届くのはこのためです。名前と中身が食い違ったファイルで「写真」が詰まることもありません。判別できなかったものだけ、アドレスの拡張子をそのまま使います。
そのあとアニメーション WebP の処理に入ります。MP4 へ変換して元のファイルを削除し、動画が複数できた場合は、それらが同じアニメーションの連続した断片ではないかを調べます。ある動画の最後のフレームと、次の動画の最初のフレームを突き合わせ、一致するものを結合します。断片は残すので結合はやり直せます。取り込みの前に確認画面が出るのはこの場合だけです。収集したものがサムネイルで並び、変換された動画には印が付き、右クリックで QuickTime Player のプレビューが開き、取り込みボタンは選択が残っているものだけを入れます。変換するものが無ければ確認するものも無く、取り込みはそのまま進みます。変換機能は Emerald Tools の中で独立したツールとして設定を持っており、アニメーション WebP を MP4 に変換する手順は別のガイドで扱います。
サイトに拒まれたとき
ページの画像をまとめて集めるということは、人が閲覧しているときよりも短時間に多くのリクエストを出すということで、それを止めにかかるサイトもあります。アプリは 3 つの兆候を見ています。403、503、そして見落としやすいのが、ステータスは 200 なのに内容が HTML で返ってくる場合です。ボット判定が、求めた画像の代わりに確認ページを見せると決めたときの返り方です。
これが 3 回続くと、残りを最後まで擦り切らせて全部失敗させるのではなく、実行を一時停止します。通知が出て Dock アイコンが注意を促し、アプリはサインインや判定の通過ができるようにサイトをシート内で開くことを提案します。「完了」を押せば、いま確立したセッションで再開します。弾かれたファイルは切り捨てられず、キューへ戻ります。ダウンロード済みのものはそのまま残ります。
レート制限の厳しいサイトから集める場合は、同時接続数が調整の効くつまみです。アプリ自身も 5 本を超えると制限を招く可能性があると警告します。下げて困るのは所要時間だけです。
仕様と制限
以下はすべて現行バージョンの挙動で、計画ではありません。
- Safari での表示名: 「Emerald Tools - 画像コレクター」。Safari の設定の「機能拡張」に並びます。
- 拡張機能の権限: 現在のタブ、そこでスキャンを実行すること、アプリとの通信路。他のタブへの常時アクセスも、対象サイトの事前指定もありません。
- スキャンが読むもの: img 要素と遅延読み込み用の属性、img と picture の srcset の候補、CSS の背景画像、og:image、noscript の中の img 要素。
- 読まないもの: http と https 以外のアドレス(埋め込みのデータ URI を含む)。同じアドレスは 1 件にまとめます。
- スキャンの範囲: ページを下方向へ最大 30 画面ぶん、横にスクロールする領域は 1 つにつき最大 20 画面ぶん。
- サムネイル: ブラウザの中で長辺 128 ピクセルに縮小して生成。ページが寸法を示さなかった画像は、1 回だけ、2 秒を上限に取得し直して測ります。
- サイズフィルタ: 「最小幅」「最小高」をピクセルで指定。0 でそのしきい値は無効。寸法が分からない画像は残します。
- アプリへ渡すもの: 選択した画像のアドレス、ページのアドレス、ページのタイトル。画像そのものは渡しません。
- キュー: 拡張機能とアプリの間の受け渡しは Mac の中で行うので、アプリが終了していても収集でき、次回起動時に拾われます。
- ウィザード: 「保存先」「収集」「変換」の 3 段。自動変換を切ると「変換」の段は出ません。
- 保存先: 新規アルバム、新規フォルダとその中のアルバム、既存フォルダの中の新規アルバム、既存アルバム、アルバムなしのライブラリ。
- ダウンロード: 既定は同時 3 本(1〜10 で変更可)、1 本終わってから次を始めるまで 0.5 秒、収集元ページを名乗る Referer ヘッダ、1 ファイル 60 秒でタイムアウト。
- リトライ: 既定 3 回(0〜10 で変更可)、待ち時間は 2 秒・4 秒・8 秒。404 はリトライしません。
- 一時停止の条件: 403・503・画像の代わりに HTML、のいずれかが 3 回連続。再開すると弾かれたぶんはキューへ戻ります。
- 形式の扱い: WebP・PNG・JPEG・GIF を先頭のバイト列から判別。保存時の拡張子はアドレスではなくファイルに従います。
- 変換: アニメーション WebP から MP4 へ、既定で有効。静止画は変換しません。連続した断片は自動で結合し、元の断片は残します。
- 取り込み: 「写真」へ 50 件ずつ。まとめて失敗した場合は 1 件ずつ再試行し、静止画で受け付けられなかったものは PNG に変換して入れ直します。
- 履歴: 実行ごとにページのタイトル・アドレス・枚数・保存先を記録。直近 50 件かつ 14 日以内を保持し、いつでも消せます。
- 権限: 「写真」ライブラリへのアクセス。取り込みの開始時に要求します。このツールに画面収録やアクセシビリティの権限は不要です。
- 通信先: 収集元のサイトのみ。それ以外はありません。アカウントも解析もサーバーもありません。
- 動作環境: macOS 14.0 (Sonoma) 以降。
よくある質問
スキャンはどんな画像を見つけますか?
通常の img 要素(サイトが遅延読み込みに使う属性も含みます)、img や picture 要素の srcset に並んでいる候補、CSS の背景として指定された画像、SNS 用のプレビューとして宣言されている og:image、そして noscript の中に隠れている img 要素です。拾うのは http と https のアドレスだけで、埋め込みのデータ URI は対象外です。同じアドレスが 2 回見つかった場合は 1 件にまとめます。
スキャン中にページが勝手にスクロールするのはなぜですか?
画面に入るまでページの中に存在しない画像が非常に多いためです。スキャンは 1 画面ぶんずつ、最大 30 画面ぶんまでページを下りながら、各段階で現れたものを回収します。横にスクロールする帯があれば同じように横方向にも走査します。最後に、まだ読み込み中の画像が落ち着くのを待ってから結果を返し、スクロール位置を元に戻します。
「最小幅」「最小高」には何を入れればよいですか?
どちらもピクセル単位のしきい値です。「最小幅」より狭い画像、「最小高」より低い画像が一覧から外れます。0 を入れるとそのしきい値は使われません。初期値はアプリ側の 設定 > コレクター にある「フィルタ初期値」の値が入ります。実際の寸法が分からなかった画像は、落とさずに残します。スキャンが判断できなかったものをしきい値が黙って捨ててしまうことはありません。
サムネイルに寸法が出ていないものがあるのはなぜですか?
その画像の大きさをページが教えていないためです。srcset や CSS の背景として参照されているだけで、画面に描かれていない画像でよく起こります。拡張機能はそうした画像を 1 回だけ取得し直して寸法を測り、プレビューを作ろうとしますが、1 枚あたり 2 秒までです。それでも駄目だった場合、その項目は寸法もプレビューも無いまま一覧に残ります。
拡張機能を開いていないページも読まれますか?
いいえ。拡張機能が Safari に求めている権限は 3 つだけです。現在のタブに対して動作すること、そこでスキャンを実行すること、そして Mac 上のアプリと通信することです。実際に動くのは、ポップアップを開いて「スキャン」を押したときだけです。他のタブへの常時アクセスも、閲覧を見張る常駐処理もありません。送る先もありません。スキャンの結果は同じ Mac の中のアプリへ渡るだけです。
収集するとき、Emerald Tools は起動していないといけませんか?
いいえ。一覧は拡張機能とアプリの両方から見えるキューに残るので、アプリが終了していても、次に起動したときに拾ってコレクターを開きます。起動しているときは届いた時点で前面に出ます。サイドバーの Collector には、取り込みが済んでいない画像の枚数がバッジとして付きます。
集めた画像はどこへ入りますか?
開始前に選んだ場所、つまり新規アルバム・新規フォルダとその中のアルバム・既にあるアルバム・アルバムなしのライブラリのいずれかです。「写真」ライブラリへのアクセス許可は、取り込みが始まる時点で求めます。それより前ではありません。ダウンロードしたファイルはその間だけ一時フォルダに置かれ、あとで消されます。
アニメーション WebP はどう扱われますか?
取り込みの前に MP4 へ変換されます。この動作は既定で有効で、アプリの 設定 > コレクター で切ることもできます。静止画には手を付けません。動画が 2 本以上できた場合、アプリは各動画の先頭と末尾のフレームを比べ、ひと続きの流れに見えるものを結合します。元のクリップは残るのでやり直せます。確認画面で正しいクリップを選び直して結合し直せます。変換機能はそれ自体が独立したツールで、別のガイドで扱います。
途中で収集が止まりました。何が起きたのですか?
サイトから 3 回連続で拒否されると、残りを無駄に消化せずに実行を一時停止します。ここでいう拒否は、403、503、あるいは画像のはずの場所に HTML が返ってきた場合で、最後のものは多くの場合ボット判定です。通知が出て、アプリはそのサイトをシート内で開くことを提案します。サインインするか判定を通したうえで「完了」を押せば、新しいセッションで再開します。拒否されたぶんは失われず、キューへ戻されます。
ファイルは正しい形式で保存されますか?
はい。しかもアドレスの見た目では判断していません。すべてのファイルは先頭のバイト列から WebP・PNG・JPEG・GIF のいずれかを判別し、実体に合った拡張子で保存されます。末尾が .jpg の URL から取得した画像が .webp として届くのはそのためです。バイト列から判別できなかったときにだけ、アドレスの拡張子を使います。
集めた画像は自由に使ってよいのですか?
それはお客様とサイトとの間の問題です。この拡張機能は、ブラウザが既に読み込んだものを機械的にまとめているだけで、画像の権利関係や利用条件を変えるものではありません。収集元サイトの利用条件をご確認のうえ、ご自身が作ったものでない画像は他者の著作物として扱ってください。
Emerald Tools を使うのに必要なものは?
macOS 14.0 (Sonoma) 以降の Mac、拡張機能を動かすための Safari、そして取り込みのための「写真」ライブラリへのアクセス許可です。Emerald Tools は 14 日間の無料トライアル付きのサブスクリプションアプリで、お住まいの地域の最新の条件は App Store の製品ページに表示されます。当社のアカウントは不要で、このツールに関してサインインするものは何もありません。
Emerald Tools を macOS で使う
画像コレクターは Emerald Tools の機能のひとつです。ほかに、複数ディスプレイ対応のライブ壁紙、システムモニタのウィジェット、Google Drive へアップロードするスクリーンショット、claude.ai の使用量ウィジェット、WebP から MP4 への変換があります。メニューバーに常駐し、Dock には出ません。