主要サービスのアップロード上限一覧
Webサービスやクラウドストレージごとのファイルアップロード上限サイズをまとめました。開発時のバリデーション設計や境界値テストの参考にご活用ください。
メール・メッセージサービス
メールやチャットサービスでは、添付ファイルのサイズに制限が設けられています。特にGmailやOutlookは25MB制限が標準的ですが、実際にはBase64エンコードによるオーバーヘッドがあるため、実質的な上限はやや小さくなります。
| サービス | 上限サイズ | 備考 | テスト用ファイル |
|---|---|---|---|
| Gmail | 25MB | 25MB超はGoogle Driveリンクに自動変換 | 24.9MB / 25MB / 25.1MB |
| Outlook | 25MB | Microsoft 365では最大150MB(管理者設定) | 24.9MB / 25MB / 25.1MB |
| LINE | 50MB | 動画は5分まで、画像は送信時に圧縮される | 49.9MB / 50MB |
| Discord(無料) | 25MB | Nitroなら最大500MBまで | 24.9MB / 25MB / 25.1MB |
| Discord Nitro | 500MB | Nitro Basic は50MBまで | - |
| Slack | 1GB | 全プランで1GBまでアップロード可能 | - |
SNS・メディアプラットフォーム
SNSでは画像・動画のアップロードに形式やサイズの制限があります。特に画像は自動的にリサイズ・圧縮されるケースが多いため、元のファイルサイズがそのまま保持されるとは限りません。
| サービス | 上限サイズ | 備考 |
|---|---|---|
| Twitter / X(画像) | 5MB(PNG/JPG) | GIFは15MB、動画は512MB(ブラウザ経由) |
| 8MB(画像) | 動画は4GB、リールは4GB | |
| 10MB(画像) | 動画は10GB |
CMS・Webアプリケーション
WordPressをはじめとするCMSでは、PHPの設定やサーバー側の制限により、デフォルトのアップロード上限が決まっています。設定変更の詳細はWordPressのアップロード上限を変更する方法をご覧ください。
| サービス / CMS | デフォルト上限 | 備考 | テスト用ファイル |
|---|---|---|---|
| WordPress | 2MB〜10MB | PHPとサーバー設定に依存。変更可能 | 9.9MB / 10MB / 10.1MB |
| Shopify | 20MB | 画像・動画・ファイル共通 | - |
クラウドストレージ・開発サービス
クラウドストレージや開発者向けサービスでは、一般的に大容量のアップロードに対応していますが、単一リクエストでのサイズ上限とマルチパートアップロード時の上限が異なる場合があります。
| サービス | 上限サイズ | 備考 |
|---|---|---|
| AWS S3 | 5GB(単一) / 5TB(マルチパート) | 100MB以上はマルチパート推奨 |
| Google Drive | 5TB | ストレージプランの空き容量が必要 |
| Dropbox | 2GB(Web) / 50GB(デスクトップアプリ) | APIでは350GBまで対応 |
| GitHub | 100MB(ファイル単位) | Git LFSで最大5GBまで対応。リポジトリ全体は5GB推奨 |
| Cloudflare(Free) | 100MB | Proプランは500MB、Businessは500MB、Enterpriseは無制限 |
アップロード上限のテスト方法
サービスのアップロード上限を正確にテストするには、境界値テストが有効です。上限のちょうど手前、ちょうど、直後の3パターンのファイルでテストすることで、バリデーション処理の正確性を検証できます。
DevLabでは、各サイズに対応したしきい値テスト用ファイルをバイト単位の正確なサイズで提供しています。MD5・SHA-256ハッシュ値も併記しているため、ダウンロード後の整合性確認にもご利用いただけます。
注意事項
- 上記の制限値は2024年時点の情報です。各サービスの最新仕様をご確認ください。
- Base64エンコードを使用する場合、実際に送信できるファイルサイズは約75%になります(4/3倍のオーバーヘッド)。
- 同一サービスでもプランやAPI経由かブラウザ経由かで上限が異なる場合があります。
- ネットワーク環境やタイムアウト設定により、上限以下でもアップロードに失敗する場合があります。