Skip to content

Upload Limits of Major Services

Upload size limits for common web services and cloud storage providers — a reference for designing validation and boundary tests.

Email and messaging

Mail and chat services cap attachment size. Gmail and Outlook both settle on 25 MB, but Base64 encoding adds overhead, so the file you can actually send is somewhat smaller.

Service Limit Notes Test file
Gmail 25MB Anything over 25 MB is turned into a Google Drive link automatically 24.9MB / 25MB / 25.1MB
Outlook 25MB Up to 150 MB on Microsoft 365 (set by the administrator) 24.9MB / 25MB / 25.1MB
LINE 50MB Video is capped at five minutes; images are compressed on send 50MB
Discord (free) 25MB Up to 500 MB with Nitro 24.9MB / 25MB / 25.1MB
Discord Nitro 500MB Nitro Basic allows 50 MB -
Slack 1GB Every plan allows uploads up to 1 GB -

Social and media platforms

Social networks restrict both the format and the size of uploads. Images in particular are usually resized and recompressed, so the original file size is rarely preserved.

Service Limit Notes
Twitter / X (images) 5MB(PNG/JPG) 15 MB for GIFs, 512 MB for video via the browser
Instagram 8 MB (images) 4 GB for video and 4 GB for Reels
Facebook 10 MB (images) 10 GB for video

CMSs and web applications

In WordPress and other CMSs the default upload limit comes from the PHP configuration and the server's own limits. See how to change the WordPress upload limit for the details.

Service / CMS Default limit Notes Test file
WordPress 2MB〜10MB Depends on PHP and the server configuration; can be changed 9.9MB / 10MB / 10.1MB
Shopify 20MB Same for images, video and other files -

Cloud storage and developer services

Cloud storage and developer services generally accept large uploads, but the ceiling for a single request often differs from the ceiling for a multipart upload.

Service Limit Notes
AWS S3 5 GB (single PUT) / 5 TB (multipart) Multipart is recommended above 100 MB
Google Drive 5TB Requires free space on your storage plan
Dropbox 2 GB (web) / 50 GB (desktop app) Up to 350 GB through the API
GitHub 100 MB per file Up to 5 GB with Git LFS; 5 GB is the recommended ceiling for a whole repository
Cloudflare(Free) 100MB 500 MB on Pro, 500 MB on Business, unlimited on Enterprise

How to test an upload limit

Boundary testing is the way to pin down a service's real limit. Try three files — just under, exactly at, and just over the cap — and you can tell whether the validation is precise.

DevLab provides threshold test files at each size, exact to the byte. MD5 and SHA-256 digests are listed alongside them so you can verify integrity after downloading.

Caveats

  • The figures above reflect 2024. Check each service's current documentation.
  • With Base64 encoding you can only send about 75% of the nominal limit — the encoding costs a factor of 4/3.
  • Within one service the limit can differ by plan and by whether you go through the API or the browser.
  • Network conditions and timeout settings can make an upload fail even below the stated limit.