Shrink the file, do not fight the form
If it is a photo: reduce its pixel dimensions first with resize an image, then run it through compress at quality 85. If it is a PDF: run compress a PDF, and if that is not enough, split it into parts. Both tools work inside this tab, so a file that is too large to upload never has to be uploaded to be made smaller.
Which limit did you actually hit?
Three different things can refuse a file for its size, and they behave differently. Knowing which one caught you tells you how much you need to save.
| Where the limit lives | What you see | Common default |
|---|---|---|
| The page itself | Refused instantly, with a friendly message, before any transfer starts | Whatever the developer chose. Often stated next to the button |
| The web server | The progress bar runs, then fails near the end with a bare error | nginx accepts 1 MB by default and answers 413 past that (nginx docs) |
| The application | The upload appears to finish, then the file is simply not there | PHP ships with upload_max_filesize at 2M and post_max_size at 8M (php.net) |
| The mail system | A bounce, or the mail app refuses to attach the file at all | See email attachment limits |
That 413 is a real HTTP status code. It was called "Request Entity Too Large" in RFC 2616, "Payload Too Large" in RFC 7231, and is "Content Too Large" in RFC 9110, so you will meet all three names depending on how old the software is. Either way it means the same thing: the server stopped reading.
Photos and images, in order of what saves most
- Resize before anything else. Open resize an image and set a maximum width. 1920 pixels is plenty for most things viewed on a screen; 1000 is plenty for most upload forms. This is the single largest saving available and nobody can see it.
- Then compress. Compress JPG and PNG shows the real before and after bytes for each file, including when the result comes out bigger. Start at quality 85 and drop to 75 if you still need room.
- Change format if the subject suits it. A photograph saved as a PNG is enormous for no benefit. PNG to JPG often takes such a file down by most of its size in one step.
- iPhone photo? It is probably HEIC, which many forms will not take anyway. HEIC to JPG converts it, and you can lower the quality in the same pass.
- Not sure which format wins. The image format benchmark encodes your own file as JPG, WebP and PNG and reports the actual byte counts, instead of quoting an average from somewhere else.
PDFs
- Compress it. Compress a PDF rewrites the file and reports what it saved.
- Split it. If one document is over the limit, split a PDF into page ranges and send them in sequence. Say in your message how many parts there are.
- Rebuild a scan. A PDF made of scanned pages is really a stack of photographs in a wrapper, and almost all of its weight is in those images. Compressing the images first and then using images to PDF gets far further than compressing the finished document.
One limit worth knowing: re-compressing every image buried inside an existing PDF is a much harder job than rewriting the file, and the PDF compressor here does only the second. For a heavy scan, the rebuild route above is the one that works.
Why the limit is there at all
It is rarely meanness. A server that accepts any size of upload is a server that anybody can fill up, or tie up, from a laptop. The defaults are deliberately small for that reason: nginx's one megabyte and PHP's two are starting points chosen to be safe, and an nginx or PHP site that accepts larger files has had somebody raise them on purpose.
There are running costs behind it too. Storage, bandwidth and the memory used while a request is in flight all scale with what people send, and a request that takes two minutes to arrive is holding a connection open the whole time. A limit is the cheapest way to keep one visitor's giant file from degrading the site for everyone else.
Then there is the quiet reason: most files people upload are far bigger than they need to be. The limit is often doing the sender a favour.
25 MB on disk is not 25 MB in an email
If the thing refusing your file is email, the number in the error is not measuring what your file manager measures. Attachments are encoded into plain text before they travel, and that encoding makes them bigger. Google states its receiving limits are "the limit after encoding, which adds about a 37% increase" (Google Workspace admin help), and Microsoft describes the same effect as a 33% translation encoding increase on mail leaving its network (Exchange Online limits).
The practical version: aim about a quarter under whatever number you were given. A 20 MB file can fail a 25 MB cap. There is more detail, and a table of who allows what, on email attachment too large.
When it still will not fit
- Send a link instead of a file. Gmail does this for you automatically once you cross its limit, and Gmail's and Outlook's own help pages recommend it. A link's ceiling is far higher than an attachment's (Outlook.com allows 2 GB from OneDrive).
- Cut the dimensions further, not the quality. At low quality settings a JPG starts showing blocky patches in skies and skin; where that begins depends on the encoder and the picture. Going from 1920 pixels wide to 1200 costs almost nothing anyone will notice and saves considerably more.
- Send fewer files. Twenty photos as twenty attachments will usually breach a limit that one combined PDF, made with images to PDF and then compressed, sails under.
- Crop. Half a photograph is half the pixels. Crop an image to the part that matters.
- Ask what they actually need. Identity checks, insurance claims and job applications almost never need a 12 megapixel original. They need it legible.
One thing worth knowing before you hand a large original to a stranger's server to shrink for you: the whole reason this site works the way it does is that a file that is never sent cannot leak. If the file is a payslip, a passport scan or a contract, that matters more than a few megabytes.
If the size was not the problem
- The form named a format it wanted: file type not supported.
- It was an email that refused it: email attachment too large.
- You are not sure what went wrong: why was my file rejected walks through every common reason.
Frequently asked questions
Last reviewed 2 October 2026