"Exceeds the Maximum Upload Size for This Site" — Why It Happens and 4 Ways to Fix It
The limit isn't WordPress's — it's PHP's. Your server sets upload_max_filesize, WordPress just reports it. Defaults run from 2 MB on budget shared hosting up to 64 MB or more on managed WordPress hosts.
You can raise it (four ways below, easiest first). But usually you shouldn't. If an image is big enough to trip a sensible limit, it's too heavy to put in front of visitors — raising the limit just lets the problem through instead of fixing it.
Check your current limit
Two places show it:
- Media → Add New. The limit is printed under the upload box: "Maximum upload file size: 8 MB".
- Tools → Site Health → Info → Server. Shows
upload_max_filesizeandpost_max_sizetogether.
Note both values. post_max_size must be at least as large as upload_max_filesize, or the smaller one wins and raising just the first does nothing — a classic reason "I already increased it" doesn't work.
Four ways to raise it
1. Your host's control panel — try this first
Most hosts expose PHP settings directly: cPanel has MultiPHP INI Editor, and managed WordPress hosts almost always have a PHP settings panel. Change upload_max_filesize and post_max_size there.
This is the safest route because it survives updates and won't break your site with a syntax error.
2. php.ini
If you have file access and no panel setting:
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
3. .htaccess (Apache only)
Add to the root .htaccess:
php_value upload_max_filesize 64M
php_value post_max_size 64M
On Nginx or LiteSpeed this does nothing at best, and on some Apache configurations it throws a 500 error. Back the file up first, and if the site goes white, remove the lines.
4. Ask your host
Unglamorous and frequently the fastest. On managed hosting the limit is often deliberately fixed and support can change it in a minute — while nothing you edit yourself will stick.
When raising it is the wrong fix
Here's the part most guides skip. Ask what the file actually is.
| File | Right fix |
|---|---|
| A 3–8 MB image export | Shrink it. Nothing on a web page should weigh this much |
| A large video | Don't self-host. Use YouTube or Vimeo and embed |
| A plugin or theme .zip | Raise the limit — legitimately needed |
| A PDF or downloadable asset | Raise the limit — legitimately needed |
If you're hitting this error on an image, the error is doing you a favour. A 6 MB hero doesn't just upload slowly — it loads slowly for every visitor forever, wrecks your Largest Contentful Paint, and Google measures that.
Why Figma exports are so heavy
If your file came out of Figma, there's a specific reason it's enormous, and it isn't your fault.
PNG is lossless and Figma has no quality slider. PNG stores every pixel exactly. That's ideal for screenshots with crisp text and terrible for photographs, where it can't discard the detail no human can see. Figma's export panel offers no way to trade quality for size — the control simply isn't there.
So a photographic hero exported as PNG at 2x routinely lands between 3 MB and 8 MB. The same image as WebP at quality 80 is usually under 200 KB. Same picture, same dimensions.
| Same 2400px hero photo | Typical size |
|---|---|
| PNG from Figma | ~4–6 MB |
| JPG from Figma (fixed compression) | ~600–900 KB |
| JPG at quality 80 | ~250 KB |
| WebP at quality 80 | ~180 KB |
Figma can't export WebP at all, which is why this gap normally gets closed with a trip through Squoosh. We cover the routes in getting WebP out of Figma.
What the file should actually weigh
| Image | Export width | Target weight |
|---|---|---|
| Full-width hero | 2400–2560px | under 300 KB |
| Blog content image | 1600px | under 150 KB |
| Card / thumbnail | 600–800px | under 60 KB |
Hit these and the upload limit stops being a thing you ever think about. Three settings get you there: WebP, quality 80, and a max width. Full breakdown of the dimensions in the WordPress image size guide.
Fig2WP Image Uploader applies all three during export and shows the resulting file size before it uploads — so an oversized file never reaches WordPress to be rejected in the first place.
Two other limits people confuse this with
The 2560px "big image" threshold
Separate from the upload limit. WordPress downscales any image wider than 2560px and keeps your original as -scaled. It doesn't cause an error — it silently replaces your export with its own resize. Covered in the size guide.
Allowed file types
"Sorry, this file type is not permitted for security reasons" is a different error with a different cause — a MIME allowlist, not a size limit. SVG triggers it by default; a small number of managed hosts still block WebP the same way.
FAQ
Why does WordPress say my file exceeds the maximum upload size?
The file is bigger than PHP's upload_max_filesize on your server. WordPress only reports the limit it's given.
I raised upload_max_filesize and nothing changed.
Check post_max_size too — it must be at least as large, or it caps you. On managed hosting, your edit may also be overridden entirely; ask support.
What's a sensible limit to set?
64 MB covers plugin zips and PDFs comfortably. Going higher rarely helps and makes it easier to put heavy files on your site by accident.
Is a 5 MB image ever acceptable?
On a web page, effectively never. Print-resolution downloads offered as files are the exception — they aren't being rendered in a layout.
Never see this error again
Fig2WP converts to WebP, applies a quality setting and caps dimensions during export, then sends the finished image straight to your Media Library — with the file size shown before upload, so you know it fits before you press the button.