Cloudflare

Cloudflare Workers の圧縮後サイズ上限が撤廃、全プラン共通で非圧縮 64 MiB に

Cloudflare Workers のデプロイ時サイズ制限が変わった。これまでの圧縮後 3 MB(Free)/ 10 MB(Paid)という上限が撤廃され、判定対象は非圧縮バンドルサイズのみ、上限は全プラン共通で 64 MiB になった。Free と Paid で枠が同じになった点が実務上は大きい。デプロイ前の確認は wrangler deploy --dry-run の Total Upload を見る。

ニュース原文を読む ↗

要約

Cloudflare は 2026-09-04、Workers のデプロイ時サイズ制限を変更しました。これまで存在した「圧縮後サイズ」の上限が撤廃され、判定対象が非圧縮のバンドルサイズだけになります。上限は 全プラン共通で 64 MiB です。

従来の仕組みはこうでした。wrangler deploy はコードをバンドルし、圧縮してからアップロードします。Cloudflare 側はその圧縮後のサイズを見て、Free プランで 3 MB、Paid プランで 10 MB を超えるデプロイを拒否していました。つまり開発者は、手元のバンドルサイズではなく「圧縮したらどうなるか」を気にする必要があり、依存を1つ足すたびに圧縮率次第で通ったり落ちたりする、という読みにくさがありました。

今回の変更で、この圧縮後の上限がなくなりました。残るのは非圧縮 64 MiB という単一の基準だけです。しかも Free と Paid で数値が同じになりました。従来は Free(3 MB)と Paid(10 MB)で 3 倍以上の差があったので、無料プランで組んだ構成がそのまま有料プランでも通るという、以前は成り立たなかった前提が成立します。

確認方法も公式に示されています。wrangler deploy --outdir bundled/ --dry-run を実行すると、Total Upload: 259.61 KiB / gzip: 47.23 KiB のような出力が得られます。このうち Total Upload が非圧縮サイズで、64 MiB の判定対象です。gzip の値は参考として表示され続けますが、もはや上限ではありません。

何が変わったか

  • 圧縮後サイズの上限(Free 3 MB / Paid 10 MB)が撤廃された
  • 判定対象は非圧縮バンドルサイズのみになった
  • 上限は 全プラン共通で 64 MiB(Free も Paid も同じ)
  • デプロイ前の確認は wrangler deploy --outdir bundled/ --dry-run の Total Upload を見る
  • 同コマンドの gzip 値は参考表示として残るが、制限としては機能しない
  • 重い依存関係・大きめのフレームワークを含む Worker をデプロイできるようになる

業務インパクト(一般企業向け)

「Workers に載せられるか」の判断基準が、読みやすい単一の数値に変わりました。

これまでサイズ制限は、Workers 採用を検討する際の地味だが実際に効く制約でした。圧縮後 10 MB という枠は、フレームワーク本体に加えて、テンプレート、ロケールデータ、AI SDK、バリデーションスキーマといったものを積み上げると届いてしまう水準です。しかも「圧縮後」で判定されるため、依存を追加した結果どうなるかがデプロイするまで確定しないという不確実さがありました。判定が非圧縮サイズ一本になったことで、--dry-run の Total Upload を CI で監視すれば、それがそのまま合否になります。予測可能性が上がったこと自体が、運用上の価値です。

**CI の設定は見直す価値があります。**サイズを監視しているパイプラインは、gzip 後の値を閾値にしているケースが多いはずです。これは今後、実際の合否と無関係な数値を見張り続けることになります。閾値を Total Upload ベースへ切り替え、64 MiB に対する余裕率で管理する形に直しておくのが妥当です。

**アーキテクチャの選択肢も広がります。**サイズ制限を理由に「この処理は Workers ではなくコンテナ側/別サービス側」と分けていた構成は、再検討の対象になります。ただし、サイズ上限が緩んだことと、実行時のパフォーマンスやコールドスタートが同じであることは別です。64 MiB 近いバンドルを載せられるという話であって、載せるべきという話ではありません。分割の判断は、依然として起動時間と責務の分離で考えるべきです。

Free と Paid が同枠になった点は、検証環境の設計に効きます。従来は無料の検証環境で通った構成が本番の有料プランでも通る保証がない、という逆はあり得ましたが、枠の差が消えたことで検証環境と本番でサイズ起因の差異が出なくなりました。PoC からの移行がひとつ楽になります。

副業・個人活用視点

個人開発への影響は、企業より大きいかもしれません。

Free プランの圧縮後 3 MB という枠は、個人開発では実際にぶつかる壁でした。Astro や Next.js のようなフレームワークをエッジで動かし、そこに AI SDK や Markdown パーサ、画像処理ライブラリを足していくと、無料枠では収まらず「有料プランに上げるか、機能を削るか」の二択になりがちでした。それが Paid と同じ 64 MiB になったので、無料のまま作り込める範囲が一気に広がります。

副業で小規模サイトや LP、社内ツールを受託している場合、「まず Free で作って、トラフィックが増えたら Paid へ」という進め方の障害がひとつ消えます。移行時にサイズ起因で構成を組み直す必要がなくなるためです。見積もりの前提としても説明しやすくなりました。

個人開発で今日からできることとして、wrangler deploy --outdir bundled/ --dry-run を一度流して Total Upload を確認しておくのを勧めます。**過去にサイズを理由に外した依存があるなら、それを戻せるかどうかがその場で分かります。**画像処理、PDF 生成、多言語のロケールデータなど、「入れたかったが諦めた」ものが対象になりやすい領域です。

cloudflare workers wrangler deploy limits