Skip to main content

File upload size limits

43 upload and attachment limits for email, chat, cloud storage, social networks, web servers and frameworks. Every row links to the vendor’s own documentation. Last verified 2026-09-27.

Exact bytes treat “MB” as 1,048,576 bytes unless the vendor says otherwise. Use the “Test” links to download a file 1 byte over the limit.

Email

ServiceLimitExact bytesTest
GmailEmail attachments (total per message)Larger files are sent as Google Drive links. Workspace admins can set their own limit.Official source 25 MB26,214,4001 byte over →
Outlook.comEmail attachmentsFiles shared through OneDrive can be up to 2 GB. One older Microsoft article still says 20 MB.Official source 25 MB26,214,4001 byte over →
Yahoo MailEmail attachments (total per message)Official source 25 MB26,214,4001 byte over →
MailchimpContent Studio imagesOther file types: 10 MB.Official source 1 MB1,048,5761 byte over →

Chat & messaging

ServiceLimitExact bytesTest
WhatsAppDocuments / filesOfficial source 2 GB2,147,483,648Too large to generate
TelegramAny file (free)Official source 2 GB2,147,483,648Too large to generate
Telegram PremiumAny fileOfficial source 4 GB4,294,967,296Too large to generate
Discord (free)File attachmentsDiscord says it is experimenting with limits, so some accounts may see a different cap.Official source 20 MB20,971,5201 byte over →
Discord Nitro BasicFile attachmentsOfficial source 50 MB52,428,8001 byte over →
Discord NitroFile attachmentsOfficial source 500 MB524,288,0001 byte over →
SlackFile uploadOfficial source 1 GB1,073,741,824Too large to generate
Facebook MessengerFiles in chatsRaised from 25 MB in April 2024.Official source 100 MB104,857,6001 byte over →
Zoom Team ChatFile sent in chatAdmins can set a lower limit.Official source 1 GB1,073,741,824Too large to generate
Microsoft TeamsFile upload (stored in SharePoint/OneDrive)Official source 250 GB268,435,456,000Too large to generate

Cloud storage & productivity

ServiceLimitExact bytesTest
Google DriveSingle file (non-Google formats)Files converted to Google Docs: 50 MB; Sheets/Slides: 100 MB.Official source 5 TB5,497,558,138,880Too large to generate
DropboxSingle fileBrowser uploads above 375 GB may time out — use the desktop app.Official source 2 TB2,199,019,061,248Too large to generate
OneDrive / SharePointSingle fileOfficial source 250 GB268,435,456,000Too large to generate
Notion (Free)File uploadOfficial source 5 MB5,242,8801 byte over →
Trello (Free)Card attachment from computerPaid plans: 250 MB.Official source 10 MB10,485,7601 byte over →
AWS S3Single PUT uploadMultipart uploads allow objects up to 50 TB.Official source 5 GB5,368,709,120Too large to generate

Social & video

ServiceLimitExact bytesTest
X (Twitter)ImageAnimated GIF: 15 MB.Official source 5 MB5,242,8801 byte over →
LinkedInDocument post (PDF, DOCX, PPTX)Up to 300 pages.Official source 100 MB104,857,6001 byte over →
YouTubeVideo uploadOr 12 hours, whichever is less.Official source 256 GB274,877,906,944Too large to generate
ShopifyProduct imageProduct video: 1 GB.Official source 20 MB20,971,5201 byte over →
WordPress.comMedia uploadAlso limited by remaining storage on your plan.Official source 2 GB2,147,483,648Too large to generate

Developer platforms

ServiceLimitExact bytesTest
GitHubFile added in the browserOfficial source 25 MiB26,214,4001 byte over →
GitHubFile in a git push (hard block)Warns above 50 MiB; use Git LFS for larger files.Official source 100 MiB104,857,6001 byte over →
GitHubRelease assetOfficial source 2 GiB2,147,483,648Too large to generate
GitLabComment attachments (default)Configurable on self-managed instances.Official source 100 MB104,857,6001 byte over →
Jira CloudAttachment (default)Admins can raise it to 2 GB.Official source 1 GB1,073,741,824Too large to generate

Forms & learning platforms

ServiceLimitExact bytesTest
TypeformFile Upload questionOfficial source 10 MB10,485,7601 byte over →
Canvas LMSFile uploadDefault course quota is 500 MB.Official source 5 GB5,368,709,120Too large to generate

Web servers & hosting

ServiceLimitExact bytesTest
Nginxclient_max_body_size (default)Over the limit returns 413 Request Entity Too Large.Official source 1m1,048,5761 byte over →
Apache HTTP ServerLimitRequestBody (default since 2.4.54)Was unlimited in 2.4.53 and earlier.Official source 1 GiB1,073,741,824Too large to generate
IISmaxAllowedContentLength (default)Over the limit returns 404.13.Official source 30,000,000 bytes30,000,0001 byte over →
Cloudflare (Free/Pro)Request body through the proxyBusiness: 200 MB.Official source 100 MB104,857,6001 byte over →

Framework defaults

ServiceLimitExact bytesTest
PHPupload_max_filesize (default)Official source 2M2,097,1521 byte over →
PHPpost_max_size (default)If exceeded, $_POST and $_FILES are empty.Official source 8M8,388,6081 byte over →
Express (body-parser)json() / urlencoded() limit (default)Over the limit returns 413.Official source 100kb102,4001 byte over →
DjangoDATA_UPLOAD_MAX_MEMORY_SIZE (default)Excludes file uploads themselves.Official source 2.5 MB2,621,4401 byte over →
ASP.NET Core KestrelMaxRequestBodySize (default)Official source 30,000,000 bytes30,000,0001 byte over →
Spring Bootmultipart max-file-size (default)Official source 1MB1,048,5761 byte over →
Spring Bootmultipart max-request-size (default)Official source 10MB10,485,7601 byte over →

How to use these limits in tests

  1. Find the limit your system (or the service you integrate with) enforces.
  2. Upload a file exactly at the limit, then one byte over — the “Test” link generates the second one.
  3. Check that the over-limit upload fails with a clear message, not a timeout or a 500 error.

Ready-made sizes: test files from 100 KB to 100 MB. Unsure whether “5 MB” means 5,000,000 or 5,242,880 bytes? Use the file size calculator.

Found an outdated limit?

Limits change often. Email hello@dummyfilegenerator.com with the official link and we’ll update the table. You’re welcome to cite or reuse this table with a link back to this page.