画像を50 KBまでに制限するアップロードフォームは、ビザ申請、試験の出願サイト、求人サイトでよく見かけます。制限そのものは動かせませんが、よくある助言——スクリーンショットを撮る、収まるまで切り抜く——は、必要以上に画質を捨てています。
品質より先に寸法を落とす
横4000ピクセルの写真を50 KBに押し込むと、品質をどう設定しても眠い仕上がりになります。JPEGが、誰も見ないディテールの説明に予算を使ってしまうからです。フォームが写真を横600ピクセルで表示するなら、まずその倍あたりまで縮小してください。
理由は算数です。ピクセル1つひとつにバイトがかかります。幅と高さを半分にすればピクセル数は4分の1になり、残ったピクセル1つあたりに使えるバイトはおよそ4倍になります。画像がくっきり見えるか、にじんで見えるかを決めているのは、まさにこのピクセルあたりのバイト数です。
品質の値は探索に任せる
スライダーを少し動かして書き出し直すのは、当てずっぽうです。ほしいのは、制限に収まる中でいちばん高い品質。これは好みの問題ではなく、探索の問題です。
品質パラメーターに対する二分探索なら、数回のエンコードでその答えにたどり着きます。画像圧縮ツールがしているのはこれです。繰り返し符号化しながら範囲を狭め、収まる中でいちばん大きいファイルを残します。収まる中で最大ということは、収まる中でいちばんきれいということです。
中身に合わせて形式を選ぶ
写真はJPEGかWebPです。文字のスクリーンショット、図版、ロゴはPNGです。JPEGを通すと目に見えるにじみが出て、小さくなるどころか大きくなることもよくあります。この線引きの根拠と、AVIFの位置づけは画像形式の選び方にまとめてあります。
50 KBで写真を扱うなら、JPEGです。このサイズでは非可逆のWebPのほうが有利で、JPEGがブロックノイズに費やす分を目や髪のディテールに回せるのですが、ToolZoolはそれを作れません。当サイトのWebP出力は可逆で、人物写真では50 KBには遠く及ばないからです。ここで品質のつまみを持っている出力はJPEGだけで、厳しいサイズ制限に必要なのはまさにそのつまみです。しかも多くの行政系サイトが受け付けるのは結局JPEGなので、他に手を伸ばす前に受付形式の一覧を確認してください。
その探索を代わりにやってくれるのが圧縮ツールです。各回でどんなデコード、リサンプリング、エンコードが走っているかは、ブラウザが画像を圧縮するとき、何が起きているのかでたどれます。
それでも収まらないとき
妥協する前に切り抜きましょう。被写体に寄って切り抜けば、お金を払っていたのに必要ではなかったピクセルが消えます。証明写真なら、頭と肩までに切り詰めるほうが、エンコーダーをどれだけ調整するより仕上がりに効くことがよくあります。ToolZoolはまだ切り抜きに対応していないので、スマートフォンの写真アプリか画像編集ソフトで切り抜いてから、そのファイルを持ってきてください。
切り抜いてもまだ収まらないなら、引っかかっている制限は思っているものとは別かもしれません。45 KBのファイルを弾くフォームは、バイト数以外の何かを見ています。残る3つのチェックについては、アップロードフォームにファイルを弾かれる理由で説明しています。

