テストファイル

PNG のサンプル画像

PNG のテスト用画像を、10 KB〜100 MB の容量ちょうど、 または任意のバイト数で無料ダウンロードできます。その場で生成し、ハッシュは固定。会員登録は不要です。

PNG サンプル画像の中身(120×120px)
中身の実物(120×120px)
形式PNG(image/png)
実寸120 × 120 px(全サイズ共通)
容量10 KB〜100 MB・任意サイズ
最小1,228 バイト

サイズを選んでダウンロード

容量バイト数ダウンロードMD5SHA-256
10 KB10,240sample-10kb.png7084088bed…7442450c03…
100 KB102,400sample-100kb.png579fc17e8f…dcf90bb950…
500 KB512,000sample-500kb.png22677b281a…dd3e62856a…
1 MB1,048,576sample-1mb.png6505cddc85…318794dd94…
5 MB5,242,880sample-5mb.pnga1792ac0ae…550e9af7ab…
10 MB10,485,760sample-10mb.png4f279ac567…b4e3613dc3…
25 MB26,214,400sample-25mb.png82ae9d71f7…bef40cfbad…
50 MB52,428,800sample-50mb.png83911bc54a…0c1ed2be25…
100 MB104,857,600sample-100mb.png80302ffe61…2a34b0e88d…

ハッシュはクリックで全桁をコピーできます。事前計算した固定値で、ダウンロードした実ファイルと一致します。

任意のサイズで作る

一覧に無い容量(60MB・51MB・15MB など)もその場で作れます。上限は 100 MB。

ダウンロード

ちょうど 62,914,560 バイト の PNG(sample-62914560.png)を作ります。

PNG という形式の特徴

可逆圧縮なので、開いて保存し直しても画質が落ちません。透過(アルファチャンネル)を扱えます。スクリーンショット・ロゴ・線画に向き、写真では JPG より大きくなりがちです。

どうやって「ちょうど」にしているか

IEND の直前に私設の補助チャンクを差し込んで容量を合わせています。PNG の仕様では知らない補助チャンクは読み飛ばすと決まっているので、画像としては普通に表示されます。

そのため、容量を変えても見える画素は変わりません。アップロード上限・転送・保存の確認には最適ですが、画素数そのものに依存する処理(リサイズの負荷、メモリ上の展開サイズ)の確認には向かない点に注意してください。 画素数そのものが大きい画像が必要なら、4K・8K の実寸で作った画像テストパターンを使ってください。

容量ごとの目安

容量現実の目安実際に当たりやすい上限・設定
10 KBアイコンや favicon 1 個、API のレスポンス 1 件、ログ数十行がだいたいこのくらいです。この容量で弾かれる設定はまずありません。上限まわりではなく、拡張子チェックや MIME 判定だけを切り分けたいときに向きます。
100 KBWeb に載せる写真 1 枚を圧縮したあとが、だいたいこの辺りに収まります。ページの HTML と CSS を合わせたサイズにも近い容量です。画像アップロードの上限を 100KB に絞っているフォームはあり、その境界を試すのに使えます。転送量より、リサイズ処理そのものの確認が主目的になる容量です。
500 KBスマートフォンの写真を Web 用に縮小した 1 枚ぶんです。画像アップロードの上限を 500KB に設定しているサービスもあります。アイコンやプロフィール画像の上限として 500KB を採る設計はよくあります。上限ちょうどを通すか弾くかは実装で割れます。
1 MBメール添付でも軽い部類です。フォームの画像アップロード上限としてよく設定される値でもあります。nginx の client_max_body_size は既定が 1MB です。設定を変えていないリバースプロキシの後ろにアプリを置くと、ちょうどこの辺りから 413 Request Entity Too Large が返り始めます。
5 MBスマートフォンで撮った写真をそのままアップロードすると、だいたいこのくらいになります。PHP の既定は upload_max_filesize が 2MB、post_max_size が 8MB です。5MB のファイルは前者だけを超えるので、「設定を 1 つ直したのにまだ通らない」という事故が起きやすい容量です。
10 MB添付ファイルの上限としてよく設定される値です。この辺りから転送時間とタイムアウトが現実の問題になります。アプリ側は受け付けても、前段のリバースプロキシやロードバランサが先に切ることがある容量です。413 がどの層から返っているのかを確かめるのに向きます。
25 MBGmail の添付上限として広く知られている値です。「25MB まで」と書かれた仕様で、ちょうど 25MB を含むのかどうかは実装で割れます。Gmail の添付上限が 25MB で、これを超えるとファイルは Google ドライブのリンクに置き換えられます。添付として送れる最後の容量帯です。
50 MB一般的なアップロード上限としては大きい部類で、分割アップロードを検討し始めるサイズです。GitHub は 50MB を超えるファイルをプッシュすると警告を出し、100MB を超えると拒否します。50MB はその警告がちょうど始まる容量です。
100 MBGitHub が 1 ファイルに課している上限がちょうど 100MB です。この容量を単発で扱えるかどうかは、実装の作りがはっきり出ます。GitHub の 1 ファイル上限がちょうど 100MB で、これを超えるものは Git LFS に逃がす必要があります。HTTP でも一括読み込みが現実的でなくなる境目です。

コマンドで取得

一覧のサイズ(10 MB)
curl -o sample-10mb.png https://naqto.com/api/dl/image/png/10mb/
任意サイズ(例: 60MB = 62,914,560 バイト)
curl -o sample-62914560.png https://naqto.com/api/dl/custom/image/png/62914560/

ほかの形式: JPG / GIF / WebP / アップロード上限を 1 バイト単位で確かめるなら 境界値のテストファイル

よくある質問

このPNG画像は実際に開けますか?

はい。PNG として正しい画像で、ビューアやブラウザで開けます。見える画素はどの容量でも同じ 120×120px で、容量は PNG の仕様上「読み飛ばされる領域」で調整しています。画素数の大きい画像が欲しい用途(リサイズの負荷確認など)には向きません。

一覧に無い容量(例: 60MB)のPNGも作れますか?

はい。上の「任意のサイズで作る」から、1,228 バイト以上・100MB 以下の好きなバイト数で作れます。1MB は 1,048,576 バイト(1024×1024)で計算します。

同じ URL なら毎回同じファイルになりますか?

はい。その場で決定論的に生成するので、同じ URL は常に同じ中身・同じハッシュです。一覧のサイズは MD5/SHA-256 を掲載しているので、ダウンロードの破損チェックにも使えます。