Home / Fix a Problem / Something Looks Broken / Media upload failing - permissions & limits

A media upload can fail for several distinct reasons that all produce a similarly unhelpful error — the server’s upload size limit set lower than your file, incorrect write permissions on the uploads directory, a full disk quota, or a security plugin blocking certain file types — and the actual error message WordPress shows rarely says which one it actually is. Two sites showing the identical “unable to upload” message can have completely different root causes, which is why working through the possibilities systematically tends to find the real one faster than guessing at the most common cause first.

Before you buy, one quick check

Read-only. Go to Media → Add New and look at the “Maximum upload file size” figure WordPress displays on that screen.

If your file is larger than that limit, that’s a specific, fixable server configuration issue, distinct from a permissions or quota problem, and worth knowing before you order.

Try uploading a small, unrelated test image too, since a small file failing alongside a large one points away from a size limit and toward permissions, quota, or a security block instead. Delete it afterward either way — it’s only there for the comparison.

Checking your hosting account’s storage usage against its plan limit, if that information is visible to you, is also worth doing before ordering, since a quota genuinely at capacity is a hosting conversation rather than something we can configure around.

MED-012

Media upload failing - permissions & limits

Media uploads fail with a vague error. We find whether it's a size limit, permissions, quota, or a security block, and fix it.

$41.53 delivered in 48 hours
Needs WP admin login, SFTP access and Hosting panel. Create a limited sub-account — we never ask for your own password.
  • Full backup taken before we start
  • If we can’t fix it, you get your money back
  • We never ask for your own password
Why this costs $49. An hour of a capable WordPress developer’s time runs about $82 in the UK, $100 in the US and $105 in the Gulf, and for anything urgent a two-hour minimum is normal. This is $49 for up to 45 minutes of hands-on work, with a full backup taken before we start. 2026 market rates.

This or something else?

File size is under the stated limit but the upload still fails This fix covers it
File size exceeds the stated “Maximum upload file size” This fix covers it, a server configuration adjustment
Only certain file types, like PDFs or SVGs, are blocked This fix covers it, likely a security or MIME-type restriction
Uploads work but existing images then show as broken Broken or missing image restoration
The issue only affects one specific user account, not others A user-permissions issue, different from server-level limits

What you are seeing

  • Media uploads failing with a generic “unable to upload” or “HTTP error” message
  • The failure happening consistently, regardless of the file being uploaded
  • Certain file types failing while others upload without issue
  • The problem appearing after a hosting change, plugin update, or approaching storage limits
  • Uploads that fail silently, with no clear on-screen error at all

Common causes

  • A server-configured upload size or memory limit lower than the file being uploaded
  • Incorrect write permissions on the WordPress uploads directory
  • A hosting account’s storage quota reached or nearly reached
  • A security plugin blocking specific file types or extensions by default
  • A misconfigured .htaccess or server rule interfering with the upload process

What we do

  1. Reproduce the upload failure and identify the specific error behind the generic message
  2. Check server-level upload and memory limits against the file sizes you need
  3. Check uploads directory permissions and correct them if misconfigured
  4. Check storage quota and security plugin settings for restrictions
  5. Adjust whichever configuration is responsible, safely and without loosening security unnecessarily
  6. Confirm uploads succeed across the file types and sizes you actually need

What is included

  • The specific cause of upload failure identified and corrected
  • Server or plugin configuration adjusted appropriately
  • Testing with representative file types and sizes to confirm the fix
  • The pre-fix backup, kept for 30 days

Not included

  • Increasing storage quota itself, which is a hosting plan matter between you and your host
  • Permanently disabling security restrictions that exist for good reason, without discussing it first
  • Compressing or resizing your media files for you as an ongoing service
  • Fixing upload issues caused by your own internet connection or browser

Questions about this fix

Can you increase my storage quota if that's the issue?

That's set by your hosting plan, not WordPress configuration — if quota is the cause, we'll tell you plainly and you'd need to speak to your host about upgrading.

Why would a security plugin block a PDF or SVG?

Certain file types can carry embedded scripts or malicious code, so some security plugins block them by default — we'd only loosen that restriction with your explicit go-ahead, weighing the tradeoff.

Is raising the upload size limit safe?

Generally yes within reasonable bounds, though very large limits can affect server performance under heavy simultaneous use — we set it to match what you actually need, not an arbitrarily high number.

Will this fix uploads for all users, or just admins?

We fix the server and permissions-level cause, which applies across all user accounts, unless the issue turns out to be specific to one account's role permissions.

Could this be related to a recent hosting migration?

Very possibly — permissions and configuration details don't always transfer correctly during a migration, which is a common trigger for exactly this kind of failure.

Media upload failing - permissions & limits
$41.53 · delivered in 48 hours · needs WP admin login, SFTP access, Hosting panel

Related fixes

If this is the second time this year

A bad update breaking the site is a symptom of updates not being tested first. Care plans run every update on a staging clone before it reaches your live site, which is the actual fix for this happening again.

See care plans

Your access, your rules

Create a separate admin account for us and delete it when we are done. For anything else, we get in touch and agree a method — never a form field on this site, never by reply to an email.

We back up first, always

Before anything is touched we take a full backup and keep it for 30 days. If a fix goes wrong, we put the site back exactly as it was.

If it is not what you bought

If the problem turns out smaller than what you ordered, we refund the difference. If it is bigger, we stop and send a quote before doing any extra work.

If we cannot fix it

You get back what we received. Diagnosis is on us — you only pay when the problem is actually solved. The payment processor takes its fee before the money reaches us, so we never hold it and it is not ours to return. That is true here as everywhere else.

If it comes back

Reply within seven days of delivery and we put it back on the bench at no cost. The fix is not finished until it holds.

What we are responsible for

If something goes wrong with a fix, our responsibility is limited to what you paid for it. We take a full backup first so mistakes can be undone, and we tell you before doing anything outside what you bought.